Центр допомоги HealthyApps
Українська
Центр допомоги
Головний сайт ↗

Пошук у довідці

Показники здоров’я — формат експорту JSON

Документація структури показників здоров’я в експортах JSON

Останнє оновлення: 31 жовтня 2026 р.

На цій сторінці
Формат назви показника
Структура Структура Спільні поля
Спеціальні формати показників Спеціальні формати показників Артеріальний тискЧастота серцевих скороченьВаріабельність серцевого ритмуАналіз снуГлюкоза кровіХарчуванняСтатева активністьМиття рукЧищення зубівВведення інсуліну
Пов’язана документація

Експорти JSON зберігають показники здоров’я в масиві metrics.

Формат назви показника

Усі назви показників в експортах JSON використовують формат snake_case (малі літери з підкресленнями). Наприклад:

  • "Step Count" стає "step_count"
  • "Blood Pressure" стає "blood_pressure"
  • "Heart Rate" стає "heart_rate"
  • "Walking + Running Distance" стає "walking_running_distance"

Структура

Масив metrics містить об’єкти, кожен з яких представляє певний тип показника здоров’я. Більшість показників здоров’я мають спільну структуру:

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

Спільні поля

  • name (String): Назва показника здоров’я у форматі snake_case (напр. "step_count", "heart_rate", "active_energy")
  • units (String): Одиниця вимірювання (напр. "count", "count/min", "kcal")
  • data (Array): Масив точок даних, кожна з яких містить:
    • qty (Number): Значення кількості
    • date (Date): Мітка часу у форматі yyyy-MM-dd HH:mm:ss Z
    • source (String, коли доступно): Застосунок або пристрій, що записав зразок

Спеціальні формати показників

Деякі показники здоров’я мають унікальні структури, відмінні від спільного формату:

Артеріальний тиск

Значення артеріального тиску включають систолічний і діастолічний показники:

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

Поля:

  • systolic (Number): Систолічний (верхній) показник артеріального тиску. Узагальнені експорти використовують середнє значень у групі часу.
  • diastolic (Number): Діастолічний (нижній) показник артеріального тиску. Узагальнені експорти використовують середнє значень у групі часу.

Частота серцевих скорочень

Дані частоти серцевих скорочень включають мінімальне, середнє та максимальне значення:

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

Поля:

  • Min (Number): Мінімальна частота серцевих скорочень протягом періоду вимірювання
  • Avg (Number): Середня частота серцевих скорочень протягом періоду вимірювання
  • Max (Number): Максимальна частота серцевих скорочень протягом періоду вимірювання

Варіабельність серцевого ритму

З вимкненим Узагальнити дані експорти JSON варіабельності серцевого ритму (SDNN) можуть включати доступні значення від удару до удару. Для цього потрібен доступ на читання Серія серцебиття в Apple Health.

Узагальнені експорти, CSV-експорти та Recovery HRV не включають значення від удару до удару.

Аналіз сну

Структура даних сну залежить від того, увімкнено чи вимкнено Узагальнити дані.

Узагальнити дані увімкнено

З увімкненим Узагальнити дані дані сну узагальнюються за днем. Тривалості на одній стадії додаються. Загальний сон — це asleep, core, deep і REM разом. JSON зберігає кожен день. У CSV грубша група часу показує останній день у цій групі:

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

Поля:

  • totalSleep (Number): Загальний час сну в годинах
  • asleep (Number): Час сну без записаної стадії сну, у годинах
  • core (Number): Тривалість основного сну в годинах
  • deep (Number): Тривалість глибокого сну в годинах
  • rem (Number): Тривалість REM-сну в годинах
  • awake (Number): Час неспання в годинах
  • sleepStart (Date): Коли сон фактично почався
  • sleepEnd (Date): Коли сон фактично закінчився
  • inBed (Number): Загальний час у ліжку в годинах
  • inBedStart (Date): Коли ви лягли в ліжко
  • inBedEnd (Date): Коли ви встали з ліжка

Узагальнити дані вимкнено

З вимкненим Узагальнити дані включаються окремі сегменти сну:

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

Поля:

  • date, start, startDate (Date): Час початку сегмента сну
  • end, endDate (Date): Час кінця сегмента сну
  • source (String): Застосунок або пристрій, що записав сегмент
  • qty (Number): Тривалість сегмента в годинах
  • value (String): Стан сну — одне з:
    • "Awake"
    • "Asleep" (некатегоризована фаза сну)
    • "In Bed"
    • "Core"
    • "REM"
    • "Deep"
    • "Unspecified"

Примітка: "Asleep" стосується некатегоризованої фази сну (а не загального часу сну). Це може статися, якщо джерело даних не підтримує відстеження фаз сну.

Глюкоза крові

Значення глюкози крові включають інформацію про час прийому їжі:

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

Поля:

  • qty (Number): Рівень глюкози крові
  • mealTime (String): Одне з:
    • "Before Meal"
    • "After Meal"
    • "Unspecified"

Харчування

Коли Узагальнити дані вимкнено, окремі зразки кількості харчування (наприклад Dietary Energy або Carbohydrates) можуть включати деталі їжі, записані в Apple Health. Наприклад:

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

Поля:

  • qty (Number): Кількість поживної речовини для зразка
  • foodType (String, необов’язково): Назва їжі, записана джерельним застосунком, коли доступна

З увімкненим Узагальнити дані підсумки харчування не включають foodType.

Статева активність

Записи статевої активності відстежують використання захисту:

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

Поля:

  • Unspecified (Number): Кількість подій того дня, коли стан захисту невідомий
  • Protection Used (Number): Кількість подій того дня, коли захист використовувався
  • Protection Not Used (Number): Кількість подій того дня, коли захист не використовувався

Узагальнені експорти підраховують кожен календарний день. JSON зберігає кожен день. У CSV грубша група часу показує останній день у цій групі.

Миття рук

Події миття рук відстежують стан завершення:

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

Поля:

  • qty (Number): Тривалість у секундах. Узагальнені експорти використовують середню тривалість у групі часу.
  • value (String): "Completed", коли сеанс триває понад 20 секунд, інакше "Incomplete"

Чищення зубів

Події чищення зубів відстежують стан завершення:

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

Поля:

  • qty (Number): Тривалість у секундах. Узагальнені експорти використовують середню тривалість у групі часу.
  • value (String): "Completed", коли сеанс триває щонайменше 2 хвилини, інакше "Incomplete"

Введення інсуліну

Записи введення інсуліну включають причину введення:

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

Поля:

  • qty (Number): Кількість введеного інсуліну. Узагальнені експорти додають кількості в групі часу.
  • reason (String): Одне з:
    • "Bolus" (інсулін під час їжі)
    • "Basal" (фоновий інсулін)

Пов’язана документація