Health Platform-API

Die Health Platform API ist eine Android-API, die Entwicklern eine einzige Schnittstelle zum Lesen, Schreiben und Teilen der bisherigen Gesundheits‑, Wellness- und Fitnessdaten eines Nutzers bietet. Mit der Health Platform haben Nutzer die Kontrolle über ihre Daten. Nutzer können festlegen, welche Apps Lese- oder Schreibzugriff auf verschiedene Datentypen haben. Zu den Datentypen der Health Platform API gehören unter anderem Größe und Herzfrequenz.

Die Health Platform API bietet Nutzern einen Speicher- und Freigabemechanismus, mit dem sie auswählen können, welche Apps auf ihre personenbezogenen Gesundheits-, Fitness- und Wellnessdaten zugreifen und diese anzeigen dürfen. So können App-Entwickler Nutzern einen umfassenderen Überblick über ihre Gesundheit geben und Nutzer können ihre Daten effektiver im Blick behalten.

Das Health Platform API SDK bietet Android-App-Entwicklern alles, was sie benötigen, um auf ausgewählten Samsung-Geräten Zugriff auf die Gesundheits- und Wellnessdaten eines Nutzers zu ermöglichen. Außerdem können Apps damit Bulk-Vorgänge wie das Einfügen, Löschen und Lesen von Daten ausführen.

Erste Schritte

Beachten Sie bei der Verwendung der Health Platform Folgendes:

  • Client-Apps müssen vom Nutzer detaillierte Berechtigungen für den Lese- oder Schreibzugriff einholen.
  • Der Nutzer kann Berechtigungen jederzeit verweigern oder widerrufen.
  • Die Health Platform API wird nur auf ausgewählten Samsung-Geräten unterstützt.
  • HealthDataClient ist der Client für die Health Platform und ein Einstiegspunkt zur Health Platform.

Das folgende Bild zeigt die erforderlichen Integrationsschritte für Entwickler:

Integrationsschritte, einschließlich SDK-Einrichtung, Zugriff und Berechtigungen sowie CRUD-Vorgänge.
Abbildung 1. Schritte zur Health Platform-Integration.

Release-Dateien

Die Version 1 der Health Platform enthält Folgendes:

  • Client SDK: Dieses SDK muss in Ihre Anwendung eingebunden werden, damit Sie die Health Platform API verwenden können. Das SDK ist ein Maven-Repository, das Sie direkt in die Gradle-Build-Dateien Ihrer Anwendung einfügen können.

Health Platform installieren

Installieren Sie die Health Platform so:

Fügen Sie das Repository in der build.gradle-Datei des App-Stammverzeichnisses hinzu, wie im folgenden Beispiel gezeigt:

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

Fügen Sie der Datei build.gradle Ihres Moduls eine Abhängigkeit vom Health Platform SDK hinzu, wie im folgenden Beispiel gezeigt:

Kotlin

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

Groovy

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

Daten

In der Health Platform werden Gesundheits- und Fitnessdaten gespeichert und strukturiert. Außerdem werden die grundlegenden Unterschiede bei der Messung verschiedener Datentypen berücksichtigt. Beispiel: Eine Herzfrequenzmessung erfolgt sofort, eine Schrittzählung über einen bestimmten Zeitraum.

Hier sehen Sie die zentralen Objekte in der Health Platform und wie sie sich unterscheiden:

  • RawData:eine Messung und ein Datensatz.
  • DataType:Ein Spezifizierer für gängige Arten von Gesundheits- und Fitnessdaten wie Herzfrequenz, Körperfett oder Körpertemperatur und deren Formate wie Felder, schreibgeschützt oder optional.
  • SampleData:Ein RawData-Objekt, das eine Momentaufnahme ist, z. B. Herzfrequenz, Blutdruck oder Laufgeschwindigkeit.
  • IntervalData:Ein RawData-Objekt, das eine kumulative Messung über einen Zeitraum hinweg darstellt, z. B. die Anzahl der Schritte, die zurückgelegte Distanz oder die verbrannten Kalorien.
  • SeriesData:Ein RawData-Objekt, das eine Folge von Messungen über einen Zeitraum hinweg kapselt. SeriesData eignet sich besonders für hochfrequente Sensordaten wie kontinuierliche Herzfrequenzmessungen während einer Aktivität.

Jede der drei RawData-Klassen entspricht einer bestimmten Unterklasse von DataType: SampleData, IntervalData und SeriesData entsprechen SampleDataType, IntervalDataType bzw. SeriesDataType.

Jedem RawData-Objekt wird beim Einfügen von der Health Platform eine eindeutige Kennung (UID) zugewiesen. Mit dieser UID können Sie in Lese-, Aktualisierungs- oder Löschvorgängen auf ein bestimmtes RawData-Objekt verweisen.

Datentypen

Die Health Platform umfasst eine Vielzahl von Datentypen, die häufig in Gesundheits- und Fitness-Apps verwendet werden. Die mit den verfügbaren Datentypen gespeicherten Daten bieten Nutzern einen umfassenden Überblick über ihre bisherigen Gesundheits-, Fitness- und Wellnessdaten und geben Aufschluss über ihre täglichen Aktivitäten.

Jeder Datentyp wird durch sein Datenformat definiert, das Folgendes umfasst:

  • Felder:Spezifische oder generische Felder, die mit dem Datentyp verknüpft sind. Der Datentyp „Sauerstoffsättigung (SpO2)“ hat beispielsweise die Felder „Titel“, „Notizen“ und „Prozentsatz“.
  • Typ: „long“, „double“, „string“ oder „enum“.
  • Attribut:schreibgeschützt, erforderlich, optional oder Validierungsbereich.

Liste der Datentypen

Die Health Platform optimal nutzen, indem Sie sich mit den verfügbaren Datentypen vertraut machen Die Health Platform unterstützt die in der folgenden Tabelle aufgeführten Datentypen. Die Datentypen sind nach ihrem Format organisiert: Stichprobe, Intervall oder Reihe.

SampleData-Typen:

Tabelle 1: Health Platform SampleData-Typen
DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Erforderlich
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Erforderlich und optional
DataType.BloodPressureDataType BLOOD_PRESSURE Erforderlich und optional
DataType.BodyFatDataType BODY_FAT Erforderlich
DataType.BodyTemperatureDataType BODY_TEMPERATURE Erforderlich und optional
DataType.BoneMassDataType BONE_MASS Erforderlich
DataType.CervicalMucusDataType CERVICAL_MUCUS Optional
DataType.CervicalPositionDataType CERVICAL_POSITION Optional
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Erforderlich
DataType.DateOfBirthDataType DATE_OF_BIRTH Schreibgeschützt
DataType.GenderDataType GENDER Schreibgeschützt
DataType.HeartRateDataType HEART_RATE Erforderlich
DataType.HeightDataType HEIGHT Erforderlich
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Erforderlich
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Erforderlich
DataType.HrvRmssdDataType HRV_RMSSD Erforderlich
DataType.HrvSDataType HRV_S Erforderlich
DataType.HrvSd2DataType HRV_SD2 Erforderlich
DataType.HrvSdannDataType HRV_SDANN Erforderlich
DataType.HrvSdnnDataType HRV_SDNN Erforderlich
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Erforderlich
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Erforderlich
DataType.HrvSdsdDataType HRV_SDSD Erforderlich
DataType.HrvTinnDataType HRV_TINN Erforderlich
DataType.LeanBodyMassDataType LEAN_BODY_MASS Erforderlich
DataType.LocationDataType LOCATION Erforderlich
DataType.MenstruationDataType MENSTRUATION Optional
DataType.OvulationTestDataType OVULATION_TEST Erforderlich
DataType.OxygenSaturationDataType OXYGEN_SATURATION Erforderlich
DataType.PaceDataType PACE Erforderlich
DataType.PowerDataType POWER Erforderlich
DataType.RespiratoryRateDataType RESPIRATORY_RATE Erforderlich
DataType.RestingHeartRateDataType RESTING_HEART_RATE Erforderlich
DataType.SexualActivityDataType SEXUAL_ACTIVITY Erforderlich
DataType.SpeedDataType SPEED Erforderlich
DataType.StepsCadenceDataType STEPS_CADENCE Erforderlich
DataType.Vo2MaxDataType VO2_MAX Erforderlich und optional
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Erforderlich
DataType.WeightDataType WEIGHT Erforderlich

IntervalData-Typen:

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Erforderlich
DataType.ActiveTimeDataType ACTIVE_TIME Schreibgeschützt
DataType.ActivityEventDataType ACTIVITY_EVENT Erforderlich
DataType.ActivityLapDataType ACTIVITY_LAP Optional
DataType.ActivitySessionDataType ACTIVITY_SESSION Erforderlich
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Schreibgeschützt
DataType.DistanceDataType DISTANCE Erforderlich
DataType.ElevationGainedDataType ELEVATION_GAINED Erforderlich
DataType.FloorsClimbedDataType FLOORS_CLIMBED Erforderlich
DataType.HydrationDataType HYDRATION Erforderlich
DataType.NutritionDataType NUTRITION Optional
DataType.RepetitionsDataType REPETITIONS Erforderlich
DataType.SleepSessionDataType SLEEP_SESSION Optional
DataType.SleepStageDataType SLEEP_STAGE Erforderlich
DataType.StepsDataType STEPS Erforderlich
DataType.SwimmingStrokesDataType SWIMMING_STROKES Erforderlich und optional
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Schreibgeschützt

SeriesData-Typen:

Tabelle 3: Typen von Health Platform SeriesData
DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Erforderlich
DataType.HeartRateSeriesDataType HEART_RATE Erforderlich
DataType.LocationSeriesDataType LOCATION Erforderlich
DataType.PaceSeriesDataType PACE Erforderlich
DataType.PowerSeriesDataType POWER Erforderlich
DataType.SpeedSeriesDataType SPEED Erforderlich
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Erforderlich

Entwicklerfunktionen

Im Folgenden werden die Standarddatenfunktionen beschrieben, die in der Health Platform verfügbar sind. Die Plattform bietet Standardfunktionen zum Einfügen, Aktualisieren und Löschen von Rohdaten.

AggregatedData lesen

Auf der Plattform können Kunden eine Aggregationsfunktion auf die folgenden Typen von AggregatedData anwenden:

  • StatisticalData:Die durchschnittlichen, minimalen oder maximalen Werte in einer Gruppe von SampleData oder SeriesData, z. B. die minimale und maximale Herzfrequenz während einer Aktivität.
  • CumulativeData:Die Summe der IntervalData-Werte, z. B. die Gesamtzahl der Schritte innerhalb eines Tagesintervalls.
  • CountData:eine einfache Zählung der Anzahl der zugrunde liegenden RawData-Objekte, z. B. die Anzahl der Aktivitätssitzungen in einer bestimmten Woche. Zähldaten können für die Datentypen „Sample“, „Intervall“ und „Serie“ berechnet werden.

Mit der Health Platform API verbinden

HealthDataClient ist der Einstiegspunkt für die Health Platform API.

So stellen Sie eine Verbindung zur Health Platform her:

  1. Verwenden Sie HealthDataService.getClient, um neue HealthDataClient-Instanzen zu erstellen.
  2. Die Client-App muss dann mit der Methode requestPermissions (Set) die Berechtigung vom Nutzer anfordern.

HealthDataClient verwaltet automatisch die Verbindung zur zugrunde liegenden Speicherebene und übernimmt die gesamte Interprozesskommunikation (IPC) und Serialisierung ausgehender Anfragen und eingehender Antworten.