¿Por qué construir IoT sanitario sobre FHIR?
Los dispositivos IoT médicos y los dispositivos ponibles generan grandes volúmenes de datos que contribuyen a mejorar los resultados de salud. Estos datos solo son útiles si se integran en los historiales médicos de los pacientes y están disponibles para análisis exhaustivos, sistemas de alertas en tiempo real y soporte a la decisión clínica (CDS).
El reto es que estos datos de series temporales tienen una naturaleza y estructura diferente a la de otros datos FHIR como los datos del paciente, las alergias, los diagnósticos, etc. Los datos de series temporales requieren un enfoque especial para su gestión y almacenamiento.
Esta entrada muestra cómo integrar de forma eficaz los datos producidos por dispositivos médicos en una solución FHIR basada en la plataforma FHIR Aidbox. Aquí encontrará el modelo FHIR, una guía sobre cómo configurar la plataforma Aidbox y un enlace al proyecto de código abierto que ilustra este concepto.
Dispositivos ponibles en FHIR: arquitectura de la solución
Imaginemos que necesitamos integrar datos de un smartwatch y un monitor de ECG en los historiales médicos FHIR que ya gestionamos con nuestra solución basada en Aidbox. Vamos a recibir las siguientes mediciones: frecuencia cardíaca (FC), frecuencia respiratoria (FR), SpO2 y resultados diagnósticos de ECG.
Los datos brutos tienen este aspecto:

1. De datos brutos a datos FHIR
En primer lugar, necesitamos convertir los datos brutos a FHIR. HL7 FHIR recomienda utilizar el recurso Observation para intercambiar constantes vitales, ECG y otros datos mensurables del paciente. Una solución posible es modelar los datos producidos por los dispositivos según el recurso FHIR Observation con los siguientes atributos de componente:

2. De PostgreSQL genérico a PostgreSQL híbrido
En segundo lugar, Aidbox está construido sobre PostgreSQL y almacenamos los recursos FHIR como JSONB. Para nuestro caso, necesitamos convertir el potente Postgres en un almacenamiento híbrido capaz de trabajar de forma eficaz tanto con JSONB como con datos de series temporales. La clave está en la extensión TimescaleDB para Postgres. Esta extensión añade un tipo especial de tabla denominado Hypertable para datos de series temporales y varias opciones adicionales, como compresión, agregados continuos y otras más.
Como resultado, podemos seguir almacenando los datos FHIR básicos como JSONB y las Observations como datos de series temporales en hypertables. Estos datos estarán referenciados y funcionarán como un conjunto de datos único para necesidades externas.

3. De Aidbox estándar a Aidbox optimizado para series temporales
El tercer paso consiste en enseñar a nuestro Aidbox a gestionar y almacenar las Observations como datos de series temporales en hypertables, y el resto de datos FHIR como JSONB mediante el mecanismo predeterminado. Para lograrlo, podemos sustituir el manejador del endpoint /Observation por defecto por uno personalizado. Los clientes de Aidbox pueden hacerlo mediante el mecanismo Aidbox Apps y construir un manejador personalizado en el lenguaje de programación de su elección. También existen SDK para Aidbox y APIs adicionales.

Explore nuestra documentación completa del SDK para aprender a crear aplicaciones personalizadas y adaptar la plataforma a sus necesidades específicas.
4. Aproveche el potencial de TimescaleDB para las alertas
Voilà: su interfaz de usuario o sus sistemas externos pueden recuperar y visualizar los historiales médicos y los datos de observación a través de la API FHIR estándar.
Pero la guinda del pastel es la capacidad de utilizar eficazmente los datos de series temporales vinculados a datos FHIR para alertas y soporte a la decisión clínica (CDS). TimescaleDB ofrece numerosos motores sobre hypertables, y el motor de agregados continuos es uno de ellos. Por ejemplo, puede monitorizar y generar alertas en tiempo real cuando la FC aumenta o la SpO2 disminuye. Las condiciones de las alertas pueden basarse no solo en datos de series temporales, sino también en cualquier dato FHIR de su solución.
Para hacer que estas alertas estén disponibles para su interfaz de usuario o sistemas/módulos externos, puede ampliar la API de Aidbox mediante operaciones personalizadas. Los manejadores de estos endpoints pueden estar basados en SQL o residir en su Aidbox App junto al manejador del endpoint /Observation.

5. Visión general de la solución extremo a extremo
Reunamos todas estas ideas en la solución extremo a extremo.
#1 - Los dispositivos generan datos brutos de series temporales,
#2 - El conversor FHIR recibe este flujo, lo convierte a FHIR Observations y los envía a Aidbox,
#3 - Aidbox gestiona las Observations a través del endpoint /Observation sobreescrito mediante la Aidbox App,
#4 - Los recursos Observation recibidos se almacenan en una hypertable y tienen una asociación mediante referencia al paciente,
#5 - El motor TimescaleDB genera alertas basadas en condiciones predefinidas,
#6 - Aidbox proporciona datos FHIR a través de la API FHIR y alertas a través de endpoints personalizados,
#7 - La interfaz web visualiza estos datos y muestra las alertas a los usuarios finales.

Bonus
Nos gusta reforzar las palabras con la práctica y hemos publicado el código fuente del proyecto con la implementación de este concepto, desarrollado por uno de los miembros de nuestro equipo durante el hackathon interno de Navidad en 48 horas. Si tiene experiencia técnica, puede consultar este código e interactuar con las ideas en la práctica sin ninguna barrera.
Proyecto de código abierto: https://github.com/Aidbox/timeseries
Beneficios
En esta entrada hemos descrito una solución muy básica sobre cómo integrar dispositivos ponibles y médicos en el ecosistema FHIR-first basado en la plataforma FHIR Aidbox. Todas las partes de este pipeline pueden ajustarse y mejorarse para soportar las cargas reales de su sistema. Por ejemplo, puede añadir colas para los flujos de datos de los dispositivos u optimizar una API similar a FHIR para las Observations, etc.
Para explorar cómo Aidbox puede facilitar la integración de datos de dispositivos ponibles y médicos, pruebe la versión gratuita de Aidbox. Proporciona un entorno completo para probar y desarrollar estas integraciones, ofreciendo todas las herramientas necesarias sin ninguna limitación de funcionalidades.
Resumen de beneficios
# Simplicidad - solución monolítica con potente almacenamiento híbrido basado en PostgreSQL, # Todo en un solo lugar - datos FHIR y datos de series temporales como un único conjunto de datos, # FHIR-first - transformaciones internas mínimas, con FHIR utilizado para intercambiar y almacenar datos, # Personalizable - todas las partes de la solución pueden personalizarse gracias al paradigma orientado a datos, # Rendimiento - los almacenamientos y motores están fuertemente optimizados para ambos tipos de datos.
Autor: Mike Ryzhikov COO en Health Samurai
Véase también: Suscripciones basadas en temas: los 5 principales casos de uso y Uso de FHIR para simplificar el desarrollo en sanidad.








