Si usas varias apps de ejercicio, sueño, nutrición o salud en tu móvil Android, es muy probable que tengas tus datos repartidos por todos lados y resulte un lío controlarlos. Health Connect llega justo para eso: para poner orden, centralizar la información y darte controles de privacidad claros sin que tengas que volverte loco saltando de una aplicación a otra.
Además, para desarrolladores y empresas de salud, Health Connect se ha convertido en un punto único de integración de datos sanitarios que simplifica la sincronización, mejora la interoperabilidad y abre la puerta a experiencias más ricas para el usuario, manteniendo el control y la seguridad como eje central.
¿Qué es Health Connect y qué problema resuelve?
Health Connect by Android es un sistema que funciona como un hub central de datos de salud y actividad física. En lugar de que cada app almacene y gestione su propia información de forma aislada, Health Connect actúa como un almacén común en el dispositivo, al que distintas aplicaciones pueden leer y escribir datos con tu permiso.
La idea es acabar con la situación clásica en la que los registros de pasos, frecuencia cardiaca, sueño, nutrición o ciclo menstrual están desperdigados entre aplicaciones, dispositivos y servicios. Con Health Connect, toda esa información se guarda de forma local en tu móvil y tú decides qué se comparte, con quién y para qué.
Desde la perspectiva de Google, este sistema permite compartir datos entre apps sin sacrificar la privacidad. Para el usuario, se traduce en más comodidad y mejor visión global de su salud; para los desarrolladores, en una API unificada para trabajar con datos de salud sin tener que reinventar la rueda con cada integración.
Acceso a Health Connect según la versión de Android
El modo de acceder a Health Connect depende de la versión de Android que tenga el dispositivo, ya que a partir de Android 14 pasa a formar parte del propio sistema.
Health Connect en Android 14 y versiones posteriores
Desde Android 14 (nivel de API 34), Health Connect es un módulo integrado en el framework de Android, ya no es solo una app independiente. Eso significa que no tienes que descargar nada de Google Play para que funcione, y se gestiona directamente desde los ajustes del sistema.
Para abrirlo en Android 14 o superior, ve a la aplicación de Ajustes del dispositivo y navega por la ruta de seguridad y privacidad. La ruta habitual es: Ajustes > Seguridad y privacidad > Controles de privacidad > Health Connect (o Salud conectada, según traducción y fabricante). También puedes buscar “Health Connect” en el buscador de ajustes para llegar más rápido.
En esta versión, cuando actualizas tu teléfono, el sistema migra automáticamente los datos que tenías en la versión de la app de Health Connect (si la usabas antes) al módulo integrado del sistema, incluyendo los permisos ya concedidos. Así puedes incluso desinstalar la app antigua sin perder el servicio.
Health Connect en Android 13 y versiones anteriores
En Android 13 (API 33) y versiones anteriores, Health Connect no viene incluido en el sistema, así que es necesario instalar la app desde Google Play Store para poder usarlo.
Una vez instalada la app, podrás abrirla desde Ajustes > Apps > Health Connect, o añadiéndola al menú de ajustes rápidos para tener un acceso más directo. En estos dispositivos, los desarrolladores que ya integraron su app con Health Connect pueden migrar sin romper la experiencia cuando el usuario pase a Android 14 y superior, gracias a las guías específicas de migración.
Es importante tener en cuenta que Health Connect no admite perfiles multiusuario ni perfiles de trabajo de Android. Solo funciona en el perfil principal del usuario, precisamente para mantener un control claro del propietario de los datos.
Centralizar y conectar tus apps de salud y fitness

La clave de Health Connect para el usuario de a pie es que permite conectar diferentes apps de salud y bienestar para que compartan datos entre sí. De esta forma, una app de entrenamiento puede usar los datos de sueño registrados por otra, o una app de nutrición puede tener en cuenta tus pasos y calorías quemadas.
El proceso habitual consiste en abrir Health Connect (o Salud conectada) en tu dispositivo, pulsar en un flujo inicial tipo “Empezar” o configuración y, dentro del apartado de permisos y datos, acceder a los permisos de las aplicaciones. Desde ahí puedes activar las apps que quieres que se integren y, algo clave, elegir qué categorías de datos puede leer o escribir cada una (por ejemplo, pasos sí pero peso no, o frecuencia cardiaca sí pero ciclo menstrual no).
Health Connect agrupa la información en categorías temáticas: actividad física, medidas corporales, ciclo menstrual, sueño, nutrición, constantes vitales, registros médicos, etc. Eso facilita ver de un vistazo qué se está compartiendo, con qué apps y para qué fines. También puedes revisar qué aplicaciones han accedido recientemente a tus datos.
Conviene saber que, en algunas apps, para que empiece la sincronización es necesario habilitarla dentro de la propia aplicación asociada además de en Health Connect. Si algo no se sincroniza, es buena idea revisar tanto las opciones de Health Connect como los ajustes internos de cada app implicada.
¿Qué datos se comparten y cómo se gestionan?
Cuando una aplicación se conecta a Health Connect y le otorgas acceso, esa app adquiere permiso para leer y escribir determinados tipos de datos en el almacén central, siempre dentro de las categorías que tú hayas aprobado.
Una vez concedido el acceso, la app puede acceder a los datos de los últimos 30 días y a la información nueva que se vaya generando a partir de ese momento. En el caso de los registros médicos (historial clínico, informes, etc.), este límite de 30 días no se aplica: con tu aprobación explícita, las aplicaciones pueden consultar todo tu historial de datos médicos disponible en Health Connect.
A nivel técnico, los datos se guardan de forma local en el propio dispositivo Android. Tú tienes el control sobre qué apps ven qué información y, en cualquier momento, puedes revocar permisos o dejar de compartir ciertos tipos de datos. Eso sí, los servicios de las apps conectadas pueden seguir conservando copias de los datos que ya sincronizaron con sus propios servidores antes de que tú revocaras el permiso.
Este modelo permite reducir el problema de los silos de información dentro del ecosistema Android: en lugar de tener los pasos en un sitio, el peso en otro y el sueño en otro, todas esas piezas pasan por un punto común de almacenamiento y orquestación, mejorando tanto la experiencia de usuario como la calidad de los análisis posteriores.
Perspectiva de interoperabilidad sanitaria: más allá del móvil
La fragmentación de datos no es solo un problema de apps de fitness: en el sector salud en general existe una falta histórica de interoperabilidad. Los datos médicos suelen estar compartimentados por regiones, hospitales, aseguradoras, laboratorios o incluso por proyectos de investigación concretos, creando auténticos silos de información.
Esta dispersión tiene un coste enorme. Diversos análisis estiman que la falta de interoperabilidad puede suponer en torno al 4,7 % del gasto sanitario anual de un país, lo que se traduce en miles de millones de euros perdidos por duplicidades, ineficiencias, pruebas repetidas y peor coordinación entre profesionales.
Centralizar y catalogar correctamente el dato sanitario permite mejorar diagnósticos y tratamientos, reducir demoras, evitar repetir pruebas innecesarias y facilitar que un profesional acceda al historial relevante de un paciente incluso si procede de otro territorio o sistema. Además, esos datos, bien estructurados, son oro puro para la investigación biomédica y el desarrollo de nuevos fármacos.
En este contexto más amplio aparece la filosofía de proyectos como Connect Health y su plataforma Universal Health Chain (UHC), que persiguen unificar, centralizar y conectar distintos tipos de datos clínicos a gran escala usando estándares internacionales (HL7 FHIR, IPS, USCDI, SNOMED, LOINC), blockchain, inteligencia artificial e IoT. Aunque juegan en una liga distinta (macro-sistema sanitario frente al almacén local de Android), comparten la misma idea de fondo: acabar con los silos de datos y dar más control al usuario sobre su información médica.
Health Connect para desarrolladores: preparar la app
Desde el lado técnico, Health Connect ofrece un SDK en Jetpack (androidx.health.connect) que permite a las aplicaciones integrarse con el almacén de datos de Health Connect, tanto para leer como para escribir registros. Esta integración requiere algunos pasos de configuración y buenas prácticas.
App de Health Connect y disponibilidad
La app o módulo de Health Connect es la encargada de procesar todas las solicitudes que tu app envía a través del SDK, incluyendo el almacenamiento de datos, el control de permisos y el acceso a lectura y escritura.
El acceso depende de la versión de Android en el dispositivo del usuario: en Android 14 y posteriores, el módulo viene de serie; en Android 13 y anteriores, es necesario instalar la app Health Connect desde Google Play. El SDK admite desde Android 8 (API 26), pero la app de Health Connect solo funciona a partir de Android 9 (API 28), lo que implica que puedes soportar usuarios en Android 8 preparando la integración, pero solo quienes tengan Android 9 o superior podrán usar realmente Health Connect.
Para saber si Health Connect está disponible y en qué estado, el cliente puede llamar a HealthConnectClient.getSdkStatus y actuar en consecuencia: continuar si está disponible, o redirigir al usuario a Google Play para instalar o actualizar el proveedor si hace falta.
Agregar el SDK de Health Connect
Para usar la API, hay que añadir la dependencia correspondiente en el build.gradle de módulo. Típicamente se incluye algo como la librería androidx.health.connect:connect-client en la sección de dependencias. Lo ideal es consultar la documentación oficial para usar la versión más reciente, ya que el SDK avanza con nuevas funciones, cambios de permisos y mejoras de estabilidad.
Uso de la API de disponibilidad de funcionalidades
Como los usuarios no siempre actualizan la versión de Health Connect, el SDK ofrece una API para comprobar si determinadas funciones están disponibles en el dispositivo, mediante healthConnectClient.features.getFeatureStatus(). Esta llamada devuelve constantes como FEATURE_STATUS_AVAILABLE o FEATURE_STATUS_UNAVAILABLE.
Si una funcionalidad no está disponible, se recomienda invitar al usuario a actualizar Health Connect. Ten en cuenta que algunas capacidades ligadas al módulo de sistema seguirán sin estar presentes en Android 13 y anteriores aunque el usuario instale el APK de Health Connect, porque dependen del propio framework.
Permisos y privacidad en Health Connect
El acceso a datos de salud y actividad física es extremadamente sensible, así que Health Connect añade una capa extra de seguridad sobre las operaciones de lectura y escritura. Esto obliga a los desarrolladores a ser transparentes, explícitos y muy precisos con lo que piden.
Declaración de permisos en el manifiesto
En el archivo AndroidManifest.xml, la app debe declarar de forma clara los permisos de lectura y escritura que necesita, usando etiquetas estándar <uses-permission> dentro de <manifest>. Estos permisos se agrupan por tipo de dato, por ejemplo:
<uses-permission android:name="android.permission.health.READ_HEART_RATE"/>
<uses-permission android:name="android.permission.health.WRITE_HEART_RATE"/>
<uses-permission android:name="android.permission.health.READ_STEPS"/>
<uses-permission android:name="android.permission.health.WRITE_STEPS"/>
Además, estos permisos tienen que alinearse con lo que declares en Google Play Console respecto a tipos de datos de Health Connect que la app lee o escribe. La transparencia aquí es clave: si en el futuro solicitas nuevos permisos porque necesitas más categorías de datos, deberás incluir tanto los nuevos como los que ya usabas, excluyendo únicamente los que dejes de necesitar.
Diálogo de política de privacidad específico
En el manifiesto también se debe declarar una actividad capaz de mostrar la política de privacidad y la justificación de los permisos de Health Connect cuando el usuario pulse el enlace correspondiente en la pantalla de permisos de Health Connect.
Para versiones hasta Android 13 se define una Activity que recibe el intent ACTION_SHOW_PERMISSIONS_RATIONALE, y a partir de Android 14 se añade un activity-alias que responde a android.intent.action.VIEW_PERMISSION_USAGE con la categoría adecuada, permitiendo que Health Connect muestre al usuario por qué tu app necesita esos datos, cómo los usas y cómo puede controlarlos.
Solicitud y gestión dinámica de permisos
Una vez que tienes el HealthConnectClient, tu app debe pedir los permisos en tiempo de ejecución, agrupando los necesarios en un conjunto (por ejemplo, lectura y escritura de pasos y frecuencia cardiaca). Antes de solicitar nada, conviene comprobar con getGrantedPermissions() si ya estaban concedidos.
Para pedirlos, el SDK proporciona un contrato de resultado mediante PermissionController.createRequestPermissionResultContract(). Esto muestra al usuario una pantalla estándar de Health Connect donde puede aceptar o denegar cada permiso. Tu app tiene que estar preparada para ambos escenarios: si se niegan permisos críticos, el flujo de la funcionalidad debe ajustarse o limitarse.
Dado que el usuario puede revocar permisos en cualquier momento desde Health Connect, es buena práctica revalidar de forma periódica qué permisos siguen activos, especialmente antes de realizar operaciones de lectura o escritura que dependan de ellos.
Onboarding e inicio desde Health Connect
Muchas apps incluyen un flujo de incorporación donde explican las funciones, piden consentimiento y configuran preferencias iniciales. Health Connect permite que este flujo se pueda lanzar directamente desde su propia interfaz, de modo que el usuario pueda conectar tu app desde Health Connect, no solo desde la app misma.
Para ello se declara una actividad de onboarding con los intents específicos (androidx.health.ACTION_SHOW_ONBOARDING para versiones con APK y android.health.connect.action.SHOW_ONBOARDING para Android 14 en adelante), protegida por los permisos adecuados. Ten en cuenta que esta actividad puede ser invocada varias veces, por ejemplo si el usuario desconecta la app y más tarde decide volver a conectarla.
Operaciones básicas: leer y escribir datos en Health Connect
Una vez configurada la integración, tu app puede insertar nuevos registros en Health Connect o leer datos existentes, tanto de forma individual como agregada.
Escritura de datos: registros y metadatos
Los datos se representan como objetos Record específicos de cada tipo (pasos, frecuencia cardiaca, peso, etc.). Por ejemplo, para contar pasos se usa StepsRecord, que incluye campos como número de pasos, hora de inicio y fin, zona horaria y metadatos.
Tu app construye un registro con los valores adecuados y lo inserta con insertRecords(). Es habitual complementar el registro con un objeto Metadata que especifique si es un dato auto registrado por un dispositivo (por ejemplo, un reloj) o introducido manualmente, incluyendo información del dispositivo (tipo, origen, etc.).
Cuando la fuente de datos es tu propio almacén (por ejemplo, un backend o base de datos local), puedes aprovechar clientRecordId y clientRecordVersion para controlar inserciones y actualizaciones idempotentes: si envías un registro con un ID de cliente ya existente y una versión superior, Health Connect reemplaza el dato anterior; si no, se crea uno nuevo.
Tras una inserción, la respuesta de insertRecords() incluye una lista de IDs generados por Health Connect. Es fundamental almacenar estos IDs internos en tu propio sistema si también vas a leer y sincronizar datos, porque serán necesarios para procesar eliminaciones y cambios.
Lectura de datos individuales y agregados
Para leer datos concretos, se utiliza readRecords() con una petición de tipo ReadRecordsRequest, donde se indica el tipo de registro y un filtro por rango temporal (TimeRangeFilter). Esto devuelve una lista de registros detallados que tu app puede procesar uno a uno.
Sin embargo, para tipos acumulativos como los pasos, se recomienda usar aggregate() en lugar de readRecords(). La agregación evita problemas de doble conteo cuando hay varias fuentes (por ejemplo, móvil y reloj a la vez) y ofrece métricas más fiables, como el total de pasos en un periodo.
Es importante tener presente que Health Connect puede leer datos hasta 30 días antes de la fecha en que se otorgó el permiso. Si tu aplicación necesita consultar historiales más antiguos, debe solicitar un permiso especial como PERMISSION_READ_HEALTH_DATA_HISTORY, sujeto a una justificación y revisión más estrictas por la sensibilidad de la información.
Sincronización avanzada entre tu app y Health Connect
Muchas aplicaciones de salud tienen su propio almacén de datos interno (local o en la nube) que actúa como fuente principal. Health Connect no pretende sustituir ese almacén, sino sincronizarse con él, de forma que ambas partes permanezcan alineadas.
Un proceso de sincronización completo suele incluir tres operaciones: insertar o actualizar datos de tu app en Health Connect, extraer cambios desde Health Connect hacia tu almacén, y eliminar en Health Connect los datos que el usuario haya borrado en tu sistema.
Tokens de cambios y consumo incremental
Para extraer cambios, el SDK de Health Connect proporciona el mecanismo de Changes Sync. Tu app solicita primero un token de cambios mediante getChangesToken(), indicando para qué tipos de registro quiere seguir los cambios. Este token representa un punto en el tiempo a partir del cual podrás ir pidiendo las modificaciones.
Con ese token, llamas a getChanges() en bucle hasta que dejes de recibir más elementos. Cada respuesta incluye una lista de cambios (de tipo UpsertionChange o DeletionChange), un indicador de si hay más y un nuevo token a almacenar para la próxima vez. Tu app debe recorrer todos los cambios, procesarlos y, al final, guardar el nextChangesToken como referencia de sincronización.
En los cambios de inserción/actualización (UpsertionChange) se incluye el registro completo, junto con sus metadatos. Para evitar reimportar tus propios datos, es buena idea comprobar el campo dataOrigin.packageName y omitir los registros cuyo origen sea tu propia app. En los cambios de eliminación (DeletionChange) solo se recibe el ID del registro borrado, por motivos de privacidad, por lo que es crucial que hayas almacenado previamente estos IDs asociados a tus datos.
La recomendación general es utilizar tokens de cambios separados por cada tipo de dato que consumas, a menos que tu lógica de negocio requiera tratar varios tipos siempre juntos. Así, si el usuario revoca uno de los permisos, no echas por tierra toda la sincronización.
Estrategias cuando caduca el token de cambios
Los tokens de cambios tienen fecha de caducidad si pasan más de 30 días sin usarse. Para evitar perder información, debes planificar una estrategia de recuperación en caso de que un token deje de ser válido.
La opción ideal es almacenar la marca de tiempo de la última lectura exitosa y, cuando un token expire, volver a leer los datos desde ese momento (o desde los últimos 30 días) aplicando deduplicación mediante IDs de cliente o IDs de Health Connect. Otras estrategias menos finas incluyen borrar tus datos de los últimos 30 días y volver a importarlos, o simplemente leer ese intervalo sin deduplicar (esta última, la peor, puede mostrar duplicados al usuario).
También se recomienda solicitar tokens de cambios con cierta antelación, incluso si no vas a consumirlos inmediatamente, para mantener un ciclo de actualización razonable y evitar quedarte fuera de rango temporal.
Sincronización desde wearables con baja latencia
Cuando la fuente de datos es un dispositivo wearable conectado por Bluetooth Low Energy (BLE), puede interesar un pipeline de sincronización de baja latencia para que los datos lleguen a Health Connect incluso si la app no está en primer plano.
Para este escenario, Android ofrece CompanionDeviceService, que permite a tu app mantenerse asociada a un dispositivo y recibir datos (por ejemplo, notificaciones o indicaciones GATT) de forma eficiente desde Android 8 (API 26) en adelante.
El flujo típico es: primero se guía al usuario para emparejar el wearable mediante CompanionDeviceManager, obteniendo los permisos necesarios para comunicarse con él. Después, en el manifiesto, se declara un servicio que extiende CompanionDeviceService y se enlaza con la acción android.companion.CompanionDeviceService, protegido con el permiso android.permission.BIND_COMPANION_DEVICE_SERVICE.
Dentro del servicio se gestionan las conexiones GATT y sus callbacks. Cada vez que el wearable envía datos (por ejemplo, una nueva frecuencia cardiaca o un paquete de pasos), el servicio procesa el valor recibido, lo convierte en registros de Health Connect y los inserta mediante insertRecords(). Eso sí, el servicio no puede pedir permisos por sí mismo: debe apoyarse en que la app ya haya solicitado y obtenido previamente los permisos necesarios (por ejemplo, escritura de frecuencia cardiaca o pasos).
Buenas prácticas de lectura en primer y segundo plano
Por diseño, las aplicaciones solo pueden leer datos de Health Connect cuando están en primer plano, salvo que tengan concedido un permiso específico para lecturas en segundo plano (Background Read). Esto se hace para limitar el acceso silencioso a datos sensibles.
Si tu app obtiene el permiso de lectura en segundo plano, el usuario estará cediendo un nivel de acceso mayor, por lo que es importante explicar con claridad por qué necesitas esa capacidad y qué beneficios le aporta (por ejemplo, sincronización automática sin tener que abrir la app). Aun así, debes asumir que el acceso puede interrumpirse en cualquier momento, por ejemplo si el sistema cierra la app, y que deberás reanudar el proceso de sincronización en la siguiente sesión.
En la práctica, tiene sentido comprobar si hay datos nuevos en dos momentos clave: cada vez que la app pasa al primer plano (usando eventos del ciclo de vida), y de forma periódica mientras el usuario la mantiene abierta, notificándole cuando existan datos actualizados para que pueda refrescar vistas, gráficas o resúmenes.
Combinando estas prácticas con una buena gestión de permisos, un uso responsable de los tokens de cambios y una política de almacenamiento de IDs coherente, tanto las apps de bienestar de usuario final como las soluciones más avanzadas de gestión de datos sanitarios pueden aprovechar Health Connect para reducir la fragmentación, mejorar la calidad de los datos y ofrecer experiencias más consistentes, con el usuario manteniendo siempre el control sobre qué se comparte y con quién. Comparte esta información para que más personas conozcan el nuevo Health Connect y que datos de salud ofrece.
