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ærdien
    • date (Date): Tidsstempel i formatet yyyy-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åling
  • diastolic (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åleperioden
  • Avg (Number): Gennemsnitspuls i måleperioden
  • Max (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 timer
  • asleep (Number): Samlet tid i enhver søvntilstand
  • core (Number): Kerne-søvnvarighed i timer
  • deep (Number): Dyb søvnvarighed i timer
  • rem (Number): REM-søvnvarighed i timer
  • sleepStart (Date): Hvornår søvn faktisk begyndte
  • sleepEnd (Date): Hvornår søvn faktisk sluttede
  • inBed (Number): Samlet tid i sengen i timer
  • inBedStart (Date): Hvornår du kom i sengen
  • inBedEnd (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øvnsegmentet
  • endDate (Date): Sluttidspunkt for søvnsegmentet
  • qty (Number): Varighed af segmentet i timer
  • value (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): Blodsukkersniveau
  • mealTime (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 ukendt
  • Protection Used (Number): Antal når beskyttelse blev brugt
  • Protection 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ændelser
  • value (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ændelser
  • value (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 afgivet
  • reason (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

Relateret dokumentation