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

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

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

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

Начните

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

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

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

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

Файлы выпуска

В релиз Health Platform V1 входят следующие компоненты:

  • Клиентский SDK : Включите этот SDK в свое приложение, чтобы использовать API платформы здравоохранения. 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 соответственно.

При добавлении каждого объекта RawData платформа Health Platform присваивает ему уникальный идентификатор (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 платформы здравоохранения. Типы данных.
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 , например, количества сессий активности за данную неделю. Данные Count могут быть вычислены для типов данных sample, interval и series.

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

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

Следующие шаги описывают, как подключиться к платформе здравоохранения:

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

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

{% verbatim %} {% endverbatim %} {% verbatim %} {% endverbatim %}