API платформы здравоохранения

Health Platform API — это API для Android, предоставляющий разработчикам единый интерфейс для чтения, записи и обмена историческими данными о здоровье, самочувствии и физической форме пользователя. С Health Platform пользователи могут контролировать свои данные. Пользователи сами определяют, какие приложения имеют доступ к чтению или записи различных типов данных. API Health Platform предлагает такие типы данных, как рост, пульс и другие.

API Health Platform предоставляет пользователям механизм хранения и обмена данными, позволяющий им выбирать, какие приложения могут получать доступ к их персональным данным о здоровье, физической форме и самочувствии и отображать их. Это позволяет разработчикам приложений предоставлять пользователям более полную картину их здоровья и эффективнее отслеживать их данные.

Комплект разработчика программного обеспечения Health Platform API дает разработчикам приложений для Android все необходимое для предоставления доступа к данным о здоровье и благополучии пользователя на некоторых устройствах Samsung и позволяет приложениям выполнять массовые операции, такие как вставка, удаление и чтение данных.

Начать

При использовании Health Platform помните о следующем:

  • Клиентские приложения должны получать от пользователя детальные разрешения на чтение и запись.
  • Пользователь может в любой момент отказать в предоставлении разрешений или отозвать их.
  • API Health Platform поддерживает только некоторые устройства Samsung.
  • HealthDataClient — это клиент для Health Platform и точка входа в Health Platform.

На следующем рисунке показаны необходимые этапы интеграции, которые должны выполнить разработчики:

Шаги интеграции, включая настройку SDK, доступ и разрешения, а также операции CRUD.
Рисунок 1. Этапы интеграции платформы здравоохранения.

Файлы релиза

Релиз Health Platform V1 содержит следующее:

  • Клиентский SDK : включите этот SDK в своё приложение, чтобы использовать API Health Platform. SDK — это репозиторий Maven, который можно напрямую включить в файлы сборки Gradle вашего приложения.

Установить платформу здравоохранения

Установите Health Platform, выполнив следующие шаги:

В корневом файле build.gradle приложения добавьте репозиторий, как показано в следующем примере:

allprojects {
    . . .
    repositories {
        . . .
        google()
    }
}

Добавьте зависимость от Health Platform SDK в файл build.gradle вашего модуля, как показано в следующем примере:

Котлин

зависимости { . . . реализация("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }

Круто

зависимости { . . . реализация 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }

Данные

Платформа Health Platform хранит и структурирует данные о здоровье и физической форме. Она также учитывает основные различия в способах измерения данных разных типов. Например, измерение пульса производится немедленно, а подсчёт шагов — в течение определённого периода времени.

Вот обзор центральных объектов Health Platform и их отличия:

  • RawData : запись измерений и данных.
  • DataType : спецификатор для общих типов данных о здоровье и фитнесе, таких как частота сердечных сокращений, содержание жира в организме или температура тела, а также их форматов, таких как поля, только для чтения или необязательные.
  • SampleData : объект RawData , представляющий собой мгновенное измерение, например частоту сердечных сокращений, артериальное давление или скорость бега.
  • IntervalData : объект RawData , представляющий собой совокупное измерение за определенный период времени, например количество сделанных шагов, пройденное расстояние или сожженные калории.
  • SeriesData : объект RawData , содержащий последовательность измерений за определённый период времени. SeriesData особенно подходит для высокочастотных данных датчиков, таких как непрерывные измерения частоты сердечных сокращений во время сеанса активности.

Каждый из трех классов RawData соответствует определенному подклассу DataType : SampleData , IntervalData и SeriesData соответствуют SampleDataType , IntervalDataType и SeriesDataType соответственно.

Платформа Health Platform присваивает каждому объекту RawData уникальный идентификатор (UID) при добавлении. Этот UID можно использовать для ссылки на конкретный объект RawData в запросах на чтение, обновление или удаление.

Типы данных

Платформа Health Platform включает в себя широкий набор типов данных, которые обычно используются в приложениях для здоровья и фитнеса. Данные, хранящиеся в доступных типах данных, предоставляют пользователям комплексное представление об истории их здоровья, физической форме и самочувствии, давая представление об их повседневной активности.

Каждый тип данных определяется своим форматом данных, который включает в себя следующее:

  • Поля: специальные или общие поля, связанные с типом данных. Например, тип данных «Насыщение крови кислородом» (SpO2) имеет такие поля, как «Название», «Примечания» и «Процент».
  • Тип: long, double, string или enum.
  • Атрибут: только для чтения, обязательный, необязательный или диапазон проверки.

Список типов данных

Используйте Health Platform максимально эффективно, изучив доступные типы данных. Health Platform поддерживает типы данных, представленные в следующей таблице. Типы данных организованы по формату: выборка, интервал или серия.

Типы SampleData :

Таблица 1: Примеры типов SampleData платформы здравоохранения
DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Необходимый
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Обязательно и необязательно
DataType.BloodPressureDataType BLOOD_PRESSURE Обязательно и необязательно
DataType.BodyFatDataType BODY_FAT Необходимый
DataType.BodyTemperatureDataType BODY_TEMPERATURE Обязательно и необязательно
DataType.BoneMassDataType BONE_MASS Необходимый
DataType.CervicalMucusDataType CERVICAL_MUCUS Необязательный
DataType.CervicalPositionDataType CERVICAL_POSITION Необязательный
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Необходимый
DataType.DateOfBirthDataType DATE_OF_BIRTH Только для чтения
DataType.GenderDataType GENDER Только для чтения
DataType.HeartRateDataType HEART_RATE Необходимый
DataType.HeightDataType HEIGHT Необходимый
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Необходимый
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Необходимый
DataType.HrvRmssdDataType HRV_RMSSD Необходимый
DataType.HrvSDataType HRV_S Необходимый
DataType.HrvSd2DataType HRV_SD2 Необходимый
DataType.HrvSdannDataType HRV_SDANN Необходимый
DataType.HrvSdnnDataType HRV_SDNN Необходимый
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Необходимый
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Необходимый
DataType.HrvSdsdDataType HRV_SDSD Необходимый
DataType.HrvTinnDataType HRV_TINN Необходимый
DataType.LeanBodyMassDataType LEAN_BODY_MASS Необходимый
DataType.LocationDataType LOCATION Необходимый
DataType.MenstruationDataType MENSTRUATION Необязательный
DataType.OvulationTestDataType OVULATION_TEST Необходимый
DataType.OxygenSaturationDataType OXYGEN_SATURATION Необходимый
DataType.PaceDataType PACE Необходимый
DataType.PowerDataType POWER Необходимый
DataType.RespiratoryRateDataType RESPIRATORY_RATE Необходимый
DataType.RestingHeartRateDataType RESTING_HEART_RATE Необходимый
DataType.SexualActivityDataType SEXUAL_ACTIVITY Необходимый
DataType.SpeedDataType SPEED Необходимый
DataType.StepsCadenceDataType STEPS_CADENCE Необходимый
DataType.Vo2MaxDataType VO2_MAX Обязательно и необязательно
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Необходимый
DataType.WeightDataType WEIGHT Необходимый

Типы данных IntervalData :

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Необходимый
DataType.ActiveTimeDataType ACTIVE_TIME Только для чтения
DataType.ActivityEventDataType ACTIVITY_EVENT Необходимый
DataType.ActivityLapDataType ACTIVITY_LAP Необязательный
DataType.ActivitySessionDataType ACTIVITY_SESSION Необходимый
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Только для чтения
DataType.DistanceDataType DISTANCE Необходимый
DataType.ElevationGainedDataType ELEVATION_GAINED Необходимый
DataType.FloorsClimbedDataType FLOORS_CLIMBED Необходимый
DataType.HydrationDataType HYDRATION Необходимый
DataType.NutritionDataType NUTRITION Необязательный
DataType.RepetitionsDataType REPETITIONS Необходимый
DataType.SleepSessionDataType SLEEP_SESSION Необязательный
DataType.SleepStageDataType SLEEP_STAGE Необходимый
DataType.StepsDataType STEPS Необходимый
DataType.SwimmingStrokesDataType SWIMMING_STROKES Обязательно и необязательно
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Только для чтения

Типы SeriesData :

Таблица 3: Типы SeriesData Health Platform
DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Необходимый
DataType.HeartRateSeriesDataType HEART_RATE Необходимый
DataType.LocationSeriesDataType LOCATION Необходимый
DataType.PaceSeriesDataType PACE Необходимый
DataType.PowerSeriesDataType POWER Необходимый
DataType.SpeedSeriesDataType SPEED Необходимый
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Необходимый

Функции разработчика

Ниже описан набор стандартных функций обработки данных, доступных в Health Platform. Платформа предоставляет стандартные функции вставки, обновления и удаления необработанных данных.

Чтение агрегированных данных

Платформа позволяет клиентам применять функцию агрегации к следующим типам AggregatedData :

  • StatisticalData : среднее, минимальное или максимальное значение в наборе SampleData или SeriesData , например минимальная и максимальная частота сердечных сокращений во время сеанса активности.
  • CumulativeData : сумма значений IntervalData , например, общее количество шагов за дневной интервал.
  • CountData : простой подсчёт количества базовых объектов RawData , например, количества сеансов активности за определённую неделю. Данные подсчёта можно вычислить для выборочных, интервальных и серийных типов данных.

Подключитесь к API платформы здравоохранения

HealthDataClient — это точка входа в API платформы здравоохранения.

Следующие шаги описывают, как подключиться к Health Platform:

  1. Используйте HealthDataService.getClient для создания новых экземпляров HealthDataClient .
  2. Затем клиентское приложение должно запросить разрешение у пользователя, используя метод requestPermissions (Set) .

HealthDataClient автоматически управляет своим подключением к базовому уровню хранения данных и обрабатывает все межпроцессное взаимодействие (IPC), а также сериализацию исходящих запросов и входящих ответов.

{% дословно %} {% endverbatim %} {% дословно %} {% endverbatim %}