Terveysmittarit - JSON-vientimuoto
Dokumentaatio terveysmittarien rakenteesta JSON-vienneissä
Päivitetty viimeksi: 31. lokakuuta 2026
Tällä sivulla
JSON-viennit tallentavat terveysmittarit taulukkoon metrics.
Mittarin nimen muoto
Kaikki mittarien nimet JSON-vienneissä käyttävät muotoa snake_case (pienet kirjaimet alaviivoilla). Esimerkiksi:
- "Step Count" muuttuu muotoon
"step_count" - "Blood Pressure" muuttuu muotoon
"blood_pressure" - "Heart Rate" muuttuu muotoon
"heart_rate" - "Walking + Running Distance" muuttuu muotoon
"walking_running_distance"
Rakenne
Taulukko metrics sisältää objekteja, joista kukin edustaa tiettyä terveysmittarityyppiä. Useimmat terveysmittarit noudattavat yhteistä rakennetta:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800",
"source": "Apple Watch"
}
]
}
Yhteiset kentät
name(String): Terveysmittarin nimi snake_case-muodossa (esim. "step_count", "heart_rate", "active_energy")units(String): Mittayksikkö (esim. "count", "count/min", "kcal")data(Array): Datapisteiden taulukko, joista kukin sisältää:qty(Number): Määräarvodate(Date): Aikaleima muodossayyyy-MM-dd HH:mm:ss Zsource(String, kun saatavilla): Näytteen tallentanut sovellus tai laite
Erityiset mittarimuodot
Joillakin terveysmittareilla on ainutlaatuisia rakenteita, jotka poikkeavat yhteisestä muodosta:
Verenpaine
Verenpainelukemat sisältävät sekä systoliset että diastoliset arvot:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80,
"source": "Health"
}
]
}
Kentät:
systolic(Number): Systolinen (ylä) verenpainelukema. Tiivistetyt viennit käyttävät aikaryhmän lukemien keskiarvoa.diastolic(Number): Diastolinen (ala) verenpainelukema. Tiivistetyt viennit käyttävät aikaryhmän lukemien keskiarvoa.
Syke
Syketiedot sisältävät vähimmäis-, keski- ja enimmäisarvot:
{
"name": "heart_rate",
"units": "count/min",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85,
"source": "Apple Watch"
}
]
}
Kentät:
Min(Number): Vähimmäissyke mittausjakson aikanaAvg(Number): Keskimääräinen syke mittausjakson aikanaMax(Number): Enimmäissyke mittausjakson aikana
Sykkeen vaihtelu
Kun Tiivistä tiedot on pois päältä, Sykkeen vaihtelun (SDNN) JSON-viennit voivat sisältää käytettävissä olevia beat-to-beat -lukemia. Ne edellyttävät Sydämenlyöntisarja -lukuoikeutta Apple Healthissa.
Tiivistetyt viennit, CSV-viennit ja Recovery HRV eivät sisällä beat-to-beat -lukemia.
Unianalyysi
Unitietojen rakenne riippuu siitä, onko Tiivistä tiedot päällä vai pois.
Tiivistä tiedot päällä
Kun Tiivistä tiedot on päällä, unitiedot tiivistetään päivittäin. Saman vaiheen kestot lasketaan yhteen. Kokonaisuni on asleep-, core-, deep- ja REM-summa. JSON säilyttää jokaisen päivän. CSV:ssä karkeampi aikaryhmä näyttää ryhmän uusimman päivän:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-06 00:00:00 -0800",
"totalSleep": 7.5,
"asleep": 0.5,
"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",
"awake": 0.0,
"source": "Apple Watch"
}
]
}
Kentät:
totalSleep(Number): Kokonaisuniaika tunteinaasleep(Number): Uni ilman tallennettua univaihetta, tunteinacore(Number): Core-unen kesto tunteinadeep(Number): Syvän unen kesto tunteinarem(Number): REM-unen kesto tunteinaawake(Number): Valvetila tunteinasleepStart(Date): Milloin uni todella alkoisleepEnd(Date): Milloin uni todella päättyiinBed(Number): Kokonaisaika sängyssä tunteinainBedStart(Date): Milloin menit sänkyyninBedEnd(Date): Milloin nousit sängystä
Tiivistä tiedot pois päältä
Kun Tiivistä tiedot on pois päältä, yksittäiset unisegmentit sisällytetään:
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-05 23:00:00 -0800",
"start": "2024-02-05 23:00:00 -0800",
"end": "2024-02-05 23:30:00 -0800",
"startDate": "2024-02-05 23:00:00 -0800",
"endDate": "2024-02-05 23:30:00 -0800",
"qty": 0.5,
"value": "Core",
"source": "Apple Watch"
}
]
}
Kentät:
date,start,startDate(Date): Unisegmentin alkuaikaend,endDate(Date): Unisegmentin päättymisaikasource(String): Segmentin tallentanut sovellus tai laiteqty(Number): Segmentin kesto tunteinavalue(String): Unen tila — yksi seuraavista:"Awake""Asleep"(luokittelematon univaihe)"In Bed""Core""REM""Deep""Unspecified"
Huomautus: "Asleep" tarkoittaa luokittelematonta univaihetta (ei kokonaisuniaikaa). Näin voi käydä, jos tietolähde ei tue univaiheiden seurantaa.
Verensokeri
Verensokerilukemat sisältävät aterioinnin ajoitustiedot:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal",
"source": "Health"
}
]
}
Kentät:
qty(Number): VerensokeritasomealTime(String): Yksi seuraavista:"Before Meal""After Meal""Unspecified"
Ravitsemus
Kun Tiivistä tiedot on pois päältä, yksittäiset ravitsemusmääränäytteet (esimerkiksi Dietary Energy tai Carbohydrates) voivat sisältää Apple Healthiin tallennettuja ruokailutietoja. Esimerkiksi:
{
"name": "dietary_energy",
"units": "kcal",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:00:00 -0800",
"qty": 240,
"source": "Lose It!",
"foodType": "Boneless, Skinless Grilled Chicken Breast"
}
]
}
Kentät:
qty(Number): Ravintoaineen määrä näytteellefoodType(String, valinnainen): Lähdesovelluksen tallentama ruoan nimi, kun saatavilla
Kun Tiivistä tiedot on päällä, ravitsemussummat eivät sisällä foodType-kenttää.
Seksuaalinen aktiivisuus
Seksuaalisen aktiivisuuden merkinnät seuraavat suojauksen käyttöä:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 00:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0,
"source": "Health"
}
]
}
Kentät:
Unspecified(Number): Tapahtumien määrä kyseisenä päivänä, kun suojauksen tila on tuntematonProtection Used(Number): Tapahtumien määrä kyseisenä päivänä, kun suojausta käytettiinProtection Not Used(Number): Tapahtumien määrä kyseisenä päivänä, kun suojausta ei käytetty
Tiivistetyt viennit laskevat jokaisen kalenteripäivän. JSON säilyttää jokaisen päivän. CSV:ssä karkeampi aikaryhmä näyttää ryhmän uusimman päivän.
Käsienpesu
Käsienpesutapahtumat seuraavat valmistumistilaa:
{
"name": "handwashing",
"units": "s",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"start": "2024-02-06 12:00:00 -0800",
"end": "2024-02-06 12:00:25 -0800",
"qty": 25,
"value": "Completed",
"source": "Apple Watch"
}
]
}
Kentät:
qty(Number): Kesto sekunteina. Tiivistetyt viennit käyttävät aikaryhmän keskimääräistä kestoa.value(String):"Completed", kun istunto kestää yli 20 sekuntia, muuten"Incomplete"
Hampaiden harjaus
Hampaiden harjaustapahtumat seuraavat valmistumistilaa:
{
"name": "toothbrushing",
"units": "s",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:02:10 -0800",
"qty": 130,
"value": "Completed",
"source": "Health"
}
]
}
Kentät:
qty(Number): Kesto sekunteina. Tiivistetyt viennit käyttävät aikaryhmän keskimääräistä kestoa.value(String):"Completed", kun istunto kestää vähintään 2 minuuttia, muuten"Incomplete"
Insuliinin annostelu
Insuliinin annostelumerkinnät sisältävät annostelun syyn:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"start": "2024-02-06 08:00:00 -0800",
"end": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus",
"source": "Health"
}
]
}
Kentät:
qty(Number): Annetun insuliinin määrä. Tiivistetyt viennit laskevat aikaryhmän määrät yhteen.reason(String): Yksi seuraavista:"Bolus"(ateriainsuliini)"Basal"(basaali-insuliini)