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 fréquence cardiaque prises immédiatement, le nombre de pas effectués au fil du temps et les données de sommeil enregistrées au cours des sessions.

Il est important de comprendre d'abord les types de données et les autorisations proposés par Santé Connect afin de pouvoir 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 prend en charge les types de données utilisés dans la plupart des applications de santé et de remise en forme afin de fournir un maximum de variété. Santé Connect vise à offrir une vue complète et le stockage des données de santé et de remise en forme. Ces types de données appartiennent aux catégories suivantes:

  • Données d'activité : permettent de capturer toute activité effectuée par un utilisateur. Il peut s'agir d'activités liées à la santé et à la remise en forme, comme la course à pied, la natation et le sommeil.
  • Données corporelles:permettent de capturer des données courantes sur le corps, telles que le poids d'un utilisateur et son métabolisme de base.
  • 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. L'hydratation représente la quantité d'eau consommée par un utilisateur dans une seule boisson. Ce dernier inclut des 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 données telles que la température corporelle, la glycémie, la tension artérielle et la saturation en oxygène du sang.

Format du type de données

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

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

Pour obtenir la liste complète des types de données disponibles et de leurs champs, reportez-vous aux classes dans 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 la section ID de Santé Connect.
  • Heure de la dernière modification:indique l'horodatage de la dernière mise à jour d'un enregistrement. Il est généré 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 cette 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 fournissez la valeur manuellement.
  • ID client:Santé Connect fournit des ID client afin que les applications clientes puissent faire référence aux données à l'aide de leurs propres ID, ce qui facilite la résolution des conflits et facilite la synchronisation. Ces informations sont fournies manuellement à l'enregistrement.
  • Version de l'enregistrement 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 (automatique) 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 identifient les objets de données 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.

Tenez compte des remarques suivantes 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 ni liés à des horodatages.
  • Certains cas d'utilisation peuvent nécessiter de stocker un ID Santé Connect spécifique au cours d'un workflow. Par exemple, un identifiant spécifique est nécessaire pour récupérer et montrer à un utilisateur l'entrée 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 de zone 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 les versions antérieures (niveau d'API 33 et inférieurs), il est possible d'écrire dans Santé Connect sans spécifier d'informations de fuseau horaire, ce qui doit être évité dans la mesure du possible.

Paramètre 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 échouer dans certains cas, par exemple lorsque le fuseau horaire n'est pas fourni. 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 le mappage complet des types de données et de leurs autorisations.

Pour la version 1.0.0-alpha10 et ultérieure

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
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
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
Pas 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 la version 1.0.0-alpha09 et les versions 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
Pas 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é les types de données et les autorisations, vous pouvez les mettre en œuvre 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 précisément l'utilisation des données par votre application.

Une fois votre application publiée sur le Play Store, un message d'erreur peut s'afficher pour indiquer que votre application ne peut pas accéder aux types de données Santé Connect, car ils nécessitent une approbation spéciale. Dans ce cas, vous devez demander l'accès au type de données via le formulaire de déclaration du développeur. Pour en savoir plus sur ce processus, consultez la section Demander l'accès aux types de données Santé Connect.