Planifier et examiner les types de données Santé Connect

Santé Connect stocke et structure les données de santé et de remise en forme. Il tient également compte de la façon dont les différents types de données sont mesurés. Ces types de données incluent les mesures de la fréquence cardiaque prises immédiatement, le nombre de pas effectués en un certain temps et les données de sommeil collectées en sessions.

Il est important de comprendre d'abord les types de données et les autorisations proposés par Santé Connect afin de planifier les exigences de votre application. Vous devez donc examiner vos types de données avant de pouvoir finaliser vos exigences.

Catégories de types de données

Santé Connect est compatible avec les types de données utilisés dans la plupart des applications de santé et de remise en forme afin de proposer un maximum de variété. Santé Connect vise à offrir une vue complète et un stockage des données de santé et de remise en forme. Ces types de données se répartissent dans les catégories suivantes:

  • Données d'activité : permettent de capturer toute activité effectuée par un utilisateur. Il peut s'agir d'activités de santé et de remise en forme comme la course à pied ou la natation.
  • Données corporelles:permettent de capturer des données courantes sur le corps, comme le poids et le métabolisme de base d'un utilisateur.
  • Données de suivi de cycle : permettent de capturer les cycles menstruels et les points de données associés tels que le résultat binaire d'un test d'ovulation.
  • Données nutritionnelles : permettent de capturer les types de données concernant l'hydratation et la nutrition. La première représente la quantité d'eau consommée par un utilisateur. La nutrition inclut, quant à elle, de nombreux champs facultatifs, tels que les calories, le sucre et le magnésium.
  • Données de sommeil : permettent de capturer les données d'intervalle liées au temps et au type de sommeil d'un utilisateur.
  • Constantes : permettent de capturer les informations essentielles sur la santé générale de l'utilisateur. Elles comprennent des informations telles que la température corporelle, le taux de glycémie, la tension artérielle et la saturation en oxygène du sang.

Format des types de données

Les types de données de Santé Connect sont stockés dans des objets qui sont des sous-classes de Record.

Pour chaque type de données, des champs associés sont génériques (time et zoneOffset, par exemple) ou spécifiques (title, count et percentage, par exemple). Certains champs utilisent des types simples (long, double ou chaîne, par exemple), tandis que d'autres utilisent des types complexes tels que les énumérations et les classes telles que Instant et ZoneOffset. Les attributs de ces champs peuvent être obligatoires ou facultatifs. Certains attributs sont en lecture seule, et d'autres sont limités à une plage de valeurs spécifique.

Pour obtenir la liste complète des types de données disponibles et de leurs champs, consultez les classes de Jetpack.

Attributs de données supplémentaires

Les données de l'API Santé Connect incluent également des attributs de métadonnées décrits dans la liste suivante :

  • Identifiant Santé Connect : un identifiant unique (UID) est attribué à chaque point de données lors de leur création. Cela est utile pour les opérations de lecture et d'écriture standards. Pour en savoir plus, consultez ID Santé Connect.
  • Heure de la dernière modification:indique l'horodatage de la dernière mise à jour d'un enregistrement. Cette information est générée automatiquement à la première création de l'enregistrement ou à chaque mise à jour.
  • Origine des données:Santé Connect stocke des informations sur l'application d'où proviennent les données. Il contient le nom du package de l'origine, qui est automatiquement ajouté lors de la création.
  • Appareil : Santé Connect stocke des informations sur l'appareil d'où proviennent les données. Il contient le fabricant et le modèle de l'appareil dont vous spécifiez la valeur manuellement.
  • ID client:Santé Connect fournit des ID client afin que les applications clientes puissent se référer aux données à l'aide de leurs propres ID, ce qui facilite la résolution des conflits et la synchronisation. Ces informations sont fournies manuellement à l'enregistrement.
  • Version des enregistrements client:en plus de l'ID client, Santé Connect assure la gestion des versions pour faciliter le suivi des modifications lors de la synchronisation des données. Ces informations sont fournies manuellement à l'enregistrement.
  • Méthode d'enregistrement:Santé Connect vous permet de comprendre comment les données sont enregistrées. Ces méthodes incluent les applications qui enregistrent les données de manière passive (automatiquement) et les utilisateurs qui enregistrent les données de manière active ou manuelle.

ID Santé Connect

Santé Connect attribue des identifiants uniques (UID) aux objets de données nouvellement insérés, qui les identifient et les distinguent des autres. Les ID Santé Connect sont utiles dans les requêtes de lecture ou d'écriture. Les ID Santé Connect ne sont pas identiques aux ID client. Une application cliente attribue des ID client, tandis que Santé Connect n'attribue que des ID Santé Connect.

Rappelez-vous les points suivants lorsque vous utilisez des ID Santé Connect:

  • Les sessions ont un seul ID Santé Connect, mais les données qu'elles contiennent ont leurs propres ID Santé Connect.
  • Les ID Santé Connect ne sont pas liés à des codes temporels et ne sont pas concernés par eux.
  • Certains cas d'utilisation peuvent nécessiter de stocker un ID Santé Connect spécifique au cours d'un workflow. Par exemple, un ID spécifique est requis pour récupérer et afficher à un utilisateur la saisie de données qu'il vient d'enregistrer.

Heure dans Santé Connect

Toutes les données écrites dans Santé Connect doivent spécifier les informations de fuseau horaire. Spécifier le décalage horaire permet aux applications de lire les données pour les représenter en temps civil. Le temps civil est l'heure locale de l'utilisateur, qui n'est pas nécessairement exprimée en temps universel coordonné (UTC).

Dans de rares cas, le fuseau horaire peut ne pas être disponible. Lorsque cela se produit sous Android 14 (niveau d'API 34), Santé Connect définit le décalage de zone en fonction du fuseau horaire par défaut du système de l'appareil. Dans Android 13 et versions antérieures (niveau d'API 33 et versions antérieures), il est possible d'écrire dans Santé Connect sans spécifier d'informations de décalage de fuseau horaire, ce qui doit être évité dans la mesure du possible.

Paramètres d'heure et de fuseau horaire

Les informations de fuseau horaire précisées lors de l'écriture des données permettent de les avoir à disposition lors de la lecture de données dans Santé Connect. Toutefois, cette information peut manquer dans certains cas, par exemple lorsque le fuseau horaire n'est pas précisé. Votre application doit être prête à traiter ces deux types de données, en fonction de votre situation spécifique.

Autorisations

Avant de pouvoir demander des autorisations, votre application doit les déclarer dans le fichier manifeste. Consultez les tableaux suivants pour découvrir le mappage complet des types de données et de leurs autorisations.

Pour les versions 1.0.0-alpha10 et ultérieures

Type de classe d'enregistrement Déclaration d'autorisations d'accès en lecture et en écriture
ActiveCaloriesBurned android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED
BasalBodyTemperature android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE
BasalMetabolicRate android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE
BloodGlucose android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE
BloodPressure android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE
BodyFat android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT
BodyTemperature android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE
BodyWaterMass android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS
BoneMass android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS
CervicalMucus android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS
CyclingPedalingCadence android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
Distance android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
ElevationGained android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED
ExerciseSession android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
FloorsClimbed android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED
HeartRate android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
HeartRateVariabilityRmssd android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY
Height android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT
Hydration android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION
IntermenstrualBleeding android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING
LeanBodyMass android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS
MenstruationFlow android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
MenstruationPeriod android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION
Nutrition android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION
OvulationTest android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST
OxygenSaturation android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
PlannedExercise android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE
Power android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
RespiratoryRate android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE
RestingHeartRate android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE
SexualActivity android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY
SkinTemperature androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE
SleepSession android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
Speed android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
StepsCadence android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
Steps android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
TotalCaloriesBurned android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED
Vo2Max android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX
Weight android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT
WheelchairPushes android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

Pour les versions 1.0.0-alpha09 et antérieures

Type de classe d'enregistrement Déclaration d'autorisations d'accès en lecture et en écriture
ActiveCaloriesBurned androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE
BasalBodyTemperature androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE
BasalMetabolicRate androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE
BloodGlucose androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE
BloodPressure androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE
BodyFat androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE
BodyTemperature androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE
BodyWaterMass androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE
BoneMass androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE
CervicalMucus androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE
CyclingPedalingCadence androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE
Distance androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE
ElevationGained androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE
ExerciseSession androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE
FloorsClimbed androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE
HeartRate androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE
HeartRateVariabilityRmssd androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE
Height androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE
Hydration androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE
IntermenstrualBleeding androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE
LeanBodyMass androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE
MenstruationFlow androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE
Nutrition androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE
OvulationTest androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE
OxygenSaturation androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE
Power androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE
RespiratoryRate androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE
RestingHeartRate androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE
SexualActivity androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE
SleepSession androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE
Speed androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE
StepsCadence androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE
Steps androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE
TotalCaloriesBurned androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE
Vo2Max androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE
Weight androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE
WheelchairPushes androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE

Vérifier vos types de données et vos autorisations

Maintenant que vous avez planifié vos types de données et vos autorisations, vous pouvez les implémenter pendant le développement.

Lorsque vous examinez votre application avant de l'importer sur le Play Store, vérifiez la liste des types de données et des autorisations dont elle a besoin. Vous pouvez ainsi déclarer avec précision l'utilisation des données par votre application.

Lorsque vous vous préparez à publier votre application sur le Play Store, déclarez l'accès aux types de données Santé Connect que votre application utilise. Sinon, les utilisateurs peuvent recevoir un message d'erreur indiquant que votre application ne peut pas accéder aux types de données Santé Connect, car ils nécessitent une approbation spéciale.