Métriques de Santé - Format d'Exportation JSON
Documentation sur la structure des métriques de santé dans les exportations JSON
Last updated: February 6, 2026
On this page
Métriques de Santé
Les métriques de santé représentent les diverses mesures et points de données collectés par votre application Apple Health et les appareils connectés. Dans les exportations JSON, les métriques de santé sont stockées dans le tableau metrics.
Format de Nom de Métrique
Tous les noms de métriques dans les exportations JSON utilisent le format snake_case (minuscules avec des underscores). Par exemple :
- "Step Count" devient
"step_count" - "Blood Pressure" devient
"blood_pressure" - "Heart Rate" devient
"heart_rate" - "Walking + Running Distance" devient
"walking_running_distance"
Structure
Le tableau metrics contient des objets, chacun représentant un type spécifique de métrique de santé. La plupart des métriques de santé suivent une structure commune :
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Champs Communs
name(String) : Le nom de la métrique de santé au format snake_case (ex : "step_count", "heart_rate", "active_energy")units(String) : L'unité de mesure (ex : "count", "bpm", "kcal")data(Array) : Un tableau de points de données, chacun contenant :qty(Number) : La valeur de la quantitédate(Date) : Horodatage au formatyyyy-MM-dd HH:mm:ss Z
Formats Spéciaux de Métriques
Certaines métriques de santé ont des structures uniques qui diffèrent du format commun :
Pression Artérielle
Les lectures de pression artérielle incluent les valeurs systolique et diastolique :
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Champs :
systolic(Number) : La lecture de pression artérielle systolique (supérieure)diastolic(Number) : La lecture de pression artérielle diastolique (inférieure)
Fréquence Cardiaque
Les données de fréquence cardiaque incluent les valeurs minimales, moyennes et maximales :
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Champs :
Min(Number) : Fréquence cardiaque minimale pendant la période de mesureAvg(Number) : Fréquence cardiaque moyenne pendant la période de mesureMax(Number) : Fréquence cardiaque maximale pendant la période de mesure
Analyse du Sommeil
La structure des données de sommeil varie selon que l'agrégation des données est activée dans vos paramètres d'exportation.
Données de Sommeil Agrégées
Lorsque l'agrégation est activée, les données de sommeil sont résumées par jour :
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"date": "2024-02-06",
"totalSleep": 7.5,
"asleep": 7.0,
"core": 3.5,
"deep": 1.5,
"rem": 2.0,
"sleepStart": "2024-02-05 23:00:00 -0800",
"sleepEnd": "2024-02-06 06:30:00 -0800",
"inBed": 8.0,
"inBedStart": "2024-02-05 22:45:00 -0800",
"inBedEnd": "2024-02-06 06:45:00 -0800"
}
]
}
Champs :
totalSleep(Number) : Temps total de sommeil en heuresasleep(Number) : Temps total dans n'importe quel état de sommeilcore(Number) : Durée du sommeil léger en heuresdeep(Number) : Durée du sommeil profond en heuresrem(Number) : Durée du sommeil REM en heuressleepStart(Date) : Quand le sommeil a réellement commencésleepEnd(Date) : Quand le sommeil a réellement pris fininBed(Number) : Temps total au lit en heuresinBedStart(Date) : Quand vous êtes allé au litinBedEnd(Date) : Quand vous vous êtes levé
Données de Sommeil Non Agrégées
Lorsque l'agrégation est désactivée, des segments de sommeil individuels sont inclus :
{
"name": "sleep_analysis",
"units": "hr",
"data": [
{
"startDate": "2024-02-05 23:00:00 -0800",
"endDate": "2024-02-05 23:30:00 -0800",
"qty": 0.5,
"value": "Core",
"deep": 0.0,
"rem": 0.0,
"sleepStart": "2024-02-05 23:00:00 -0800",
"sleepEnd": "2024-02-06 06:30:00 -0800",
"inBed": 8.0,
"inBedStart": "2024-02-05 22:45:00 -0800",
"inBedEnd": "2024-02-06 06:45:00 -0800"
}
]
}
Champs :
startDate(Date) : Heure de début du segment de sommeilendDate(Date) : Heure de fin du segment de sommeilqty(Number) : Durée du segment en heuresvalue(String) : État du sommeil - l'un des suivants :"Awake""Asleep"(phase de sommeil non catégorisée)"In Bed""Core""REM""Deep""Unspecified"
Note : "Asleep" fait référence à une phase de sommeil non catégorisée (plutôt qu'au temps total de sommeil). Cela peut se produire si la source de données ne prend pas en charge le suivi des phases de sommeil.
Glycémie
Les lectures de glycémie incluent des informations sur le moment du repas :
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Champs :
qty(Number) : Niveau de glycémiemealTime(String) : L'un des suivants :"Before Meal""After Meal""Unspecified"
Activité Sexuelle
Les entrées d'activité sexuelle suivent l'utilisation de la protection :
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Champs :
Unspecified(Number) : Compte lorsque le statut de protection est inconnuProtection Used(Number) : Compte lorsque la protection a été utiliséeProtection Not Used(Number) : Compte lorsque la protection n'a pas été utilisée
Lavage des Mains
Les événements de lavage des mains suivent le statut d'achèvement :
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Champs :
qty(Number) : Nombre d'événements de lavage des mainsvalue(String) : L'un des suivants :"Complete""Incomplete"
Brossage des Dents
Les événements de brossage des dents suivent le statut d'achèvement :
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Champs :
qty(Number) : Nombre d'événements de brossage des dentsvalue(String) : L'un des suivants :"Complete""Incomplete"
Administration d'Insuline
Les entrées d'administration d'insuline incluent la raison de l'administration :
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Champs :
qty(Number) : Quantité d'insuline administréereason(String) : L'un des suivants :"Bolus"(insuline de repas)"Basal"(insuline de fond)
Métriques de Santé Courantes
Certaines métriques de santé couramment exportées incluent (tous les noms de métriques sont au format snake_case) :
- step_count - Comptes de pas quotidiens
- walking_running_distance - Distance parcourue
- active_energy - Calories brûlées par l'activité
- resting_heart_rate - Fréquence cardiaque au repos
- heart_rate - Mesures de fréquence cardiaque
- respiratory_rate - Fréquence respiratoire
- body_temperature - Lectures de température corporelle
- blood_oxygen_saturation - Niveaux de SpO2
- weight_&_body_mass - Mesures de poids corporel
- body_mass_index - Valeurs d'IMC calculées
- height - Mesures de taille
- dietary_water - Consommation de liquides
- mindful_minutes - Temps de méditation ou de pleine conscience
Conseils
- Regroupement Temporel : Utilisez les paramètres de regroupement temporel dans votre configuration d'exportation pour contrôler la façon dont les données sont agrégées (par seconde, minute, heure, jour, etc.)
- Agrégation des Données : Activez l'agrégation des données pour résumer le sommeil et d'autres métriques par jour pour faciliter l'analyse
- Exportation Sélective : Vous pouvez choisir quelles métriques de santé spécifiques inclure dans votre exportation pour réduire la taille du fichier et le temps de traitement