Metrici de sănătate — format JSON de export
Documentație pentru structura metricilor de sănătate în exporturile JSON
Last updated: April 5, 2026
Pe această pagină
Metrici de sănătate
Metricile de sănătate reprezintă măsurătorile și punctele de date colectate de Apple Health și de dispozitivele conectate. În exporturile JSON, metricile sunt stocate în tabloul metrics.
Formatul numelor de metrici
Toate numele de metrici folosesc format snake_case (litere mici și underscore). Exemple:
- „Step Count” devine
"step_count" - „Blood Pressure” devine
"blood_pressure" - „Heart Rate” devine
"heart_rate" - „Walking + Running Distance” devine
"walking_running_distance"
Structură
Tabloul metrics conține obiecte, fiecare reprezentând un tip de metrică. Majoritatea urmează o structură comună:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Câmpuri uzuale
name(String): numele metricii în snake_case (ex.:"step_count","heart_rate","active_energy")units(String): unitatea de măsură (ex.:"count","bpm","kcal")data(Array): puncte de date, fiecare cu:qty(Number): valoarea numericădate(Date): marcaj temporal, formatyyyy-MM-dd HH:mm:ss Z
Formate speciale
Unele metrici au structuri diferite de formatul comun:
Tensiune arterială
Citirile includ valori sistolice și diastolice:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Câmpuri:
systolic(Number): valoarea sistolică (superioară)diastolic(Number): valoarea diastolică (inferioară)
Puls (Heart Rate)
Datele includ minim, mediu și maxim:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Câmpuri:
Min(Number): puls minim în perioada măsurătoriiAvg(Number): puls mediuMax(Number): puls maxim
Analiză somn
Structura variază după ce agregarea datelor este activată sau nu în setările de export.
Date de somn agregate
Când agregarea este activată, somnul este rezumat pe zi:
{
"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"
}
]
}
Câmpuri:
totalSleep(Number): timp total de somn, în oreasleep(Number): timp total în orice stare de somncore(Number): durata somnului „core”, în oredeep(Number): somn adânc, în orerem(Number): somn REM, în oresleepStart(Date): începutul somnului efectivsleepEnd(Date): sfârșitul somnului efectivinBed(Number): timp total în pat, în oreinBedStart(Date): momentul intrării în patinBedEnd(Date): momentul ieșirii din pat
Date de somn neagregate
Când agregarea este dezactivată, apar segmente individuale de somn:
{
"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"
}
]
}
Câmpuri:
startDate(Date): începutul segmentului de somnendDate(Date): sfârșitul segmentuluiqty(Number): durata segmentului, în orevalue(String): fază de somn — una dintre:"Awake""Asleep"(fază necategorisită)"In Bed""Core""REM""Deep""Unspecified"
Notă: "Asleep" desemnează o fază de somn necategorisită (nu neapărat timpul total de somn). Poate apărea dacă sursa nu suportă fazele de somn.
Glicemie
Citirile includ informații despre momentul mesei:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Câmpuri:
qty(Number): nivelul glicemieimealTime(String): una dintre:"Before Meal""After Meal""Unspecified"
Activitate sexuală
Intrările urmăresc utilizarea protecției:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Câmpuri:
Unspecified(Number): număr când starea protecției este necunoscutăProtection Used(Number): când s-a folosit protecțieProtection Not Used(Number): când nu s-a folosit protecție
Spălat pe mâini
Evenimentele urmăresc starea finalizării:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Câmpuri:
qty(Number): număr de evenimente de spălare pe mâinivalue(String): una dintre:"Complete""Incomplete"
Spălat pe dinți
Similar, evenimentele au stare de finalizare:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Câmpuri:
qty(Number): număr de evenimente de spălare pe dințivalue(String): una dintre:"Complete""Incomplete"
Administrare insulină
Intrările includ motivul administrării:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Câmpuri:
qty(Number): cantitatea de insulină administratăreason(String): una dintre:"Bolus"(insulină legată de masă)"Basal"(insulină de bază)
Metrici frecvent exportate
Exemple (toate numele rămân în snake_case):
- step_count — pași zilnici
- walking_running_distance — distanță parcursă
- active_energy — calorii arse prin activitate
- resting_heart_rate — puls în repaus
- heart_rate — măsurători de puls
- respiratory_rate — frecvență respiratorie
- body_temperature — temperatură corporală
- blood_oxygen_saturation — niveluri SpO₂
- weight_&_body_mass — greutate corporală
- body_mass_index — valori IMC
- height — înălțime
- dietary_water — consum de lichide
- mindful_minutes — timp de meditație sau mindfulness
Sfaturi
- Grupare temporală: setările de grupare controlează agregarea (pe secundă, minut, oră, zi etc.)
- Agregare: activați agregarea pentru a rezuma somnul și alte metrici pe zi, pentru analize mai simple
- Export selectiv: puteți alege metrici specifice pentru a reduce dimensiunea fișierului și timpul de procesare