Metryki Zdrowia - Format Eksportu JSON
Dokumentacja dotycząca struktury metryk zdrowia w eksportach JSON
Last updated: February 6, 2026
On this page
Metryki Zdrowia
Metryki zdrowia reprezentują różne pomiary i punkty danych zbierane przez aplikację Apple Health i podłączone urządzenia. W eksportach JSON metryki zdrowia są przechowywane w tablicy metrics.
Format Nazwy Metryki
Wszystkie nazwy metryk w eksportach JSON używają formatu snake_case (małe litery z podkreśleniami). Na przykład:
- "Step Count" staje się
"step_count" - "Blood Pressure" staje się
"blood_pressure" - "Heart Rate" staje się
"heart_rate" - "Walking + Running Distance" staje się
"walking_running_distance"
Struktura
Tablica metrics zawiera obiekty, z których każdy reprezentuje określony typ metryki zdrowia. Większość metryk zdrowia następuje wspólnej strukturze:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Wspólne Pola
name(String): Nazwa metryki zdrowia w formacie snake_case (np. "step_count", "heart_rate", "active_energy")units(String): Jednostka miary (np. "count", "bpm", "kcal")data(Array): Tablica punktów danych, z których każdy zawiera:qty(Number): Wartość ilościowadate(Date): Znacznik czasu w formacieyyyy-MM-dd HH:mm:ss Z
Specjalne Format Metryk
Niektóre metryki zdrowia mają unikalne struktury, które różnią się od wspólnego formatu:
Ciśnienie Krwi
Odczyty ciśnienia krwi obejmują wartości zarówno skurczowe, jak i rozkurczowe:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Pola:
systolic(Number): Odczyty ciśnienia krwi skurczowego (górnego)diastolic(Number): Odczyty ciśnienia krwi rozkurczowego (dolnego)
Tętno
Dane tętna obejmują wartości minimalne, średnie i maksymalne:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Pola:
Min(Number): Minimalne tętno w okresie pomiaruAvg(Number): Średnie tętno w okresie pomiaruMax(Number): Maksymalne tętno w okresie pomiaru
Analiza Snu
Struktura danych snu różni się w zależności od tego, czy agregacja danych jest włączona w ustawieniach eksportu.
Agregowane Dane Snu
Gdy agregacja jest włączona, dane snu są podsumowywane według dnia:
{
"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"
}
]
}
Pola:
totalSleep(Number): Całkowity czas snu w godzinachasleep(Number): Całkowity czas w jakimkolwiek stanie snucore(Number): Czas trwania lekkiego snu w godzinachdeep(Number): Czas trwania głębokiego snu w godzinachrem(Number): Czas trwania snu REM w godzinachsleepStart(Date): Kiedy sen faktycznie się rozpocząłsleepEnd(Date): Kiedy sen faktycznie się zakończyłinBed(Number): Całkowity czas w łóżku w godzinachinBedStart(Date): Kiedy położyłeś się do łóżkainBedEnd(Date): Kiedy wstałeś z łóżka
Nieagregowane Dane Snu
Gdy agregacja jest wyłączona, uwzględniane są indywidualne segmenty snu:
{
"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"
}
]
}
Pola:
startDate(Date): Czas rozpoczęcia segmentu snuendDate(Date): Czas zakończenia segmentu snuqty(Number): Czas trwania segmentu w godzinachvalue(String): Stan snu - jeden z:"Awake""Asleep"(niekategoryzowana faza snu)"In Bed""Core""REM""Deep""Unspecified"
Uwaga: "Asleep" odnosi się do niekategoryzowanej fazy snu (a nie do całkowitego czasu snu). Może to wystąpić, jeśli źródło danych nie obsługuje śledzenia faz snu.
Glukoza we Krwi
Odczyty glukozy we krwi obejmują informacje o czasie posiłku:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Pola:
qty(Number): Poziom glukozy we krwimealTime(String): Jeden z:"Before Meal""After Meal""Unspecified"
Aktywność Seksualna
Wpisy aktywności seksualnej śledzą użycie ochrony:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Pola:
Unspecified(Number): Liczba, gdy status ochrony jest nieznanyProtection Used(Number): Liczba, gdy użyto ochronyProtection Not Used(Number): Liczba, gdy nie użyto ochrony
Mycie Rąk
Zdarzenia mycia rąk śledzą status ukończenia:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Pola:
qty(Number): Liczba zdarzeń mycia rąkvalue(String): Jeden z:"Complete""Incomplete"
Mycie Zębów
Zdarzenia mycia zębów śledzą status ukończenia:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Pola:
qty(Number): Liczba zdarzeń mycia zębówvalue(String): Jeden z:"Complete""Incomplete"
Podawanie Insuliny
Wpisy podawania insuliny obejmują powód podania:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Pola:
qty(Number): Ilość podanej insulinyreason(String): Jeden z:"Bolus"(insulina posiłkowa)"Basal"(insulina podstawowa)
Częste Metryki Zdrowia
Niektóre często eksportowane metryki zdrowia obejmują (wszystkie nazwy metryk są w formacie snake_case):
- step_count - Dzienne liczniki kroków
- walking_running_distance - Pokonana odległość
- active_energy - Kalorie spalone przez aktywność
- resting_heart_rate - Tętno spoczynkowe
- heart_rate - Pomiary tętna
- respiratory_rate - Częstość oddechów
- body_temperature - Odczyty temperatury ciała
- blood_oxygen_saturation - Poziomy SpO2
- weight_&_body_mass - Pomiary masy ciała
- body_mass_index - Obliczone wartości BMI
- height - Pomiary wzrostu
- dietary_water - Spożycie płynów
- mindful_minutes - Czas medytacji lub uważności
Wskazówki
- Grupowanie Czasowe: Użyj ustawień grupowania czasowego w konfiguracji eksportu, aby kontrolować sposób agregacji danych (według sekundy, minuty, godziny, dnia itp.)
- Agregacja Danych: Włącz agregację danych, aby podsumować sen i inne metryki według dnia dla łatwiejszej analizy
- Selektywny Eksport: Możesz wybrać, które konkretne metryki zdrowia uwzględnić w eksporcie, aby zmniejszyć rozmiar pliku i czas przetwarzania