Métricas de Salud - Formato de Exportación JSON
Documentación sobre la estructura de métricas de salud en exportaciones JSON
Last updated: February 6, 2026
On this page
- Formato de Nombre de Métrica
- Estructura
- Campos Comunes
- Formatos Especiales de Métricas
- Presión Arterial
- Frecuencia Cardíaca
- Análisis de Sueño
- Glucosa en Sangre
- Actividad Sexual
- Lavado de Manos
- Cepillado de Dientes
- Administración de Insulina
- Métricas de Salud Comunes
- Consejos
- Documentación Relacionada
Métricas de Salud
Las métricas de salud representan las diversas mediciones y puntos de datos recopilados por tu aplicación Apple Health y dispositivos conectados. En las exportaciones JSON, las métricas de salud se almacenan en el array metrics.
Formato de Nombre de Métrica
Todos los nombres de métricas en las exportaciones JSON usan el formato snake_case (minúsculas con guiones bajos). Por ejemplo:
- "Step Count" se convierte en
"step_count" - "Blood Pressure" se convierte en
"blood_pressure" - "Heart Rate" se convierte en
"heart_rate" - "Walking + Running Distance" se convierte en
"walking_running_distance"
Estructura
El array metrics contiene objetos, cada uno representando un tipo específico de métrica de salud. La mayoría de las métricas de salud siguen una estructura común:
{
"name": "step_count",
"units": "count",
"data": [
{
"qty": 8500,
"date": "2024-02-06 14:30:00 -0800"
}
]
}
Campos Comunes
name(String): El nombre de la métrica de salud en formato snake_case (ej: "step_count", "heart_rate", "active_energy")units(String): La unidad de medida (ej: "count", "bpm", "kcal")data(Array): Un array de puntos de datos, cada uno conteniendo:qty(Number): El valor de la cantidaddate(Date): Marca de tiempo en formatoyyyy-MM-dd HH:mm:ss Z
Formatos Especiales de Métricas
Algunas métricas de salud tienen estructuras únicas que difieren del formato común:
Presión Arterial
Las lecturas de presión arterial incluyen valores sistólicos y diastólicos:
{
"name": "blood_pressure",
"units": "mmHg",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"systolic": 120,
"diastolic": 80
}
]
}
Campos:
systolic(Number): La lectura de presión arterial sistólica (superior)diastolic(Number): La lectura de presión arterial diastólica (inferior)
Frecuencia Cardíaca
Los datos de frecuencia cardíaca incluyen valores mínimos, promedio y máximos:
{
"name": "heart_rate",
"units": "bpm",
"data": [
{
"date": "2024-02-06 14:30:00 -0800",
"Min": 65,
"Avg": 72,
"Max": 85
}
]
}
Campos:
Min(Number): Frecuencia cardíaca mínima durante el período de mediciónAvg(Number): Frecuencia cardíaca promedio durante el período de mediciónMax(Number): Frecuencia cardíaca máxima durante el período de medición
Análisis de Sueño
La estructura de datos de sueño varía dependiendo de si la agregación de datos está habilitada en la configuración de exportación.
Datos de Sueño Agregados
Cuando la agregación está habilitada, los datos de sueño se resumen por día:
{
"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"
}
]
}
Campos:
totalSleep(Number): Tiempo total dormido en horasasleep(Number): Tiempo total en cualquier estado de sueñocore(Number): Duración del sueño ligero en horasdeep(Number): Duración del sueño profundo en horasrem(Number): Duración del sueño REM en horassleepStart(Date): Cuándo comenzó realmente el sueñosleepEnd(Date): Cuándo terminó realmente el sueñoinBed(Number): Tiempo total en la cama en horasinBedStart(Date): Cuándo te acostasteinBedEnd(Date): Cuándo te levantaste
Datos de Sueño No Agregados
Cuando la agregación está deshabilitada, se incluyen segmentos individuales de sueño:
{
"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"
}
]
}
Campos:
startDate(Date): Hora de inicio del segmento de sueñoendDate(Date): Hora de finalización del segmento de sueñoqty(Number): Duración del segmento en horasvalue(String): Estado del sueño - uno de:"Awake""Asleep"(fase de sueño no categorizada)"In Bed""Core""REM""Deep""Unspecified"
Nota: "Asleep" se refiere a una fase de sueño no categorizada (en lugar del tiempo total dormido). Esto puede ocurrir si la fuente de datos no admite el seguimiento de fases de sueño.
Glucosa en Sangre
Las lecturas de glucosa en sangre incluyen información sobre el momento de la comida:
{
"name": "blood_glucose",
"units": "mg/dL",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 95,
"mealTime": "Before Meal"
}
]
}
Campos:
qty(Number): Nivel de glucosa en sangremealTime(String): Uno de:"Before Meal""After Meal""Unspecified"
Actividad Sexual
Las entradas de actividad sexual rastrean el uso de protección:
{
"name": "sexual_activity",
"units": "count",
"data": [
{
"date": "2024-02-06 20:00:00 -0800",
"Unspecified": 0,
"Protection Used": 1,
"Protection Not Used": 0
}
]
}
Campos:
Unspecified(Number): Conteo cuando el estado de protección es desconocidoProtection Used(Number): Conteo cuando se usó protecciónProtection Not Used(Number): Conteo cuando no se usó protección
Lavado de Manos
Los eventos de lavado de manos rastrean el estado de finalización:
{
"name": "handwashing",
"units": "count",
"data": [
{
"date": "2024-02-06 12:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Campos:
qty(Number): Número de eventos de lavado de manosvalue(String): Uno de:"Complete""Incomplete"
Cepillado de Dientes
Los eventos de cepillado de dientes rastrean el estado de finalización:
{
"name": "toothbrushing",
"units": "count",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 1,
"value": "Complete"
}
]
}
Campos:
qty(Number): Número de eventos de cepillado de dientesvalue(String): Uno de:"Complete""Incomplete"
Administración de Insulina
Las entradas de administración de insulina incluyen la razón de la administración:
{
"name": "insulin_delivery",
"units": "IU",
"data": [
{
"date": "2024-02-06 08:00:00 -0800",
"qty": 5,
"reason": "Bolus"
}
]
}
Campos:
qty(Number): Cantidad de insulina administradareason(String): Uno de:"Bolus"(insulina de comida)"Basal"(insulina de fondo)
Métricas de Salud Comunes
Algunas métricas de salud comúnmente exportadas incluyen (todos los nombres de métricas están en formato snake_case):
- step_count - Conteos diarios de pasos
- walking_running_distance - Distancia recorrida
- active_energy - Calorías quemadas mediante actividad
- resting_heart_rate - Frecuencia cardíaca en reposo
- heart_rate - Mediciones de frecuencia cardíaca
- respiratory_rate - Frecuencia respiratoria
- body_temperature - Lecturas de temperatura corporal
- blood_oxygen_saturation - Niveles de SpO2
- weight_&_body_mass - Mediciones de peso corporal
- body_mass_index - Valores de IMC calculados
- height - Mediciones de altura
- dietary_water - Consumo de líquidos
- mindful_minutes - Tiempo de meditación o atención plena
Consejos
- Agrupación Temporal: Usa la configuración de agrupación temporal en tu configuración de exportación para controlar cómo se agregan los datos (por segundo, minuto, hora, día, etc.)
- Agregación de Datos: Habilita la agregación de datos para resumir el sueño y otras métricas por día para facilitar el análisis
- Exportación Selectiva: Puedes elegir qué métricas de salud específicas incluir en tu exportación para reducir el tamaño del archivo y el tiempo de procesamiento