Metrik kesihatan — format eksport JSON
Dokumentasi untuk struktur metrik kesihatan dalam eksport JSON
Last updated: April 5, 2026
Pada halaman ini
Metrik kesihatan
Metrik kesihatan mewakili pelbagai ukuran dan titik data yang dikumpul oleh apl Apple Health anda dan peranti disambungkan. Dalam eksport JSON, metrik kesihatan disimpan dalam tatasusunan metrics.
Format nama metrik
Semua nama metrik dalam eksport JSON menggunakan format snake_case (huruf kecil dengan garis bawah). Contohnya:
- "Step Count" menjadi
"step_count" - "Blood Pressure" menjadi
"blood_pressure" - "Heart Rate" menjadi
"heart_rate" - "Walking + Running Distance" menjadi
"walking_running_distance"
Struktur
Tatasusunan metrics mengandungi objek, setiap satu mewakili jenis metrik kesihatan tertentu. Kebanyakan metrik kesihatan mengikut struktur biasa:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Medan biasa
name(Rentetan): Nama metrik kesihatan dalam format snake_case (cth. "step_count", "heart_rate", "active_energy")units(Rentetan): Unit ukuran (cth. "count", "bpm", "kcal")data(Tatasusunan): Tatasusunan titik data, setiap satu mengandungi:qty(Nombor): Nilai kuantitidate(Tarikh): Cap masa dalam formatyyyy-MM-dd HH:mm:ss Z
Format metrik khas
Sesetengah metrik kesihatan mempunyai struktur unik yang berbeza daripada format biasa:
Tekanan darah
Bacaan tekanan darah merangkumi nilai sistolik dan diastolik:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Medan:
systolic(Nombor): Bacaan tekanan darah sistolik (atas)diastolic(Nombor): Bacaan tekanan darah diastolik (bawah)
Kadar denyutan jantung
Data kadar denyutan jantung merangkumi nilai minimum, purata dan maksimum:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Medan:
Min(Nombor): Kadar denyutan jantung minimum semasa tempoh ukuranAvg(Nombor): Kadar denyutan jantung purata semasa tempoh ukuranMax(Nombor): Kadar denyutan jantung maksimum semasa tempoh ukuran
Analisis tidur
Struktur data tidur berbeza bergantung pada sama ada pengagregatan data didayakan dalam tetapan eksport anda.
Data tidur diagregat
Apabila pengagregatan didayakan, data tidur diringkaskan mengikut hari:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-06",
"totalSleep": 7.5,
"asleep": 7.0,
"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"
}
]
}
Medan:
totalSleep(Nombor): Jumlah masa tidur dalam jamasleep(Nombor): Jumlah masa dalam mana-mana keadaan tidurcore(Nombor): Tempoh tidur teras dalam jamdeep(Nombor): Tempoh tidur nyenyak dalam jamrem(Nombor): Tempoh tidur REM dalam jamsleepStart(Tarikh): Bila tidur sebenarnya bermulasleepEnd(Tarikh): Bila tidur sebenarnya tamatinBed(Nombor): Jumlah masa dalam katil dalam jaminBedStart(Tarikh): Bila anda masuk katilinBedEnd(Tarikh): Bila anda keluar katil
Data tidur tidak diagregat
Apabila pengagregatan dilumpuhkan, segmen tidur individu disertakan:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"startDate": "2024-02-05 23:00:00 -0800",
"endDate": "2024-02-05 23:30:00 -0800",
"qty": 0.5,
"value": "Core",
"deep": 0.0,
"rem": 0.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"
}
]
}
Medan:
startDate(Tarikh): Masa mula segmen tidurendDate(Tarikh): Masa tamat segmen tidurqty(Nombor): Tempoh segmen dalam jamvalue(Rentetan): Keadaan tidur — salah satu daripada:"Awake""Asleep"(fasa tidur tidak dikategorikan)"In Bed""Core""REM""Deep""Unspecified"
Nota: "Asleep" merujuk kepada fasa tidur tidak dikategorikan (bukan jumlah masa tidur). Ini mungkin berlaku jika sumber data tidak menyokong penjejakan fasa tidur.
Glukosa darah
Bacaan glukosa darah merangkumi maklumat masa makan:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Medan:
qty(Nombor): Tahap glukosa darahmealTime(Rentetan): Salah satu daripada:"Before Meal""After Meal""Unspecified"
Aktiviti seksual
Entri aktiviti seksual menjejak penggunaan perlindungan:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Medan:
Unspecified(Nombor): Kiraan apabila status perlindungan tidak diketahuiProtection Used(Nombor): Kiraan apabila perlindungan digunakanProtection Not Used(Nombor): Kiraan apabila perlindungan tidak digunakan
Basuh tangan
Peristiwa basuh tangan menjejak status penyiapan:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Medan:
qty(Nombor): Bilangan peristiwa basuh tanganvalue(Rentetan): Salah satu daripada:"Complete""Incomplete"
Gosok gigi
Peristiwa gosok gigi menjejak status penyiapan:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Medan:
qty(Nombor): Bilangan peristiwa gosok gigivalue(Rentetan): Salah satu daripada:"Complete""Incomplete"
Pemberian insulin
Entri pemberian insulin merangkumi sebab pemberian:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Medan:
qty(Nombor): Jumlah insulin dibekalkanreason(Rentetan): Salah satu daripada:"Bolus"(insulin waktu makan)"Basal"(insulin latar belakang)
Metrik kesihatan biasa
Sesetengah metrik kesihatan yang kerap dieksport termasuk (semua nama metrik dalam format snake_case):
- step_count — Kiraan langkah harian
- walking_running_distance — Jarak diliputi
- active_energy — Kalori terbakar melalui aktiviti
- resting_heart_rate — Kadar denyutan jantung semasa rehat
- heart_rate — Ukuran kadar denyutan jantung
- respiratory_rate — Kadar pernafasan
- body_temperature — Bacaan suhu badan
- blood_oxygen_saturation — Tahap SpO₂
- weight_&_body_mass — Ukuran berat badan
- body_mass_index — Nilai BMI dikira
- height — Ukuran ketinggian
- dietary_water — Pengambilan cecair
- mindful_minutes — Masa meditasi atau sedar
Petua
- Pengumpulan masa: Gunakan tetapan pengumpulan masa dalam konfigurasi eksport anda untuk mengawal cara data diagregat (mengikut saat, minit, jam, hari, dll.)
- Pengagregatan data: Dayakan pengagregatan data untuk meringkaskan tidur dan metrik lain mengikut hari untuk analisis lebih mudah
- Eksport terpilih: Anda boleh memilih metrik kesihatan tertentu untuk disertakan dalam eksport anda untuk mengurangkan saiz fail dan masa pemprosesan