Как работает HealthKit
Технический обзор того, как Apple Health хранит и организует ваши данные о здоровье.
Что такое HealthKit?
HealthKit — это платформа Apple для данных о здоровье и фитнесе. Она действует как центральный репозиторий, который:
- Хранит данные о здоровье из нескольких источников (Apple Watch, iPhone, сторонние приложения)
- Обеспечивает единый формат данных для всех показателей здоровья
- Управляет разрешениями на конфиденциальность на детальном уровне
- Обеспечивает обмен данными между авторизованными приложениями
Как хранятся данные
HealthKit хранит данные в виде типизированных образцов, обычно содержащих:
| Компонент | Описание | Пример |
|---|---|---|
| Время начала/окончания | Когда произошло измерение | 2025-01-15 08:30:00 |
| Значение + единица | Само измерение | 72 уд/мин |
| Источник и устройство | Какое приложение/устройство записало данные | Apple Watch Series 9 |
| Метаданные | Дополнительный контекст | Тип тренировки, положение устройства |
Типы образцов
Количественные образцы
Числовые измерения с единицами.
Примеры: - Количество шагов (шаги) - Частота пульса (уд/мин) - Уровень глюкозы в крови (мг/дл) - Расстояние (метры) - Сожжённая энергия (ккал)
Категориальные образцы
Перечислимые значения из определённого набора.
Примеры: - Фаза сна (REM, основной, глубокий, бодрствование) - Менструальный поток (лёгкий, средний, обильный) - Сеанс осознанности (присутствует/отсутствует)
Корреляционные образцы
Группы связанных образцов, хранящихся вместе.
Примеры: - Артериальное давление (систолическое + диастолическое) - Питание (несколько питательных веществ из одного приёма пищи)
Образцы тренировок
Структурированные сеансы активности с: - Типом активности (бег, плавание, езда на велосипеде и т.д.) - Временем начала и окончания - Общей сожжённой энергией - Расстоянием (если применимо) - Данными маршрута (если записано)
Клинические записи
Если поддерживается вашим регионом и поставщиком медицинских услуг: - Результаты лабораторных исследований - Записи о вакцинации - Лекарства - Клинические документы
Источники данных
HealthKit может получать данные из нескольких источников:
Устройства Apple
- Apple Watch — Частота пульса, активность, тренировки, ЭКГ, сон, кислород в крови
- iPhone — Шаги, расстояние, пройденные этажи (датчики движения)
Устройства сторонних производителей
- Умные весы (вес, состав тела)
- Мониторы артериального давления
- Глюкометры
- Трекеры сна
Ручной ввод
- Данные, введённые пользователем в приложении Apple Health
- Данные, введённые через сторонние приложения
Интеграция с медициной
- Клинические записи от поддерживаемых поставщиков
- Результаты лабораторных исследований (где доступно)
Приоритет источника
Когда несколько источников записывают одну и ту же метрику, HealthKit использует правила для определения того, какие данные отображать:
- Данные, введённые пользователем, обычно имеют наивысший приоритет
- Данные устройства от носимых датчиков
- Данные сторонних приложений
Вы можете управлять приоритетом источника в настройках Apple Health.
Архитектура конфиденциальности
Модель конфиденциальности HealthKit является фундаментом его дизайна:
Разрешения по типу
Приложения запрашивают доступ к определённым типам данных, а не ко всем данным о здоровье. Вы можете предоставить: - Только доступ для чтения - Только доступ для записи - Оба доступа: чтение и запись - Ни один из доступов
Пользовательский контроль
- Просматривайте разрешения в любое время в Настройках > Здоровье > Доступ к данным и устройства
- Отзывайте доступ в любое время
- Смотрите, какие приложения имели доступ к каким типам данных
Хранение на устройстве
- Данные о здоровье хранятся локально на вашем iPhone
- Зашифрованы с помощью кода доступа устройства
- Резервная копия в iCloud создаётся только если Health включён в настройках iCloud
Общие идентификаторы HealthKit
Каждый тип данных имеет уникальный идентификатор. Примеры:
| Метрика | Идентификатор HealthKit |
|---|---|
| Частота пульса | HKQuantityTypeIdentifier.heartRate |
| Количество шагов | HKQuantityTypeIdentifier.stepCount |
| Анализ сна | HKCategoryTypeIdentifier.sleepAnalysis |
| VO₂ Max | HKQuantityTypeIdentifier.vo2Max |
| Артериальное давление | HKCorrelationTypeIdentifier.bloodPressure |
