Gesundheitsmetriken - JSON-Exportformat
Dokumentation zur Struktur von Gesundheitsmetriken in JSON-Exporten
Last updated: February 6, 2026
On this page
Gesundheitsmetriken
Gesundheitsmetriken repräsentieren die verschiedenen Messungen und Datenpunkte, die von Ihrer Apple Health App und verbundenen Geräten erfasst werden. In JSON-Exporten werden Gesundheitsmetriken im Array metrics gespeichert.
Format für Metriknamen
Alle Metriknamen in JSON-Exporten verwenden das snake_case-Format (Kleinbuchstaben mit Unterstrichen). Zum Beispiel:
- "Step Count" wird zu
"step_count" - "Blood Pressure" wird zu
"blood_pressure" - "Heart Rate" wird zu
"heart_rate" - "Walking + Running Distance" wird zu
"walking_running_distance"
Struktur
Das Array metrics enthält Objekte, die jeweils einen spezifischen Typ von Gesundheitsmetrik repräsentieren. Die meisten Gesundheitsmetriken folgen einer gemeinsamen Struktur:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Gemeinsame Felder
name(String): Der Name der Gesundheitsmetrik im snake_case-Format (z. B. "step_count", "heart_rate", "active_energy")units(String): Die Maßeinheit (z. B. "count", "bpm", "kcal")data(Array): Ein Array von Datenpunkten, die jeweils enthalten:qty(Number): Der Mengenwertdate(Date): Zeitstempel im Formatyyyy-MM-dd HH:mm:ss Z
Spezielle Metrikformate
Einige Gesundheitsmetriken haben eindeutige Strukturen, die sich vom gemeinsamen Format unterscheiden:
Blutdruck
Blutdruckmessungen umfassen sowohl systolische als auch diastolische Werte:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Felder:
systolic(Number): Der systolische (obere) Blutdruckwertdiastolic(Number): Der diastolische (untere) Blutdruckwert
Herzfrequenz
Herzfrequenzdaten umfassen minimale, durchschnittliche und maximale Werte:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Felder:
Min(Number): Minimale Herzfrequenz während des MesszeitraumsAvg(Number): Durchschnittliche Herzfrequenz während des MesszeitraumsMax(Number): Maximale Herzfrequenz während des Messzeitraums
Schlafanalyse
Die Struktur der Schlafdaten variiert je nachdem, ob die Datenaggregation in Ihren Exporteinstellungen aktiviert ist.
Aggregierte Schlafdaten
Wenn die Aggregation aktiviert ist, werden Schlafdaten nach Tagen zusammengefasst:
{
"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"
}
]
}
Felder:
totalSleep(Number): Gesamte Schlafzeit in Stundenasleep(Number): Gesamte Zeit in einem Schlafzustandcore(Number): Dauer des Leichtschlafs in Stundendeep(Number): Dauer des Tiefschlafs in Stundenrem(Number): Dauer des REM-Schlafs in StundensleepStart(Date): Wann der Schlaf tatsächlich begannsleepEnd(Date): Wann der Schlaf tatsächlich endeteinBed(Number): Gesamte Zeit im Bett in StundeninBedStart(Date): Wann Sie ins Bett gegangen sindinBedEnd(Date): Wann Sie aufgestanden sind
Nicht aggregierte Schlafdaten
Wenn die Aggregation deaktiviert ist, werden einzelne Schlafsegmente einbezogen:
{
"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"
}
]
}
Felder:
startDate(Date): Startzeit des SchlafsegmentsendDate(Date): Endzeit des Schlafsegmentsqty(Number): Dauer des Segments in Stundenvalue(String): Schlafzustand - einer von:"Awake""Asleep"(nicht kategorisierte Schlafphase)"In Bed""Core""REM""Deep""Unspecified"
Hinweis: "Asleep" bezieht sich auf eine nicht kategorisierte Schlafphase (anstatt auf die Gesamtschlafzeit). Dies kann auftreten, wenn die Datenquelle keine Schlafphasenverfolgung unterstützt.
Blutzucker
Blutzuckermessungen umfassen Informationen zum Zeitpunkt der Mahlzeit:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Felder:
qty(Number): BlutzuckerspiegelmealTime(String): Einer von:"Before Meal""After Meal""Unspecified"
Sexuelle Aktivität
Einträge zur sexuellen Aktivität verfolgen die Verwendung von Schutz:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Felder:
Unspecified(Number): Anzahl, wenn der Schutzstatus unbekannt istProtection Used(Number): Anzahl, wenn Schutz verwendet wurdeProtection Not Used(Number): Anzahl, wenn kein Schutz verwendet wurde
Händewaschen
Händewasch-Ereignisse verfolgen den Abschlussstatus:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Felder:
qty(Number): Anzahl der Händewasch-Ereignissevalue(String): Einer von:"Complete""Incomplete"
Zähneputzen
Zähneputz-Ereignisse verfolgen den Abschlussstatus:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Felder:
qty(Number): Anzahl der Zähneputz-Ereignissevalue(String): Einer von:"Complete""Incomplete"
Insulinabgabe
Einträge zur Insulinabgabe umfassen den Grund für die Abgabe:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Felder:
qty(Number): Menge des abgegebenen Insulinsreason(String): Einer von:"Bolus"(Mahlzeiteninsulin)"Basal"(Basisinsulin)
Häufige Gesundheitsmetriken
Einige häufig exportierte Gesundheitsmetriken umfassen (alle Metriknamen sind im snake_case-Format):
- step_count - Tägliche Schrittzählungen
- walking_running_distance - Zurückgelegte Strecke
- active_energy - Durch Aktivität verbrannte Kalorien
- resting_heart_rate - Herzfrequenz in Ruhe
- heart_rate - Herzfrequenzmessungen
- respiratory_rate - Atemfrequenz
- body_temperature - Körpertemperaturmessungen
- blood_oxygen_saturation - SpO2-Werte
- weight_&_body_mass - Körpergewichtsmessungen
- body_mass_index - Berechnete BMI-Werte
- height - Größenmessungen
- dietary_water - Flüssigkeitsaufnahme
- mindful_minutes - Meditations- oder Achtsamkeitszeit
Tipps
- Zeitgruppierung: Verwenden Sie die Zeitgruppierungseinstellungen in Ihrer Exportkonfiguration, um zu steuern, wie Daten aggregiert werden (nach Sekunde, Minute, Stunde, Tag usw.)
- Datenaggregation: Aktivieren Sie die Datenaggregation, um Schlaf und andere Metriken nach Tagen zusammenzufassen, um die Analyse zu erleichtern
- Selektiver Export: Sie können auswählen, welche spezifischen Gesundheitsmetriken Sie in Ihren Export aufnehmen möchten, um die Dateigröße und Verarbeitungszeit zu reduzieren