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

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

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

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

Начать

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

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

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

шаги интеграции

Выпуск файлов

Выпуск Health Platform V1 содержит следующее:

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

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

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

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

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

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

dependencies {
   
  implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}

Данные

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

Ниже приведены основные объекты Health Platform и их различия:

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

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

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

Типы данных

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

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

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

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

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

Типы 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 :

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) и сериализацию исходящих запросов и входящих ответов.

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