Health Metrics - Format Ekspor JSON
Dokumentasi struktur Health Metrics dalam ekspor JSON
Last updated: March 31, 2026
Di halaman ini
Health Metrics
Health metrics mewakili berbagai pengukuran dan titik data yang dikumpulkan oleh aplikasi Apple Health serta perangkat terhubung. Dalam ekspor JSON, semua health metrics disimpan di dalam array metrics.
Format Nama Metrik
Seluruh nama metrik pada ekspor JSON menggunakan format snake_case (huruf kecil dengan garis bawah). Contoh:
- "Step Count" menjadi
"step_count" - "Blood Pressure" menjadi
"blood_pressure" - "Heart Rate" menjadi
"heart_rate" - "Walking + Running Distance" menjadi
"walking_running_distance"
Struktur
Array metrics berisi objek di mana masing-masing mewakili satu jenis metrik kesehatan. Sebagian besar metrik mengikuti struktur umum berikut:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Field Umum
name(String): Nama metrik kesehatan dalam format snake_case (misal "step_count", "heart_rate", "active_energy")units(String): Satuan pengukuran (misal "count", "bpm", "kcal")data(Array): Daftar titik data dengan isi:qty(Number): Nilai kuantitasdate(Date): Stempel waktu dengan formatyyyy-MM-dd HH:mm:ss Z
Format Khusus
Beberapa metrik memiliki struktur berbeda dari format umum:
Blood Pressure
Pembacaan tekanan darah menyertakan nilai sistolik dan diastolik:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Field:
systolic(Number): Nilai sistolik (angka atas)diastolic(Number): Nilai diastolik (angka bawah)
Heart Rate
Data detak jantung berisi nilai minimum, rata-rata, dan maksimum:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Field:
Min(Number): Detak jantung terendah selama periode pengukuranAvg(Number): Detak jantung rata-rataMax(Number): Detak jantung tertinggi
Sleep Analysis
Struktur data tidur berbeda tergantung apakah agregasi data diaktifkan pada pengaturan ekspor.
Data Tidur Teragregasi
Jika agregasi aktif, data tidur diringkas per 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"
}
]
}
Field:
totalSleep(Number): Total waktu tidur (jam)asleep(Number): Total waktu dalam keadaan tidurcore(Number): Durasi tidur intideep(Number): Durasi tidur dalamrem(Number): Durasi tidur REMsleepStart(Date): Waktu mulai tidursleepEnd(Date): Waktu selesai tidurinBed(Number): Total waktu di tempat tidur (jam)inBedStart(Date): Waktu mulai berbaringinBedEnd(Date): Waktu bangun dari tempat tidur
Data Tidur Tidak Teragregasi
Jika agregasi dinonaktifkan, tiap segmen tidur 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"
}
]
}
Field:
startDate(Date): Waktu mulai segmen tidurendDate(Date): Waktu akhir segmen tidurqty(Number): Durasi segmen dalam jamvalue(String): Status tidur, salah satu dari:"Awake""Asleep"(fase tidur tanpa kategori)"In Bed""Core""REM""Deep""Unspecified"
Catatan: "Asleep" merujuk pada fase tidur umum (bukan total tidur). Hal ini terjadi jika sumber data tidak mendukung pelacakan fase tidur.
Blood Glucose
Pembacaan gula darah menyertakan informasi waktu makan:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Field:
qty(Number): Kadar gula darahmealTime(String): Salah satu dari:"Before Meal""After Meal""Unspecified"
Sexual Activity
Catatan aktivitas seksual melacak penggunaan proteksi:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Field:
Unspecified(Number): Jumlah kejadian tanpa informasi proteksiProtection Used(Number): Jumlah kejadian dengan proteksiProtection Not Used(Number): Jumlah kejadian tanpa proteksi
Handwashing
Event mencuci tangan mencatat status penyelesaian:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Field:
qty(Number): Jumlah sesi cuci tanganvalue(String):"Complete"atau"Incomplete"
Toothbrushing
Event menyikat gigi juga melacak status selesai:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Field:
qty(Number): Jumlah sesi menyikat gigivalue(String):"Complete"atau"Incomplete"
Insulin Delivery
Catatan pemberian insulin menyertakan alasan pemberian:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Field:
qty(Number): Jumlah insulin yang diberikanreason(String):"Bolus"(insulin saat makan) atau"Basal"(insulin latar)
Metrik Umum
Contoh metrik yang sering diekspor (nama menggunakan snake_case):
- step_count - Jumlah langkah harian
- walking_running_distance - Jarak tempuh
- active_energy - Kalori yang dibakar melalui aktivitas
- resting_heart_rate - Detak jantung saat istirahat
- heart_rate - Pengukuran detak jantung
- respiratory_rate - Laju pernapasan
- body_temperature - Suhu tubuh
- blood_oxygen_saturation - Tingkat SpO2
- weight_&_body_mass - Berat badan
- body_mass_index - Nilai BMI
- height - Tinggi badan
- dietary_water - Konsumsi cairan
- mindful_minutes - Waktu meditasi atau mindfulness
Tips
- Time Grouping: Gunakan pengaturan time grouping pada konfigurasi ekspor untuk menentukan cara agregasi data (detik, menit, jam, hari, dll.)
- Data Aggregation: Aktifkan agregasi data untuk merangkum tidur dan metrik lain per hari agar lebih mudah dianalisis
- Selective Export: Pilih metrik tertentu saja untuk mengurangi ukuran file dan waktu pemrosesan