Trung tâm trợ giúp HealthyApps
Tiếng Việt
Trung tâm trợ giúp
Trang chính ↗

Tìm chủ đề trợ giúp

Chỉ số sức khỏe - định dạng xuất JSON

Tài liệu cấu trúc chỉ số sức khỏe trong xuất JSON

Cập nhật lần cuối: 31 tháng 10, 2026

Trên trang này
Định dạng tên chỉ số
Cấu trúc Cấu trúc Trường chung
Định dạng chỉ số đặc biệt Định dạng chỉ số đặc biệt Huyết ápNhịp timBiến thiên nhịp timPhân tích giấc ngủĐường huyếtDinh dưỡngHoạt động tình dụcRửa tayĐánh răngTiêm insulin
Tài liệu liên quan

Xuất JSON lưu chỉ số sức khỏe trong mảng metrics.

Định dạng tên chỉ số

Tất cả tên chỉ số trong xuất JSON dùng định dạng snake_case (chữ thường với gạch dưới). Ví dụ:

  • "Step Count" thành "step_count"
  • "Blood Pressure" thành "blood_pressure"
  • "Heart Rate" thành "heart_rate"
  • "Walking + Running Distance" thành "walking_running_distance"

Cấu trúc

Mảng metrics chứa các đối tượng, mỗi cái đại diện một loại chỉ số sức khỏe cụ thể. Hầu hết chỉ số sức khỏe theo cấu trúc chung:

{
  "name": "step_count",
  "units": "count",
  "data": [
    {
      "qty": 8500,
      "date": "2024-02-06 14:30:00 -0800",
      "source": "Apple Watch"
    }
  ]
}

Trường chung

  • name (String): Tên chỉ số sức khỏe ở dạng snake_case (ví dụ "step_count", "heart_rate", "active_energy")
  • units (String): Đơn vị đo (ví dụ "count", "count/min", "kcal")
  • data (Array): Mảng điểm dữ liệu, mỗi điểm chứa:
    • qty (Number): Giá trị số lượng
    • date (Date): Dấu thời gian ở định dạng yyyy-MM-dd HH:mm:ss Z
    • source (String, khi có): Ứng dụng hoặc thiết bị ghi mẫu

Định dạng chỉ số đặc biệt

Một số chỉ số sức khỏe có cấu trúc riêng khác định dạng chung:

Huyết áp

Số đo huyết áp gồm cả tâm thu và tâm trương:

{
  "name": "blood_pressure",
  "units": "mmHg",
  "data": [
    {
      "date": "2024-02-06 14:30:00 -0800",
      "start": "2024-02-06 14:30:00 -0800",
      "end": "2024-02-06 14:30:00 -0800",
      "systolic": 120,
      "diastolic": 80,
      "source": "Health"
    }
  ]
}

Trường:

  • systolic (Number): Số đo huyết áp tâm thu (trên). Xuất đã tóm tắt dùng trung bình các số đo trong nhóm thời gian.
  • diastolic (Number): Số đo huyết áp tâm trương (dưới). Xuất đã tóm tắt dùng trung bình các số đo trong nhóm thời gian.

Nhịp tim

Dữ liệu nhịp tim gồm giá trị thấp nhất, trung bình và cao nhất:

{
  "name": "heart_rate",
  "units": "count/min",
  "data": [
    {
      "date": "2024-02-06 14:30:00 -0800",
      "Min": 65,
      "Avg": 72,
      "Max": 85,
      "source": "Apple Watch"
    }
  ]
}

Trường:

  • Min (Number): Nhịp tim thấp nhất trong khoảng đo
  • Avg (Number): Nhịp tim trung bình trong khoảng đo
  • Max (Number): Nhịp tim cao nhất trong khoảng đo

Biến thiên nhịp tim

Khi Tóm tắt dữ liệu tắt, xuất JSON của Biến thiên nhịp tim (SDNN) có thể gồm các số đo từng nhịp khả dụng. Cần quyền đọc Chuỗi nhịp tim trong Apple Health.

Xuất đã tóm tắt, xuất CSV và Recovery HRV không gồm số đo từng nhịp.

Phân tích giấc ngủ

Cấu trúc dữ liệu giấc ngủ phụ thuộc Tóm tắt dữ liệu bật hay tắt.

Tóm tắt dữ liệu bật

Khi Tóm tắt dữ liệu bật, dữ liệu giấc ngủ được tóm tắt theo ngày. Thời lượng cùng giai đoạn được cộng. Tổng ngủ là asleep, core, deep và REM cộng lại. JSON giữ từng ngày. Trong CSV, nhóm thời gian thô hơn hiện ngày mới nhất trong nhóm đó:

{
  "name": "sleep_analysis",
  "units": "hr",
  "data": [
    {
      "date": "2024-02-06 00:00:00 -0800",
      "totalSleep": 7.5,
      "asleep": 0.5,
      "core": 3.5,
      "deep": 1.5,
      "rem": 2.0,
      "sleepStart": "2024-02-05 23:00:00 -0800",
      "sleepEnd": "2024-02-06 06:30:00 -0800",
      "inBed": 8.0,
      "inBedStart": "2024-02-05 22:45:00 -0800",
      "inBedEnd": "2024-02-06 06:45:00 -0800",
      "awake": 0.0,
      "source": "Apple Watch"
    }
  ]
}

Trường:

  • totalSleep (Number): Tổng thời gian ngủ theo giờ
  • asleep (Number): Thời gian ngủ không có giai đoạn đã ghi, theo giờ
  • core (Number): Thời lượng ngủ core theo giờ
  • deep (Number): Thời lượng ngủ sâu theo giờ
  • rem (Number): Thời lượng ngủ REM theo giờ
  • awake (Number): Thời gian thức theo giờ
  • sleepStart (Date): Khi giấc ngủ thực sự bắt đầu
  • sleepEnd (Date): Khi giấc ngủ thực sự kết thúc
  • inBed (Number): Tổng thời gian trên giường theo giờ
  • inBedStart (Date): Khi bạn lên giường
  • inBedEnd (Date): Khi bạn ra khỏi giường

Tóm tắt dữ liệu tắt

Khi Tóm tắt dữ liệu tắt, các đoạn giấc ngủ riêng được gồm:

{
  "name": "sleep_analysis",
  "units": "hr",
  "data": [
    {
      "date": "2024-02-05 23:00:00 -0800",
      "start": "2024-02-05 23:00:00 -0800",
      "end": "2024-02-05 23:30:00 -0800",
      "startDate": "2024-02-05 23:00:00 -0800",
      "endDate": "2024-02-05 23:30:00 -0800",
      "qty": 0.5,
      "value": "Core",
      "source": "Apple Watch"
    }
  ]
}

Trường:

  • date, start, startDate (Date): Thời gian bắt đầu đoạn ngủ
  • end, endDate (Date): Thời gian kết thúc đoạn ngủ
  • source (String): Ứng dụng hoặc thiết bị ghi đoạn
  • qty (Number): Thời lượng đoạn theo giờ
  • value (String): Trạng thái ngủ — một trong:
    • "Awake"
    • "Asleep" (giai đoạn ngủ chưa phân loại)
    • "In Bed"
    • "Core"
    • "REM"
    • "Deep"
    • "Unspecified"

Lưu ý: "Asleep" chỉ giai đoạn ngủ chưa phân loại (không phải tổng thời gian ngủ). Có thể xảy ra nếu nguồn dữ liệu không hỗ trợ theo dõi giai đoạn ngủ.

Đường huyết

Số đo đường huyết gồm thông tin thời điểm bữa ăn:

{
  "name": "blood_glucose",
  "units": "mg/dL",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "start": "2024-02-06 08:00:00 -0800",
      "end": "2024-02-06 08:00:00 -0800",
      "qty": 95,
      "mealTime": "Before Meal",
      "source": "Health"
    }
  ]
}

Trường:

  • qty (Number): Mức đường huyết
  • mealTime (String): Một trong:
    • "Before Meal"
    • "After Meal"
    • "Unspecified"

Dinh dưỡng

Khi Tóm tắt dữ liệu tắt, các mẫu số lượng dinh dưỡng riêng (ví dụ Dietary Energy hoặc Carbohydrates) có thể gồm chi tiết thực phẩm ghi trong Apple Health. Ví dụ:

{
  "name": "dietary_energy",
  "units": "kcal",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "start": "2024-02-06 08:00:00 -0800",
      "end": "2024-02-06 08:00:00 -0800",
      "qty": 240,
      "source": "Lose It!",
      "foodType": "Boneless, Skinless Grilled Chicken Breast"
    }
  ]
}

Trường:

  • qty (Number): Số lượng chất dinh dưỡng của mẫu
  • foodType (String, tùy chọn): Tên thực phẩm do ứng dụng nguồn ghi, khi có

Khi Tóm tắt dữ liệu bật, tổng dinh dưỡng không gồm foodType.

Hoạt động tình dục

Các mục hoạt động tình dục theo dõi việc dùng biện pháp bảo vệ:

{
  "name": "sexual_activity",
  "units": "count",
  "data": [
    {
      "date": "2024-02-06 00:00:00 -0800",
      "Unspecified": 0,
      "Protection Used": 1,
      "Protection Not Used": 0,
      "source": "Health"
    }
  ]
}

Trường:

  • Unspecified (Number): Số sự kiện trong ngày khi trạng thái bảo vệ không rõ
  • Protection Used (Number): Số sự kiện trong ngày khi đã dùng bảo vệ
  • Protection Not Used (Number): Số sự kiện trong ngày khi không dùng bảo vệ

Xuất đã tóm tắt đếm mỗi ngày lịch. JSON giữ từng ngày. Trong CSV, nhóm thời gian thô hơn hiện ngày mới nhất trong nhóm đó.

Rửa tay

Sự kiện rửa tay theo dõi trạng thái hoàn thành:

{
  "name": "handwashing",
  "units": "s",
  "data": [
    {
      "date": "2024-02-06 12:00:00 -0800",
      "start": "2024-02-06 12:00:00 -0800",
      "end": "2024-02-06 12:00:25 -0800",
      "qty": 25,
      "value": "Completed",
      "source": "Apple Watch"
    }
  ]
}

Trường:

  • qty (Number): Thời lượng theo giây. Xuất đã tóm tắt dùng thời lượng trung bình trong nhóm thời gian.
  • value (String): "Completed" khi phiên dài hơn 20 giây, nếu không "Incomplete"

Đánh răng

Sự kiện đánh răng theo dõi trạng thái hoàn thành:

{
  "name": "toothbrushing",
  "units": "s",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "start": "2024-02-06 08:00:00 -0800",
      "end": "2024-02-06 08:02:10 -0800",
      "qty": 130,
      "value": "Completed",
      "source": "Health"
    }
  ]
}

Trường:

  • qty (Number): Thời lượng theo giây. Xuất đã tóm tắt dùng thời lượng trung bình trong nhóm thời gian.
  • value (String): "Completed" khi phiên ít nhất 2 phút, nếu không "Incomplete"

Tiêm insulin

Các mục tiêm insulin gồm lý do tiêm:

{
  "name": "insulin_delivery",
  "units": "IU",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "start": "2024-02-06 08:00:00 -0800",
      "end": "2024-02-06 08:00:00 -0800",
      "qty": 5,
      "reason": "Bolus",
      "source": "Health"
    }
  ]
}

Trường:

  • qty (Number): Lượng insulin đã tiêm. Xuất đã tóm tắt cộng các lượng trong nhóm thời gian.
  • reason (String): Một trong:
    • "Bolus" (insulin bữa ăn)
    • "Basal" (insulin nền)

Tài liệu liên quan