Sundhedsmålinger - JSON-eksportformat
Dokumentation for sundhedsmålingsstruktur i JSON-eksporter
Last updated: February 6, 2026
On this page
Sundhedsmålinger
Sundhedsmålinger repræsenterer de forskellige målinger og datapunkter indsamlet af din Apple Sundhed-app og tilsluttede enheder. I JSON-eksporter gemmes sundhedsmålinger i metrics-arrayet.
Målingsnavn format
Alle målingenavn i JSON-eksporter bruger snake_case-format (små bogstaver med understregninger). For eksempel:
- "Step Count" bliver
"step_count" - "Blood Pressure" bliver
"blood_pressure" - "Heart Rate" bliver
"heart_rate" - "Walking + Running Distance" bliver
"walking_running_distance"
Struktur
metrics-arrayet indeholder objekter, der hver repræsenterer en specifik sundhedsmålingstype. De fleste sundhedsmålinger følger en fælles struktur:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Fælles felter
name(String): Navnet på sundhedsmålingen i snake_case-format (f.eks. "step_count", "heart_rate", "active_energy")units(String): Måleenheden (f.eks. "count", "bpm", "kcal")data(Array): Et array af datapunkter, der hver indeholder:qty(Number): Mængdeværdiendate(Date): Tidsstempel i formatetyyyy-MM-dd HH:mm:ss Z
Særlige målingformater
Nogle sundhedsmålinger har unikke strukturer, der afviger fra det fælles format:
Blodtryk
Blodtryksmålinger inkluderer både systoliske og diastoliske værdier:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Felter:
systolic(Number): Den systoliske (øvre) blodtryksmålingdiastolic(Number): Den diastoliske (nedre) blodtryksmåling
Puls
Pulsdata inkluderer minimum-, gennemsnitlige og maksimumværdier:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Felter:
Min(Number): Minimumspuls i måleperiodenAvg(Number): Gennemsnitspuls i måleperiodenMax(Number): Maksimumspuls i måleperioden
Søvnanalyse
Søvndatastrukturen varierer afhængigt af om dataaggregering er aktiveret i dine eksportindstillinger.
Aggregerede søvndata
Når aggregering er aktiveret, opsummeres søvndata efter dag:
{
"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"
}
]
}
Felter:
totalSleep(Number): Samlet sovningstid i timerasleep(Number): Samlet tid i enhver søvntilstandcore(Number): Kerne-søvnvarighed i timerdeep(Number): Dyb søvnvarighed i timerrem(Number): REM-søvnvarighed i timersleepStart(Date): Hvornår søvn faktisk begyndtesleepEnd(Date): Hvornår søvn faktisk sluttedeinBed(Number): Samlet tid i sengen i timerinBedStart(Date): Hvornår du kom i sengeninBedEnd(Date): Hvornår du forlod sengen
Ikke-aggregerede søvndata
Når aggregering er deaktiveret, inkluderes individuelle søvnsegmenter:
{
"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"
}
]
}
Felter:
startDate(Date): Starttidspunkt for søvnsegmentetendDate(Date): Sluttidspunkt for søvnsegmentetqty(Number): Varighed af segmentet i timervalue(String): Søvntilstand - en af:"Awake""Asleep"(ukategoriseret søvnfase)"In Bed""Core""REM""Deep""Unspecified"
Bemærk: "Asleep" henviser til en ukategoriseret søvnfase (snarere end den samlede sovningstid). Dette kan forekomme, hvis datakilden ikke understøtter søvnfasesporing.
Blodsukker
Blodsukkersmålinger inkluderer information om måltidstiming:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Felter:
qty(Number): BlodsukkersniveaumealTime(String): En af:"Before Meal""After Meal""Unspecified"
Seksuel aktivitet
Seksuel aktivitet-poster sporer brug af beskyttelse:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Felter:
Unspecified(Number): Antal når beskyttelsesstatus er ukendtProtection Used(Number): Antal når beskyttelse blev brugtProtection Not Used(Number): Antal når beskyttelse ikke blev brugt
Håndvask
Håndvask-hændelser sporer fuldførelsesstatus:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Felter:
qty(Number): Antal håndvask-hændelservalue(String): En af:"Complete""Incomplete"
Tandbørstning
Tandbørstning-hændelser sporer fuldførelsesstatus:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Felter:
qty(Number): Antal tandbørstning-hændelservalue(String): En af:"Complete""Incomplete"
Insulinafgivelse
Insulinafgivelse-poster inkluderer årsagen til afgivelse:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Felter:
qty(Number): Mængde insulin afgivetreason(String): En af:"Bolus"(måltidsinsulin)"Basal"(baggrundsinsulin)
Almindelige sundhedsmålinger
Nogle almindeligt eksporterede sundhedsmålinger inkluderer (alle målingsnavn er i snake_case-format):
- step_count - Daglige skridttællinger
- walking_running_distance - Tilbagelagt distance
- active_energy - Kalorier forbrændt gennem aktivitet
- resting_heart_rate - Puls i hvile
- heart_rate - Pulsmålinger
- respiratory_rate - Åndedrætsfrekvens
- body_temperature - Kropstemperatursmålinger
- blood_oxygen_saturation - SpO2-niveauer
- weight_&_body_mass - Kropsvægtsmålinger
- body_mass_index - Beregnede BMI-værdier
- height - Højdemålinger
- dietary_water - Væskeindtag
- mindful_minutes - Meditations- eller mindfulness-tid
Tips
- Tidsgruppering: Brug tidsgrupperingsindstillinger i din eksportkonfiguration til at kontrollere, hvordan data aggregeres (efter sekund, minut, time, dag osv.)
- Dataaggregering: Aktiver dataaggregering for at opsummere søvn og andre målinger efter dag for nemmere analyse
- Selektiv eksport: Du kan vælge, hvilke specifikke sundhedsmålinger der skal inkluderes i din eksport for at reducere filstørrelse og behandlingstid