API Health Platform

L'API Health Platform est une API Android qui propose aux développeurs une interface unique pour lire, écrire et partager un historique des données de santé, de bien-être et de remise en forme d'un utilisateur. Health Platform permet aux utilisateurs de contrôler leurs données. Les utilisateurs désignent les applications disposant d'un accès en lecture ou en écriture à différents types de données. Les types de données de l'API Health Platform incluent en particulier la taille et la fréquence cardiaque.

L'API Health Platform fournit aux utilisateurs un mécanisme de stockage et de partage qui leur permet de sélectionner les applications qui peuvent accéder à leurs données personnelles de santé, de remise en forme et de bien-être, et les afficher. Ainsi, les développeurs d'applications peuvent offrir aux utilisateurs une vue plus complète de leur état de santé et contrôler plus efficacement leurs données.

Le software development kit (kit de développement logiciel) de l'API Health Platform fournit aux développeurs d'applications Android tout ce dont ils ont besoin pour donner accès aux données de santé et de bien-être d'un utilisateur sur certains appareils Samsung, et permet aux applications d'effectuer des opérations groupées, telles que l'entrée, la suppression et la lecture des données.

Premiers pas

Gardez les points suivants à l'esprit lorsque vous utilisez Health Platform :

  • Les applications clientes doivent obtenir des autorisations précises de l'utilisateur en termes d'accès en lecture ou en écriture.
  • L'utilisateur peut refuser ou révoquer les autorisations à tout moment par la suite.
  • L'API Health Platform n'est compatible qu'avec certains appareils Samsung.
  • HealthDataClient est le client de Health Platform et un point d'entrée pour y accéder.

L'image suivante illustre les étapes d'intégration nécessaires à suivre par les développeurs :

étapes d'intégration

Libérer des fichiers

La version 1 de Health Platform contient les éléments suivants :

  • SDK client : intégrez ce SDK à votre application pour utiliser l'API Health Platform. Le SDK est un dépôt Maven que vous pouvez directement intégrer dans les fichiers de compilation Gradle de votre application.

Installer Health Platform

Pour installer Health Platform, procédez comme suit :

Dans le fichier build.gradle racine de l'application, ajoutez le dépôt, comme indiqué dans l'exemple suivant :

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

Ajoutez une dépendance au SDK Health Platform dans le fichier build.gradle de votre module, comme indiqué dans l'exemple suivant :

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

Données

Health Platform stocke et structure les données de santé et de remise en forme. Elle tient également compte des principales différences entre les méthodes de mesure des données de types spécifiques. Par exemple, une mesure de la fréquence cardiaque est effectuée immédiatement, tandis qu'un compte du nombre de pas est établi sur une période déterminée.

Voici un aperçu des principaux objets de Health Platform et de leurs différences :

  • RawData : enregistrement de données et de mesures.
  • DataType : spécificateur de données courantes de santé et de remise en forme, comme la fréquence cardiaque, la masse grasse ou la température corporelle, et leurs formats (par exemple, des champs, des données en lecture seule ou des données facultatives).
  • SampleData : objet RawData qui est une mesure instantanée, telle que la fréquence cardiaque, la pression artérielle ou la vitesse de course.
  • IntervalData : objet RawData qui est une mesure cumulée prise sur une période donnée, comme le nombre de pas effectués, la distance parcourue ou les calories brûlées.
  • SeriesData : objet RawData qui encapsule une série de mesures sur une période donnée. SeriesData convient particulièrement aux données de capteurs haute fréquence, comme les mesures continues de fréquence cardiaque pendant une session d'activité.

Chacune des trois classes RawData correspond à une sous-classe spécifique de DataType : SampleData, IntervalData et SeriesData correspondent respectivement à SampleDataType, IntervalDataType et SeriesDataType.

Chaque objet RawData reçoit de Health Platform un identifiant unique (UID) lorsqu'il est inséré. Vous pouvez utiliser cet UID pour référencer un objet RawData spécifique dans les requêtes de lecture, de modification ou de suppression.

Types de données

Health Platform comprend un large ensemble de types de données couramment utilisés dans les applications de santé et de remise en forme. Les données stockées avec les types de données disponibles offrent aux utilisateurs un aperçu complet de leur historique de données de santé, de remise en forme et de bien-être, ainsi que de leurs activités quotidiennes.

Chaque type de donnée est défini par son format, qui comprend les éléments suivants :

  • Champs : champs spécifiques ou génériques associés au type de données. Par exemple, le type de données de la saturation en oxygène du sang (SpO2) comporte plusieurs champs tels que "Titre", "Remarques" et "Pourcentage".
  • Type : long, double, chaîne ou énumération.
  • Attribut : champ en lecture seule, obligatoire, facultatif ou de validation.

Liste des types de données

Exploitez tout le potentiel de Health Platform en identifiant les différents types de données disponibles. Health Platform prend actuellement en charge les types de données repris dans le tableau suivant. Les types de données sont organisés en fonction de leur format (échantillon, intervalle ou série) :

Types SampleData :

DataType.BasalMetabolicRateDataType BASAL_METABOLIC_RATE Obligatoire
DataType.BloodGlucoseDataType BLOOD_GLUCOSE Obligatoire et facultatif
DataType.BloodPressureDataType BLOOD_PRESSURE Obligatoire et facultatif
DataType.BodyFatDataType BODY_FAT Obligatoire
DataType.BodyTemperatureDataType BODY_TEMPERATURE Obligatoire et facultatif
DataType.BoneMassDataType BONE_MASS Obligatoire
DataType.CervicalMucusDataType CERVICAL_MUCUS Facultatif
DataType.CervicalPositionDataType CERVICAL_POSITION Facultatif
DataType.CyclingPedalingCadenceDataType CYCLING_PEDALING_CADENCE Obligatoire
DataType.DateOfBirthDataType DATE_OF_BIRTH Lecture seule
DataType.GenderDataType GENDER Lecture seule
DataType.HeartRateDataType HEART_RATE Obligatoire
DataType.HeightDataType HEIGHT Obligatoire
DataType.HipCircumferenceDataType HIP_CIRCUMFERENCE Obligatoire
DataType.HrvDifferentialIndexDataType HRV_DIFFERENTIAL_INDEX Obligatoire
DataType.HrvRmssdDataType HRV_RMSSD Obligatoire
DataType.HrvSDataType HRV_S Obligatoire
DataType.HrvSd2DataType HRV_SD2 Obligatoire
DataType.HrvSdannDataType HRV_SDANN Obligatoire
DataType.HrvSdnnDataType HRV_SDNN Obligatoire
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Obligatoire
DataType.HrvSdnnIndexDataType HRV_SDNN_INDEX Obligatoire
DataType.HrvSdsdDataType HRV_SDSD Obligatoire
DataType.HrvTinnDataType HRV_TINN Obligatoire
DataType.LeanBodyMassDataType LEAN_BODY_MASS Obligatoire
DataType.LocationDataType LOCATION Obligatoire
DataType.MenstruationDataType MENSTRUATION Facultatif
DataType.OvulationTestDataType OVULATION_TEST Obligatoire
DataType.OxygenSaturationDataType OXYGEN_SATURATION Obligatoire
DataType.PaceDataType PACE Obligatoire
DataType.PowerDataType POWER Obligatoire
DataType.RespiratoryRateDataType RESPIRATORY_RATE Obligatoire
DataType.RestingHeartRateDataType RESTING_HEART_RATE Obligatoire
DataType.SexualActivityDataType SEXUAL_ACTIVITY Obligatoire
DataType.SpeedDataType SPEED Obligatoire
DataType.StepsCadenceDataType STEPS_CADENCE Obligatoire
DataType.Vo2MaxDataType VO2_MAX Obligatoire et facultatif
DataType.WaistCircumferenceDataType WAIST_CIRCUMFERENCE Obligatoire
DataType.WeightDataType WEIGHT Obligatoire

Types IntervalData :

DataType.ActiveEnergyDataType ACTIVE_ENERGY_BURNED Obligatoire
DataType.ActiveTimeDataType ACTIVE_TIME Lecture seule
DataType.ActivityEventDataType ACTIVITY_EVENT Obligatoire
DataType.ActivityLapDataType ACTIVITY_LAP Facultatif
DataType.ActivitySessionDataType ACTIVITY_SESSION Obligatoire
DataType.BasalEnergyDataType BASAL_ENERGY_BURNED Lecture seule
DataType.DistanceDataType DISTANCE Obligatoire
DataType.ElevationGainedDataType ELEVATION_GAINED Obligatoire
DataType.FloorsClimbedDataType FLOORS_CLIMBED Obligatoire
DataType.HydrationDataType HYDRATION Obligatoire
DataType.NutritionDataType NUTRITION Facultatif
DataType.RepetitionsDataType REPETITIONS Obligatoire
DataType.SleepSessionDataType SLEEP_SESSION Facultatif
DataType.SleepStageDataType SLEEP_STAGE Obligatoire
DataType.StepsDataType STEPS Obligatoire
DataType.SwimmingStrokesDataType SWIMMING_STROKES Obligatoire et facultatif
DataType.TotalEnergyDataType TOTAL_ENERGY_BURNED Lecture seule

Types SeriesData :

DataType.CyclingPedalingCadenceSeriesDataType CYCLING_PEDALING_CADENCE Obligatoire
DataType.HeartRateSeriesDataType HEART_RATE Obligatoire
DataType.LocationSeriesDataType LOCATION Obligatoire
DataType.PaceSeriesDataType PACE Obligatoire
DataType.PowerSeriesDataType POWER Obligatoire
DataType.SpeedSeriesDataType SPEED Obligatoire
DataType.StepsCadenceSeriesDataType STEPS_CADENCE Obligatoire

Fonctions du développeur

Vous trouverez ci-dessous l'ensemble des fonctions de données standards disponibles dans Health Platform. La plate-forme fournit des fonctions standards d'entrée, de modification et de suppression des données brutes.

Lire AggregatedData

La plate-forme permet aux clients d'appliquer une fonction d'agrégation aux types de AggregatedData suivants :

  • StatisticalData : fournit les valeurs moyenne, minimale ou maximale d'un ensemble de SampleData ou SeriesData, comme la fréquence cardiaque minimale et maximale au cours d'une session d'activité.
  • CumulativeData : somme des valeurs IntervalData, par exemple le nombre total de pas effectués dans un intervalle quotidien.
  • CountData : fournit un compte simple du nombre d'objets RawData sous-jacents, tels que le nombre de sessions d'activité au cours d'une semaine déterminée. Les données de compte peuvent être calculées pour les types de données d'échantillons, d'intervalles et de séries.

Se connecter à l'API Health Platform

HealthDataClient est le point d'entrée de l'API Health Platform.

Pour vous connecter à Santé Platform, procédez comme suit :

  1. Utilisez HealthDataService.getClient pour créer de nouvelles instances HealthDataClient.
  2. L'application client doit ensuite demander l'autorisation à l'utilisateur à l'aide de la méthode requestPermissions (Set).

HealthDataClient gère automatiquement sa connexion à la couche de stockage sous-jacente ainsi que l'ensemble du mécanisme de communication inter-processus (IPC) et de la sérialisation des requêtes sortantes et des réponses entrantes.