Zdravstvene metrike – JSON format izvoza

Dokumentacija strukture zdravstvenih metrika u JSON izvozima

Last updated: February 6, 2026

Na ovoj stranici

Zdravstvene metrike

Zdravstvene metrike su mjerenja i točke podataka prikupljene u Apple Zdravlju i s povezanih uređaja. U JSON izvozima nalaze se u nizu metrics.

Format naziva metrike

Svi nazivi metrika u JSON izvozu koriste snake_case (mala slova i podvlake). Primjeri:

  • „Step Count” → "step_count"
  • „Blood Pressure” → "blood_pressure"
  • „Heart Rate” → "heart_rate"
  • „Walking + Running Distance” → "walking_running_distance"

Struktura

Niz metrics sadrži objekte, jedan po vrsti metrike. Većina slijedi zajedničku strukturu:

{
  "name": "step_count",
  "units": "count",
  "data": [
    {
      "qty": 8500,
      "date": "2024-02-06 14:30:00 -0800"
    }
  ]
}

Zajednička polja

  • name (String): Naziv metrike u snake_case (npr. "step_count", "heart_rate", "active_energy")
  • units (String): Jedinica mjerenja (npr. "count", "bpm", "kcal")
  • data (Array): Niz točaka podataka:
    • qty (Number): Numerička vrijednost
    • date (Date): Vremenska oznaka u obliku yyyy-MM-dd HH:mm:ss Z

Posebni formati metrika

Neke metrike imaju strukturu različitu od zajedničke:

Krvni tlak

Očitanja uključuju sistolički i dijastolički tlak:

{
  "name": "blood_pressure",
  "units": "mmHg",
  "data": [
    {
      "date": "2024-02-06 14:30:00 -0800",
      "systolic": 120,
      "diastolic": 80
    }
  ]
}

Polja:

  • systolic (Number): Sistolički (gornji) tlak
  • diastolic (Number): Dijastolički (donji) tlak

Otkucaji srca

Podaci uključuju minimum, prosjek i maksimum:

{
  "name": "heart_rate",
  "units": "bpm",
  "data": [
    {
      "date": "2024-02-06 14:30:00 -0800",
      "Min": 65,
      "Avg": 72,
      "Max": 85
    }
  ]
}

Polja:

  • Min (Number): Najmanji otkucaji srca tijekom razdoblja mjerenja
  • Avg (Number): Prosječni otkucaji srca tijekom razdoblja mjerenja
  • Max (Number): Najveći otkucaji srca tijekom razdoblja mjerenja

Analiza sna

Struktura ovisi o tome je li u postavkama izvoza uključena agregacija.

Agregirani podaci o snu

Kad je agregacija uključena, podaci su sažeti po danu:

{
  "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"
    }
  ]
}

Polja:

  • totalSleep (Number): Ukupno vrijeme sna u satima
  • asleep (Number): Ukupno vrijeme u bilo kojem stanju sna
  • core (Number): Trajanje osnovnog sna u satima
  • deep (Number): Trajanje dubokog sna u satima
  • rem (Number): Trajanje REM sna u satima
  • sleepStart (Date): Kada je san zapravo počeo
  • sleepEnd (Date): Kada je san zapravo završio
  • inBed (Number): Ukupno vrijeme u krevetu u satima
  • inBedStart (Date): Kada ste legli u krevet
  • inBedEnd (Date): Kada ste ustali iz kreveta

Neagregirani podaci o snu

Pojedinačni segmenti sna:

{
  "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"
    }
  ]
}

Polja:

  • startDate (Date): Početak segmenta sna
  • endDate (Date): Kraj segmenta sna
  • qty (Number): Trajanje segmenta u satima
  • value (String): Stanje sna — jedno od:
    • "Awake"
    • "Asleep" (nesvrstana faza sna)
    • "In Bed"
    • "Core"
    • "REM"
    • "Deep"
    • "Unspecified"

Napomena: "Asleep" označava nesvrstanu fazu sna (ne ukupno vrijeme sna). Može se pojaviti ako izvor ne podržava praćenje faza sna.

Glukoza u krvi

Uključuje informaciju o obroku:

{
  "name": "blood_glucose",
  "units": "mg/dL",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "qty": 95,
      "mealTime": "Before Meal"
    }
  ]
}

Polja:

  • qty (Number): Razina glukoze u krvi
  • mealTime (String): Jedno od:
    • "Before Meal"
    • "After Meal"
    • "Unspecified"

Seksualna aktivnost

Brojanje prema korištenju zaštite:

{
  "name": "sexual_activity",
  "units": "count",
  "data": [
    {
      "date": "2024-02-06 20:00:00 -0800",
      "Unspecified": 0,
      "Protection Used": 1,
      "Protection Not Used": 0
    }
  ]
}

Polja:

  • Unspecified (Number): Broj kad je status zaštite nepoznat
  • Protection Used (Number): Broj kad je zaštita korištena
  • Protection Not Used (Number): Broj kad zaštita nije korištena

Pranje ruku

Status dovršetka:

{
  "name": "handwashing",
  "units": "count",
  "data": [
    {
      "date": "2024-02-06 12:00:00 -0800",
      "qty": 1,
      "value": "Complete"
    }
  ]
}

Polja:

  • qty (Number): Broj događaja pranja ruku
  • value (String): Jedno od:
    • "Complete"
    • "Incomplete"

Četkanje zuba

Status dovršetka (ista struktura kao pranje ruku):

{
  "name": "toothbrushing",
  "units": "count",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "qty": 1,
      "value": "Complete"
    }
  ]
}

Polja:

  • qty (Number): Broj događaja četkanja zuba
  • value (String): Jedno od:
    • "Complete"
    • "Incomplete"

Davanje inzulina

Uključuje razlog:

{
  "name": "insulin_delivery",
  "units": "IU",
  "data": [
    {
      "date": "2024-02-06 08:00:00 -0800",
      "qty": 5,
      "reason": "Bolus"
    }
  ]
}

Polja:

  • qty (Number): Količina isporučenog inzulina
  • reason (String): Jedno od:
    • "Bolus" (inzulin uz obrok)
    • "Basal" (bazalni inzulin)

Često izvožene metrike

( Nazivi u snake_case kao u izvozu )

  • step_count — broj koraka
  • walking_running_distance — udaljenost
  • active_energy — aktivna energija
  • resting_heart_rate — puls u mirovanju
  • heart_rate — otkucaji srca
  • respiratory_rate — brzina disanja
  • body_temperature — tjelesna temperatura
  • blood_oxygen_saturation — SpO₂
  • weight_&_body_mass — težina
  • body_mass_index — BMI
  • height — visina
  • dietary_water — unos tekućine
  • mindful_minutes — minute pažljivosti

Savjeti

  • Vremensko grupiranje: Postavkama izvoza odredite agregaciju (sekunda, minuta, sat, dan …)
  • Agregacija podataka: Sažimanje sna i drugih metrika po danu olakšava analizu
  • Selektivan izvoz: Manje metrika smanjuje datoteku i vrijeme obrade

Povezana dokumentacija