Centru de ajutor HealthyApps
Română
Centru de ajutor
Site principal ↗

Caută subiecte de ajutor

Metrici de sănătate - Format export JSON

Documentație pentru structura metricilor de sănătate în exporturile JSON

Ultima actualizare: 31 octombrie 2026

Pe această pagină
Formatul numelui metricii
Structură Structură Câmpuri comune
Formate speciale de metrici Formate speciale de metrici Tensiune arterialăFrecvență cardiacăVariabilitatea frecvenței cardiaceAnaliza somnuluiGlucoză din sângeNutrițieActivitate sexualăSpălarea mâinilorSpălatul pe dințiAdministrare insulină
Documentație conexă

Exporturile JSON stochează metricile de sănătate în matricea metrics.

Formatul numelui metricii

Toate numele metricilor din exporturile JSON folosesc formatul snake_case (litere mici cu underscore). De exemplu:

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

Structură

Matricea metrics conține obiecte, fiecare reprezentând un tip specific de metrică de sănătate. Majoritatea metricilor de sănătate urmează o structură comună:

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

Câmpuri comune

  • name (String): Numele metricii de sănătate în format snake_case (de ex. "step_count", "heart_rate", "active_energy")
  • units (String): Unitatea de măsură (de ex. "count", "count/min", "kcal")
  • data (Array): O matrice de puncte de date, fiecare conținând:
    • qty (Number): Valoarea cantității
    • date (Date): Timestamp în format yyyy-MM-dd HH:mm:ss Z
    • source (String, când este disponibil): Aplicația sau dispozitivul care a înregistrat eșantionul

Formate speciale de metrici

Unele metrici de sănătate au structuri unice care diferă de formatul comun:

Tensiune arterială

Citirile de tensiune arterială includ atât valorile sistolice, cât și cele diastolice:

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

Câmpuri:

  • systolic (Number): Citirea tensiunii arteriale sistolice (superioară). Exporturile rezumate folosesc media citirilor din grupul temporal.
  • diastolic (Number): Citirea tensiunii arteriale diastolice (inferioară). Exporturile rezumate folosesc media citirilor din grupul temporal.

Frecvență cardiacă

Datele de frecvență cardiacă includ valorile minimă, medie și maximă:

{
  "name": "heart_rate",
  "units": "count/min",
  "data": [
    {
      "date": "2024-02-06 14:30:00 -0800",
      "Min": 65,
      "Avg": 72,
      "Max": 85,
      "source": "Apple Watch"
    }
  ]
}

Câmpuri:

  • Min (Number): Frecvența cardiacă minimă în perioada de măsurare
  • Avg (Number): Frecvența cardiacă medie în perioada de măsurare
  • Max (Number): Frecvența cardiacă maximă în perioada de măsurare

Variabilitatea frecvenței cardiace

Cu Rezumați datele dezactivat, exporturile JSON ale Variabilității frecvenței cardiace (SDNN) pot include citiri beat-to-beat disponibile. Acestea necesită acces de citire Serie de bătăi ale inimii în Apple Health.

Exporturile rezumate, exporturile CSV și Recovery HRV nu includ citiri beat-to-beat.

Analiza somnului

Structura datelor de somn depinde de faptul dacă Rezumați datele este activat sau dezactivat.

Rezumați datele activat


Cu Rezumați datele activat, datele de somn sunt rezumate pe zi. Durațiile din aceeași etapă sunt adunate. Somnul total este asleep, core, deep și REM adunate. JSON păstrează fiecare zi. În CSV, un grup temporal mai grosier arată cea mai recentă zi din acel grup:

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

Câmpuri:

  • totalSleep (Number): Timpul total de somn în ore
  • asleep (Number): Timpul de somn fără o etapă de somn înregistrată, în ore
  • core (Number): Durata somnului core în ore
  • deep (Number): Durata somnului profund în ore
  • rem (Number): Durata somnului REM în ore
  • awake (Number): Timpul treaz în ore
  • sleepStart (Date): Când a început efectiv somnul
  • sleepEnd (Date): Când s-a încheiat efectiv somnul
  • inBed (Number): Timpul total în pat în ore
  • inBedStart (Date): Când ați intrat în pat
  • inBedEnd (Date): Când ați ieșit din pat

Rezumați datele dezactivat


Cu Rezumați datele dezactivat, sunt incluse segmente individuale de somn:

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

Câmpuri:

  • date, start, startDate (Date): Ora de început a segmentului de somn
  • end, endDate (Date): Ora de sfârșit a segmentului de somn
  • source (String): Aplicația sau dispozitivul care a înregistrat segmentul
  • qty (Number): Durata segmentului în ore
  • value (String): Starea somnului - una dintre:
    • "Awake"
    • "Asleep" (fază de somn necategorizată)
    • "In Bed"
    • "Core"
    • "REM"
    • "Deep"
    • "Unspecified"

Notă: "Asleep" se referă la o fază de somn necategorizată (nu la timpul total de somn). Aceasta poate apărea dacă sursa de date nu suportă urmărirea fazelor de somn.

Glucoză din sânge

Citirile de glucoză din sânge includ informații despre momentul mesei:

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

Câmpuri:

  • qty (Number): Nivelul de glucoză din sânge
  • mealTime (String): Una dintre:
    • "Before Meal"
    • "After Meal"
    • "Unspecified"

Nutriție

Când Rezumați datele este dezactivat, eșantioanele individuale de cantitate nutrițională (de exemplu Dietary Energy sau Carbohydrates) pot include detalii despre alimente înregistrate în Apple Health. De exemplu:

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

Câmpuri:

  • qty (Number): Cantitatea de nutrient pentru eșantion
  • foodType (String, opțional): Numele alimentului înregistrat de aplicația sursă, când este disponibil

Cu Rezumați datele activat, totalurile nutriționale nu includ foodType.

Activitate sexuală

Intrările de activitate sexuală urmăresc utilizarea protecției:

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

Câmpuri:

  • Unspecified (Number): Numărul de evenimente din acea zi când statusul protecției este necunoscut
  • Protection Used (Number): Numărul de evenimente din acea zi când a fost folosită protecția
  • Protection Not Used (Number): Numărul de evenimente din acea zi când nu a fost folosită protecția

Exporturile rezumate numără fiecare zi calendaristică. JSON păstrează fiecare zi. În CSV, un grup temporal mai grosier arată cea mai recentă zi din acel grup.

Spălarea mâinilor

Evenimentele de spălare a mâinilor urmăresc statusul de finalizare:

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

Câmpuri:

  • qty (Number): Durata în secunde. Exporturile rezumate folosesc durata medie din grupul temporal.
  • value (String): "Completed" când sesiunea durează mai mult de 20 de secunde, altfel "Incomplete"

Spălatul pe dinți

Evenimentele de spălat pe dinți urmăresc statusul de finalizare:

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

Câmpuri:

  • qty (Number): Durata în secunde. Exporturile rezumate folosesc durata medie din grupul temporal.
  • value (String): "Completed" când sesiunea durează cel puțin 2 minute, altfel "Incomplete"

Administrare insulină

Intrările de administrare a insulinei includ motivul administrării:

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

Câmpuri:

  • qty (Number): Cantitatea de insulină administrată. Exporturile rezumate adună cantitățile din grupul temporal.
  • reason (String): Una dintre:
    • "Bolus" (insulină la masă)
    • "Basal" (insulină de fond)

Documentație conexă