Các kiểu dữ liệu của Google Health API

Bảng sau đây chứa danh sách đầy đủ các loại dữ liệu, cùng với một số cột để giúp bạn hiểu cách biểu thị của từng loại trong Google Health API, cũng như phạm vi áp dụng của từng loại.

Trường loại dữ liệu

Bảng các loại dữ liệu của Google Health API bao gồm một số cột trường để giúp bạn hiểu rõ cách trình bày và yêu cầu của từng loại dữ liệu. Các cột này như sau:

Bảng: Nội dung mô tả về các trường kiểu dữ liệu của Google Health API
Trường Mô tả
dataType Giá trị nhận dạng được phân tách bằng dấu gạch nối (ví dụ: active-minutes) được dùng trong URL điểm cuối.
tham số filter Giá trị nhận dạng được phân tách bằng dấu gạch dưới (ví dụ: active_minutes) được dùng làm giá trị cho tham số bộ lọc dataType trong các yêu cầu tổng hợp hằng ngày và tổng hợp.
Loại bản ghi

Cho biết cấu trúc và định dạng của dữ liệu được ghi lại. Về cơ bản, điều này phù hợp với cách biểu thị tài nguyên của các điểm dữ liệu. Các giá trị có thể có là:

  • Interval (Biểu thị các số đo được ghi lại trong một khoảng thời gian.)
  • Sample (Đại diện cho các phép đo tức thời.)
  • Daily (Đại diện cho các phép đo được tổng hợp hoặc ghi lại hằng ngày.)
  • Session (Đại diện cho một khối ghi liên tục, chẳng hạn như một buổi tập thể dục hoặc một phiên điện tâm đồ (ECG).)
  • Food (Đại diện cho một món ăn hoặc thực thể dữ liệu liên quan đến dinh dưỡng.)
Các thao tác có thể thực hiện Liệt kê các phương thức API được hỗ trợ cho loại dữ liệu (chẳng hạn như list, create và rollUp).
Phạm vi (Các) phạm vi OAuth cần thiết để truy cập vào loại dữ liệu.
Hỗ trợ webhook Cho biết rằng loại dữ liệu hỗ trợ thông báo theo thời gian thực bằng cách sử dụng webhook khi dữ liệu mới được đồng bộ hoá.
Hỗ trợ số 0 thực Cho biết rằng loại dữ liệu hỗ trợ ghi lại các giá trị bằng 0 rõ ràng để phân biệt giữa giá trị bằng 0 đang hoạt động (chẳng hạn như không có phút hoạt động) với dữ liệu bị thiếu hoặc chưa được ghi lại.
Độ phân giải lưu trữ Khoảng thời gian ghi hoặc lấy mẫu tối thiểu mà tại đó các điểm dữ liệu được lưu trữ (ví dụ: 1 phút cho steps). Đối với dữ liệu tổng hợp, giá trị này thể hiện windowSize tối thiểu được đề xuất để đảm bảo dữ liệu tổng hợp được phân phối đồng đều mà không có cấu phần dữ liệu khoảng thời gian phụ.
Thiết bị tương thích Danh sách có thể mở rộng gồm các thiết bị thực có thể ghi lại và đồng bộ hoá loại dữ liệu này với API Google Health (bằng ứng dụng Fitbit).

Bảng: Các loại dữ liệu của Google Health API
Loại dữ liệu Các thao tác
có thể thực hiện
Phạm vi
Năng lượng tiêu hao khi vận động
dataType: active-energy-burned
filter parameter: active_energy_burned
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Số phút hoạt động
dataType: active-minutes
filter parameter: active_minutes
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút

Thiết bị tương thích

  • Fitbit Air
  • Fitbit Alta
  • Fitbit Alta HR
  • Fitbit Blaze
  • Fitbit Charge 2
  • Fitbit Charge 3
  • Fitbit Flex 2
  • Fitbit Inspire
  • Fitbit Inspire HR
  • Pixel Watch 4
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Số phút hoạt động cho vùng nhịp tim
dataType: active-zone-minutes
filter parameter: active_zone_minutes
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Mức độ hoạt động
dataType: activity-level
filter parameter: activity_level
Loại bản ghi: Khoảng thời gian
liệt kê, đối chiếu .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Altitude
dataType: altitude
filter parameter: altitude
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Đường huyết
dataType: blood-glucose
filter parameter: blood_glucose
Loại bản ghi: Mẫu
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Lượng mỡ trong cơ thể
dataType: body-fat
filter parameter: body_fat
Loại bản ghi: Mẫu

Thiết bị tương thích

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Lượng calo trong vùng tần số tim
dataType: calories-in-heart-rate-zone
filter parameter: calories_in_heart_rate_zone
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút
rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Thân nhiệt
dataType: core-body-temperature
filter parameter: core_body_temperature
Loại bản ghi: Mẫu
list, get, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Sự thay đổi tần số tim hằng ngày
dataType: daily-heart-rate-variability
filter parameter: daily_heart_rate_variability
Loại bản ghi: Hằng ngày

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Vùng tần số tim hằng ngày
dataType: daily-heart-rate-zones
filter parameter: daily_heart_rate_zones
Loại bản ghi: Hằng ngày
liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Độ bão hòa oxy hằng ngày
dataType: daily-oxygen-saturation
filter parameter: daily_oxygen_saturation
Loại bản ghi: Hằng ngày

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Nhịp thở hằng ngày
dataType: daily-respiratory-rate
filter parameter: daily_respiratory_rate
Loại bản ghi: Hằng ngày

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Tần số tim lúc nghỉ ngơi hằng ngày
dataType: daily-resting-heart-rate
filter parameter: daily_resting_heart_rate
Loại bản ghi: Hằng ngày

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Độ lệch nhiệt độ khi ngủ hằng ngày
dataType: daily-sleep-temperature-derivations
filter parameter: daily_sleep_temperature_derivations
Loại bản ghi: Hằng ngày

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Lượng oxy tối đa hằng ngày
dataType: daily-vo2-max
filter parameter: daily_vo2_max
Loại bản ghi: Hằng ngày

Thiết bị tương thích

liệt kê, đối chiếu .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Khoảng cách
dataType: distance
filter parameter: distance
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Điện tâm đồ (ECG)
dataType: electrocardiogram
filter parameter: electrocardiogram
Loại bản ghi: Phiên

Thiết bị tương thích

danh sách .ecg.readonly
Tập thể dục
dataType: exercise
filter parameter: exercise
Loại bản ghi: Phiên

Thiết bị tương thích

list, get, reconcile, create, update, batchDelete .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Tầng
dataType: floors
filter parameter: floors
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút
reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Đồ ăn
dataType: food
filter parameter: food
Loại bản ghi: Thực phẩm
list, get .nutrition.readonly
.nutrition.writeonly
Đơn vị đo lường thực phẩm
dataType: food-measurement-unit
filter parameter: food_measurement_unit
Loại bản ghi: Thực phẩm

Thiết bị tương thích

list, get .nutrition.readonly
.nutrition.writeonly
Tần số tim
dataType: heart-rate
filter parameter: heart_rate
Loại bản ghi: Mẫu
Độ phân giải của bộ nhớ: 1 giây

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Sự thay đổi tần số tim
dataType: heart-rate-variability
filter parameter: heart_rate_variability
Loại bản ghi: Mẫu

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Chiều cao
dataType: height
filter parameter: height
Loại bản ghi: Mẫu
list, get, reconcile, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Nhật ký về lượng nước uống
dataType: hydration-log
filter parameter: hydration_log
Loại bản ghi: Phiên
list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
Thông báo về tình trạng nhịp tim không đều
dataType: irregular-rhythm-notification
filter parameter: irregular_rhythm_notification
Loại bản ghi: Phiên
danh sách .irn.readonly
Kỳ kinh nguyệt
dataType: menstrual-period
filter parameter: menstrual_period
Loại bản ghi: Khoảng thời gian
create, update, batchDelete .reproductive_health.writeonly
Chất ảnh
dataType: moods
filter parameter: moods
Loại bản ghi: Mẫu
create, update, batchDelete .mindfulness.writeonly
Nhật ký dinh dưỡng
dataType: nutrition-log
filter parameter: nutrition_log
Loại bản ghi: Phiên

Thiết bị tương thích

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .nutrition.readonly
.nutrition.writeonly
Kiểm tra tình trạng rụng trứng
dataType: ovulation-test
filter parameter: ovulation_test
Loại bản ghi: Mẫu
create, update, batchDelete .reproductive_health.writeonly
Độ bão hoà oxy
dataType: oxygen-saturation
filter parameter: oxygen_saturation
Loại bản ghi: Mẫu
Giải pháp về bộ nhớ: 1 phút

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Bản tóm tắt về nhịp thở khi ngủ
dataType: respiratory-rate-sleep-summary
filter parameter: respiratory_rate_sleep_summary
Loại bản ghi: Mẫu

Thiết bị tương thích

liệt kê, đối chiếu .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Lượng oxy tối đa khi chạy
dataType: run-vo2-max
filter parameter: run_vo2_max
Loại bản ghi: Mẫu

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Thời gian ít vận động
dataType: sedentary-period
filter parameter: sedentary_period
Loại bản ghi: Khoảng thời gian

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Cảm biến nhiệt độ trên da v4beta
dataType: skin-temperature-sensors
filter parameter: skin_temperature_sensors
Loại bản ghi: Mẫu

Thiết bị tương thích

danh sách .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly
Ngủ
dataType: sleep
filter parameter: sleep
Loại bản ghi: Phiên

Thiết bị tương thích

list, get, reconcile, create, update, batchDelete .sleep.readonly
.sleep.writeonly
Các bước
dataType: steps
filter parameter: steps
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Dữ liệu về số lượt bơi
dataType: swim-lengths-data
filter parameter: swim_lengths_data
Loại bản ghi: Khoảng thời gian

Thiết bị tương thích

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Triệu chứng
dataType: symptoms
filter parameter: symptoms
Loại bản ghi: Mẫu
create, update, batchDelete .logged_symptoms.writeonly
Thời gian ở vùng tần số tim
dataType: time-in-heart-rate-zone
filter parameter: time_in_heart_rate_zone
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Tổng lượng calo
dataType: total-calories
filter parameter: total_calories
Loại bản ghi: Khoảng thời gian
Giải pháp về bộ nhớ: 1 phút

Thiết bị tương thích

rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Lượng oxy tối đa
dataType: vo2-max
filter parameter: vo2_max
Loại bản ghi: Mẫu

Thiết bị tương thích

liệt kê, đối chiếu .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Trọng lượng
dataType: weight
filter parameter: weight
Loại bản ghi: Mẫu

Thiết bị tương thích

list, get, reconcile, rollup, dailyRollup, create, update, batchDelete .health_metrics_and_measurements.readonly
.health_metrics_and_measurements.writeonly

Các quy tắc ràng buộc đối với truy vấn

Khi truy vấn các điểm dữ liệu, dữ liệu tổng hợp hoặc dữ liệu tổng hợp hằng ngày từ API, hãy lưu ý những quy tắc ràng buộc sau:

  • Yêu cầu về bộ lọc: Một số loại dữ liệu phái sinh chỉ có thể đọc, chẳng hạn như total-calories, yêu cầu bộ lọc chỉ định thời gian bắt đầu của khoảng thời gian (sử dụng thời gian thực tế hoặc thời gian dân sự).
  • Giới hạn phạm vi truy vấn: Điểm cuối tổng hợp dữ liệu hằng ngày và dữ liệu tổng hợp áp dụng giới hạn phạm vi truy vấn tối đa dựa trên loại dữ liệu:
    • Phạm vi truy vấn tối đa là 14 ngày đối với calories-in-heart-rate-zone, heart-rate, active-minutes và total-calories.
    • Phạm vi truy vấn tối đa là 90 ngày đối với tất cả các loại dữ liệu khác.
  • Kích thước cửa sổ tổng hợp: Khi gọi điểm cuối rollUp, thời lượng windowSize phải ít nhất là 1 giây ("1s"). Thời lượng dưới một giây sẽ bị từ chối bằng INVALID_ARGUMENT. Ngoài ra, hãy chọn một windowSize bằng hoặc lớn hơn độ phân giải lưu trữ cơ bản của loại dữ liệu (chẳng hạn như "60s" cho các loại dữ liệu khoảng thời gian 1 phút như steps và distance) để tránh phân phối không đồng đều trên các khoảng thời gian phụ. Để biết thông tin chi tiết, hãy xem phần Cửa sổ tổng hợp và độ phân giải bộ nhớ.

Loại dữ liệu hằng ngày so với loại dữ liệu theo khoảng thời gian

Đối với một số chỉ số sinh lý nhất định, chẳng hạn như Sự thay đổi tần số tim (HRV) hoặc Độ bão hòa oxy (SpO2), API Google Health cung cấp hai loại dữ liệu riêng biệt: phiên bản Hằng ngày và phiên bản Khoảng thời gian. Việc hiểu rõ sự khác biệt giữa hai chỉ số này là mấu chốt để chọn chỉ số phù hợp cho trường hợp sử dụng của bạn:

  • Hằng ngày: Một bản tóm tắt duy nhất, được tổng hợp trước cho cả ngày. Hãy sử dụng bảng này để xem các xu hướng tổng quan và trang tổng quan hằng ngày nhằm tiết kiệm tài nguyên xử lý.

  • Khoảng thời gian: Các phép đo chi tiết, có độ phân giải cao được thực hiện trong suốt cả ngày. Sử dụng báo cáo này để lập biểu đồ về những biến động trong ngày hoặc thực hiện phân tích chuyên sâu theo từng giờ.

Phạm vi cung cấp dữ liệu

Dữ liệu của người dùng chỉ được cập nhật sau khi họ đồng bộ hoá thiết bị theo dõi hoạt động hoặc nhập dữ liệu mới vào ứng dụng Google Health theo cách thủ công. Thiết bị Fitbit và ứng dụng Google Health có thể tự động đồng bộ hoá sau mỗi 15 phút khi ứng dụng Google Health đang mở trên thiết bị di động, đồng thời cả hai thiết bị đều có kết nối dữ liệu đang hoạt động và nằm trong phạm vi kết nối Bluetooth. Nếu người dùng đang theo dõi hoạt động bằng MobileTrack, thì MobileTrack sẽ đồng bộ hoá mỗi giờ miễn là ứng dụng đang mở.

Đang truy vấn dữ liệu trước đây

Một trong những lợi ích cốt lõi của Google Health API là khả năng theo dõi hiệu suất của người dùng và theo dõi các chỉ số sức khoẻ quan trọng của họ trong thời gian dài. Bạn có thể truy vấn dữ liệu của người dùng từ thời điểm dữ liệu đó được ghi lại; API không áp đặt giới hạn hoặc hạn chế nào đối với lượng dữ liệu trong quá khứ mà ứng dụng của bạn có thể sử dụng.

Tuy nhiên, việc truy vấn dữ liệu trong quá khứ vẫn chịu sự điều chỉnh của giới hạn số lượng yêu cầu tiêu chuẩn. Để quản lý độ ổn định của hệ thống và ngăn chặn tải trọng quá mức, Google Health API sử dụng tính năng phân trang tự động với kích thước trang theo điểm cuối cụ thể. Hãy lưu ý các ranh giới và hành vi sau:

  • Phân trang tự động: Nếu bạn truy vấn một khoảng dữ liệu dài, thì API sẽ chỉ trả về trang kết quả đầu tiên cho đến giới hạn kích thước trang của điểm cuối đó, cùng với nextPageToken. Bạn phải sử dụng nextPageToken để yêu cầu các trang tiếp theo.
  • Kích thước trang biến: Giới hạn tối đa phụ thuộc vào điểm cuối và loại dữ liệu. Đối với hầu hết các loại dữ liệu, kích thước trang được giới hạn ở mức tối đa là 10.000. Tuy nhiên, đối với một số loại dữ liệu nhất định như exercise và sleep, kích thước trang mặc định và tối đa được giới hạn ở mức 25. Ví dụ: nếu ứng dụng yêu cầu tất cả dữ liệu giấc ngủ trong 10 năm qua, thì API vẫn chỉ trả về 25 phiên ngủ trên trang đầu tiên.
  • Các quy định hạn chế về phạm vi ngày tổng hợp: Đối với các điểm cuối tổng hợp và tổng hợp dữ liệu (chẳng hạn như rollUp và dailyRollUp), phạm vi ngày truy vấn bị hạn chế dựa trên loại dữ liệu:
    • Phạm vi tối đa là 14 ngày đối với calories-in-heart-rate-zone, heart-rate, active-minutes và total-calories.
    • Phạm vi tối đa là 90 ngày đối với tất cả các loại dữ liệu tổng hợp khác.

Tuỳ thuộc vào lượng dữ liệu trong quá khứ mà ứng dụng của bạn cần, việc truy xuất toàn bộ tập dữ liệu sẽ yêu cầu phân trang tuần tự. Hãy lưu ý điều này khi thiết kế quy trình đồng bộ hoá dữ liệu của ứng dụng.

Để đảm bảo hiệu suất tối ưu và tránh lỗi API, hãy làm theo các nguyên tắc sau khi truy vấn dữ liệu trong quá khứ:

Đồng bộ hoá dữ liệu theo giai đoạn (tải nóng so với tải nguội)

  • Tải "nóng" ban đầu: Chỉ tìm nạp và kết xuất dữ liệu của 7 đến 14 ngày gần đây nhất trong trình tự tải chính. Điều này đảm bảo rằng người dùng thấy dữ liệu ngay lập tức mà không cần chờ các truy vấn chạy trong thời gian dài.
  • Tải "nguội" trong nền: Chuyển việc truy xuất dữ liệu trước đây sang một hàng đợi không đồng bộ, có mức độ ưu tiên thấp hơn hoặc tiến trình nền sau khi giao diện người dùng chính được hiển thị.

Phân đoạn truy vấn để tổng hợp

  • Vì các điểm cuối tổng hợp và tổng hợp hằng ngày thực thi giới hạn phạm vi ngày tối đa (14 hoặc 90 ngày tuỳ thuộc vào loại dữ liệu), nên bạn phải chia nhỏ các truy vấn tổng hợp lớn trước đây thành các khoảng thời gian nhỏ hơn, tuần tự trong các giới hạn này.
  • Gộp hoặc sắp xếp các truy vấn con này một cách an toàn để tuân thủ giới hạn đồng thời và duy trì các chỉ báo tiến trình giao diện người dùng ổn định.

Tận dụng các bản tổng hợp được tổng hợp trước

Tái cấu trúc trang tổng quan và biểu đồ xu hướng để sử dụng các điểm cuối tóm tắt, được tổng hợp trước (chẳng hạn như DailyRollUpDataPoints). Việc này sẽ giảm đáng kể mức hao tổn điện toán trên phần phụ trợ và thời gian truyền mạng đến máy khách.

Xử lý lỗi linh hoạt (thử lại thông minh)

  • Triển khai quy trình xử lý thời gian đợi luỹ tuyến nghiêm ngặt khi gặp phải giới hạn tốc độ (429 Too Many Requests) và lỗi hết thời gian chờ cổng máy chủ (504 Gateway Timeout). Đừng bao giờ thử lại ngay lập tức các tải trọng lớn, không thành công. Việc thử lại ngay lập tức sẽ làm tăng tình trạng tắc nghẽn của phần phụ trợ và làm trầm trọng thêm tình trạng suy giảm hệ thống.

Quyền truy cập của bên thứ ba

Thiết bị Fitbit không thể giao tiếp trực tiếp với các ứng dụng hoặc dịch vụ bên thứ ba. Các thiết bị này được thiết kế để giao tiếp và đồng bộ hoá riêng với ứng dụng Google Health.

Thiết bị sẽ tự động đồng bộ hoá dữ liệu trong suốt cả ngày, bất cứ khi nào bạn mở ứng dụng Google Health hoặc cứ sau 15 phút nếu Bluetooth đang bật và ứng dụng đang chạy ở chế độ nền. Sau khi quá trình đồng bộ hoá này hoàn tất, các dịch vụ bên thứ ba có thể truy cập vào dữ liệu thông qua API Google Health.

Lọc chất lượng dữ liệu và tính hợp lệ

Để cung cấp các chỉ số sức khoẻ đáng tin cậy mà không cần lọc nhiễu tuỳ chỉnh phía máy khách, API Google Health sẽ xác thực dữ liệu đo từ xa của cảm biến và loại trừ các phép đo không hợp lệ trước khi trả về phản hồi:

  • Đối với độ bão hoà oxy trong máu theo phút (oxygen-saturation), API chỉ trả về các chỉ số đã xác thực và xoá các phút được đánh dấu là không hợp lệ do chuyển động của cánh tay, cổ tay lỏng lẻo hoặc điểm tin cậy của cảm biến dưới 50%, cũng như 3 phút trước và sau khi đọc không hợp lệ và các khoảng thời gian hợp lệ riêng biệt ngắn hơn 4 phút. Do đó, phạm vi bao phủ ở cấp độ phút có thể thưa thớt và có thể có khoảng trống. Để biết thông tin chi tiết, hãy xem phần Lọc SpO2 theo phút và tính hợp lệ của dữ liệu.

Tiêu chuẩn về khoảng cách

Khoảng cách tập thể dục, chẳng hạn như elevationGainMillimeters, được đo bằng milimét làm đơn vị tiêu chuẩn vì những lý do sau:

  1. Duy trì độ chính xác của dữ liệu: Lý do quan trọng nhất để sử dụng milimet là đảm bảo chúng tôi không làm mất độ chính xác của dữ liệu mà chúng tôi đọc và cung cấp. Việc sử dụng một đơn vị chi tiết như milimet cho phép chúng ta biểu thị các số đo với độ chính xác cao.
  2. Chuẩn hoá: Milimet là đơn vị chuẩn hoá được thiết kế cho các dịch vụ của chúng tôi. Tính nhất quán này giúp đảm bảo trải nghiệm đồng nhất cho các nhà phát triển tương tác với nhiều phần của API.
  3. Hỗ trợ hệ thống đo lường rộng: Việc sử dụng đơn vị cơ bản như milimet giúp nhà phát triển dễ dàng chuyển đổi sang bất kỳ đơn vị nào khác đã chọn, bất kể họ đang làm việc với hệ thống đo lường hệ mét, hệ đo lường Anh hay hệ thống đo lường khác.

Thời lượng ban ngày thay đổi

Health API ưu tiên xử lý thời gian theo giờ của người dùng để tính đến độ dài ngày thay đổi do Giờ mùa hè hoặc do di chuyển. Mỗi điểm dữ liệu được lưu trữ cùng với cả dấu thời gian UTC thực tế và độ lệch UTC có hiệu lực tại thời điểm diễn ra sự kiện. Điều này cho phép hệ thống:

  • Liên kết sự kiện với một thời điểm chính xác trong thực tế.
  • Sửa thời gian theo bối cảnh địa phương của người dùng để tổng hợp.

Giờ mùa hè

Khi Giờ mùa hè bắt đầu, việc "lùi lại" sẽ dẫn đến một ngày dân sự có 25 giờ và dữ liệu tổng hợp cho ngày đó sẽ chứa dữ liệu của 25 giờ. "Giờ mùa xuân" dẫn đến ngày dân sự 23 giờ, trong đó thời gian chuyển về Giờ chuẩn.

Du lịch

Việc di chuyển qua các múi giờ thậm chí có thể gây ra những biến thể đáng kể hơn về thời lượng thực tế của một ngày dương lịch.

Sử dụng điểm cuối dailyRollUp để điều chỉnh sự khác biệt về múi giờ. Tính năng này tự động phân bổ dữ liệu cho ngày theo lịch mà dữ liệu được ghi lại theo giờ địa phương của người dùng, giúp "ghép nối" ngày một cách hiệu quả bất kể sự thay đổi múi giờ. Để biết thông tin chi tiết và ví dụ, hãy xem phần Tổng hợp theo ngày theo lịch trong hướng dẫn dữ liệu tổng hợp.