Terveysmittarit – JSON-viennin muoto

Dokumentaatio terveysmittareiden rakenteesta JSON-vienneissä

Last updated: April 1, 2026

Tällä sivulla

Terveysmittarit

Terveysmittarit edustavat Apple Health -sovelluksen ja yhdistettyjen laitteiden keräämiä mittauksia ja datapisteitä. JSON-vienneissä terveysmittarit tallennetaan taulukkoon metrics.

Mittarin nimen muoto

Kaikki mittarinimet JSON-vienneissä käyttävät muotoa snake_case (pienet kirjaimet ja alaviivat). Esimerkkejä:

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

Rakenne

metrics-taulukko sisältää olioita; kukin edustaa tiettyä terveysmittarin tyyppiä. Useimmat mittarit noudattavat yhteistä rakennetta:

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

Yhteiset kentät

  • name (String): Terveysmittarin nimi snake_case-muodossa (esim. "step_count", "heart_rate", "active_energy")
  • units (String): Mittayksikkö (esim. "count", "bpm", "kcal")
  • data (Array): Datapisteiden taulukko; kukin sisältää:
    • qty (Number): Määräarvo
    • date (Date): Aikaleima muodossa yyyy-MM-dd HH:mm:ss Z

Erityiset mittarimuodot

Joillakin terveysmittareilla on yhteisestä poikkeava rakenne:

Blood Pressure

Verenpaineessa on sekä systolinen että diastolinen arvo:

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

Kentät:

  • systolic (Number): Systolinen (ylä-) verenpaine
  • diastolic (Number): Diastolinen (ala-) verenpaine

Heart Rate

Sykedatassa on minimi-, keski- ja maksimiarvot:

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

Kentät:

  • Min (Number): Pienin syke mittausjakson aikana
  • Avg (Number): Keskimääräinen syke mittausjakson aikana
  • Max (Number): Suurin syke mittausjakson aikana

Sleep Analysis

Unidatan rakenne riippuu siitä, onko viennin asetuksissa käytössä datan koostaminen.

Koostettu unidata

Kun koostaminen on käytössä, unidata tiivistetään päivittäin:

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

Kentät:

  • totalSleep (Number): Uni yhteensä tunteina
  • asleep (Number): Uni yhteensä missä tahansa unenvaiheessa
  • core (Number): Core-unen kesto tunteina
  • deep (Number): Syvän unen kesto tunteina
  • rem (Number): REM-unen kesto tunteina
  • sleepStart (Date): Unen todellinen alkuaika
  • sleepEnd (Date): Unen todellinen päättymisaika
  • inBed (Number): Aika sängyssä yhteensä tunteina
  • inBedStart (Date): Sänkyyn meno
  • inBedEnd (Date): Ylös nouseminen

Koostamaton unidata

Kun koostaminen on pois käytöstä, mukana on yksittäisiä unijaksoja:

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

Kentät:

  • startDate (Date): Unijakson alkuaika
  • endDate (Date): Unijakson päättymisaika
  • qty (Number): Jakson kesto tunteina
  • value (String): Unenvaihe – yksi seuraavista:
    • "Awake"
    • "Asleep" (luokittelematon unenvaihe)
    • "In Bed"
    • "Core"
    • "REM"
    • "Deep"
    • "Unspecified"

Huom: "Asleep" tarkoittaa luokittelematonta unenvaihetta (ei kokonaisuniaikaa). Näin voi käydä, jos datalähde ei tue unenvaiheiden seurantaa.

Blood Glucose

Verensokerilukemat sisältävät ateriaaikaan liittyvän tiedon:

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

Kentät:

  • qty (Number): Verensokeriarvo
  • mealTime (String): Yksi seuraavista:
    • "Before Meal"
    • "After Meal"
    • "Unspecified"

Sexual Activity

Seksuaalista aktiivisuutta koskevat merkinnät seuraavat suojauksen käyttöä:

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

Kentät:

  • Unspecified (Number): Lukumäärä, kun suojauksen tila on tuntematon
  • Protection Used (Number): Lukumäärä, kun suojausta käytettiin
  • Protection Not Used (Number): Lukumäärä, kun suojausta ei käytetty

Handwashing

Käsienpesutapahtumat seuraavat suorituksen tilaa:

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

Kentät:

  • qty (Number): Käsienpesutapahtumien määrä
  • value (String): Joko:
    • "Complete"
    • "Incomplete"

Toothbrushing

Hammasharjaustapahtumat seuraavat suorituksen tilaa:

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

Kentät:

  • qty (Number): Hammasharjauskertojen määrä
  • value (String): Joko:
    • "Complete"
    • "Incomplete"

Insulin Delivery

Insuliinin annoksissa on annoksen syy:

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

Kentät:

  • qty (Number): Annosteltu insuliinimäärä
  • reason (String): Joko:
    • "Bolus" (ateria-insuliini)
    • "Basal" (perusinsuliini)

Yleisiä terveysmittareita

Esimerkkejä usein vietävistä mittareista (kaikki nimet snake_case-muodossa):

  • step_count – Päivittäiset askeleet
  • walking_running_distance – Kuljettu matka
  • active_energy – Aktiivisuuden polttamat kalorit
  • resting_heart_rate – Leposyke
  • heart_rate – Sykemittaukset
  • respiratory_rate – Hengitystiheys
  • body_temperature – Ruumiinlämpö
  • blood_oxygen_saturation – SpO2-arvot
  • weight_&_body_mass – Painomittaukset
  • body_mass_index – Laskettu BMI
  • height – Pituusmittaukset
  • dietary_water – Nesteen saanti
  • mindful_minutes – Meditaatio tai mindfulness-aika

Vinkit

  • Aikaryhmittely: Käytä viennin aikaryhmittelyasetuksia hallitaksesi, miten data koostetaan (sekunti, minuutti, tunti, päivä jne.)
  • Datan koostaminen: Ota koostaminen käyttöön tiivistääksesi unen ja muita mittareita päivittäin helpompaa analyysiä varten
  • Valikoiva vienti: Voit valita, mitkä terveysmittarit sisällytetään vientiin, jotta tiedostokoko ja käsittelyaika pienenevät

Liittyvä dokumentaatio

<|tool▁calls▁begin|><|tool▁call▁begin|>
Read