Health Platform API

Health Platform API は、ユーザーの過去の健康、ウェルネス、フィットネスに関するデータの読み取り、書き込み、共有を行う単一のインターフェースをデベロッパーに提供する Android API です。Health Platform では、ユーザーが自身のデータを管理できます。ユーザーは、さまざまな種類のデータの読み書き権限をどのアプリに付与するかを制御できます。Health Platform API のデータの種類には、身長や心拍数などがあります。

Health Platform API は、個人の健康、フィットネス、ウェルネスに関するデータにアクセスして表示できるアプリをユーザーが選択できるようにするストレージと共有メカニズムを備えています。これにより、デベロッパーはユーザーが健康状態をより詳しく把握し、より効率的にデータをモニタリングできるアプリを開発できます。

Health Platform API ソフトウェア デベロッパー キットは、Android アプリ デベロッパーが、特定の Samsung デバイスでユーザーの健康とウェルネスに関するデータにアクセスするために必要なすべての要素を備えており、アプリがデータの挿入、削除、読み取りなどの一括オペレーションを実行することを可能にします。

始める

Health Platform を使用する場合は、次の点に注意してください。

  • クライアント アプリは、きめ細かい読み取りまたは書き込み権限をユーザーから付与される必要があります。
  • ユーザーは権限を拒否することができ、後からいつでも取り消すことができます。
  • Health Platform API は、特定の Samsung デバイスのみをサポートします。
  • HealthDataClient は Health Platform のクライアントであり、Health Platform へのエントリ ポイントです。

次の図は、デベロッパーが実施する必要がある統合手順を示しています。

統合の手順

リリース ファイル

Health Platform V1 リリースには、次のものが含まれています。

  • クライアント SDK: Health Platform API を使用するには、アプリにこの SDK を組み込みます。この SDK は、アプリの Gradle ビルドファイルに直接組み込むことができる Maven リポジトリです。

Health Platform をインストールする

次の手順に沿って Health Platform をインストールします。

次の例に示すように、アプリのルート build.gradle ファイルで、リポジトリを追加します。

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

次の例に示すように、モジュールの build.gradle ファイルに Health Platform SDK への依存関係を追加します。

dependencies {
   …
  implementation '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 は、アクティビティ セッション中の継続的な心拍数サンプルなどの高周波センサーデータに適しています。

上記の 3 つの RawData クラスはそれぞれ DataType の特定のサブクラス SampleDataIntervalDataSeriesData に対応し、これらはそれぞれ SampleDataTypeIntervalDataTypeSeriesDataType に対応します。

RawData オブジェクトには、挿入時に Health Platform によって一意の識別子(UID)が割り当てられます。この UID を使用して、読み取り、更新、削除のリクエストで特定の RawData オブジェクトを参照できます。

データ型

Health Platform には、健康とフィットネス用のアプリで一般的に使用される幅広いデータ型が含まれています。利用可能なデータ型で保存されたデータにより、ユーザーは過去の健康、フィットネス、ウェルネスのデータを包括的に把握し、日々の活動を分析できます。

各データ型はデータ形式で定義されます。次に例を示します。

  • フィールド: データ型に関連付けられた特定のフィールドまたは汎用フィールド。たとえば、血中酸素飽和度(血中酸素ウェルネス)データ型には、タイトル、メモ、パーセンテージなどのフィールドがあります。
  • 型: 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 の読み取り

このプラットフォームでは、クライアントは以下のタイプの AggregatedData に集計関数を適用できます。

  • StatisticalData: SampleData または SeriesData のセットの平均値、最小値、最大値(アクティビティ セッション中の心拍数の最小値と最大値など)。
  • CumulativeData: IntervalData 値の合計(1 日ごとの合計歩数など)。
  • CountData: 基盤となる RawData オブジェクトの単純な件数(特定の週におけるアクティビティ セッション数など)。件数データは、サンプル、間隔、系列の各データ型で計算できます。

Health Platform API に接続する

HealthDataClient は、Health Platform API へのエントリ ポイントです。

Health Platform に接続する手順は次のとおりです。

  1. HealthDataService.getClient を使用して、新しい HealthDataClient インスタンスを作成します。
  2. 次に、クライアント アプリは requestPermissions (Set) メソッドを使用してユーザーに権限をリクエストする必要があります。

HealthDataClient は、基盤となるストレージ レイヤへの接続を自動的に管理し、すべてのプロセス間通信(IPC)を処理して、送信リクエストと受信レスポンスをシリアル化します。