MYSPHERA siempre ha estado muy vinculada a la innovación. Desde su nacimiento en 2012 ha mantenido este espíritu de no solo aportar en RTLS e IoT aplicados a los centros sanitarios, sino también colaborar en proyectos que ayuden a llevar la tecnología a cualquier ámbito sanitario.
Por eso estamos muy orgullosos de participar en un proyecto tan interesante como vCare. Una iniciativa para ayudar a las personas mayores a recuperar una vida activa e independiente en casa.
¿Quieres saber más sobre el proyecto vCare? Lee más información aquí
Y como parte de esta colaboración activa en el proyecto, nuestro compañero Álvaro Martínez ha elaborado uno de sus últimos artículos compartidos en el boletín de junio.
A continuación el artículo al completo en español (idioma original inglés)
¿Qué normativa / estándares ha elegido vCare? ¿por qué?
vCare tiene mucho interés en innovar en la integración de componentes ya existentes y consolidados. Por ello, vCare ha llevado a cabo un análisis sistemático de los estándares existentes y ha primado, en la medida de lo posible, los componentes de código abierto. Este breve artículo le proporcionará una visión general, breve pero completa, de las opciones que maneja vCare.
La «Plataforma de Coaching Inteligente vCare» (a la que nos referiremos más adelante como «la plataforma») se construye sobre las aplicaciones y servicios existentes proporcionados por los diferentes socios que desarrollan la solución.
La plataforma está construida en torno a 4 bloques principales 1) integración contextual de los datos, 2) inteligencia, razonamiento y adaptación de los servicios de coaching, 3) interacción con el usuario y 4) seguridad. Los detalles de estos bloques se muestran en la imagen 1.
Esto muestra la arquitectura de la capa técnica del sistema vCare. A la izquierda está la aplicación vCare. Ortogonal a todo son los componentes de seguridad. La parte superior es la «capa de interfaz de usuario y explotación». La segunda es la «capa de entrenamiento». La tercera es la «capa de vías». La cuarta es la «capa de conocimiento». La quinta es la «capa de middleware». La sexta y última es la «capa de sensores». La «capa de interfaz de usuario y explotación» es para la interacción con el usuario. La «capa de conocimiento» es para la inteligencia, el razonamiento y la adaptación. El «middleware» y la capa de sensores son para la integración del contexto.
La estructura técnica heterogénea de estas aplicaciones y servicios integrados a través de las siete capas técnicas requería un enfoque de integración abstracto basado en los estándares existentes para permitir la integración sin fisuras y la apertura de la «vCare Smart Coaching Platform».
Las tecnologías estándar utilizadas en cada una de las capas se muestran en la figura 2.
Normas a nivel de integración del contexto
En la parte inferior de la arquitectura, tenemos la conectividad con dispositivos que proporcionan información contextual. Entre ellos, podemos encontrar dispositivos de localización en interiores y wearables médicos/de fitness que proporcionan datos vitales como la frecuencia cardíaca, el peso y la presión arterial. Estos dispositivos se han seleccionado en función del tipo de conectividad que proporcionan a través de los perfiles estándar de Bluetooth Low Energy. La elección de BLE se basa en el apoyo y la amplia disponibilidad de dispositivos que proporcionan esta conectividad y la posibilidad de ampliar el marco de datos contextuales mediante la adición de nuevos dispositivos.
En este nivel también podemos encontrar dos plataformas IoT (universAAL y Fiware); mientras que universAAL se utiliza para obtener datos de contexto y ejecutar algoritmos de procesamiento de bordes, Fiware se utiliza como herramienta de gestión de dispositivos y de configuración remota.
La tecnología más relevante a este nivel es el uso de MQTT (Message Queuing Telemetry Transport), un protocolo de red ligero de publicación-suscripción que transporta mensajes entre dispositivos/servicios. El protocolo es un estándar abierto OASIS y una recomendación ISO. En vCare se utiliza el broker de código abierto RabbitMQ como proveedor de MQTT.
La contribución de vCare en la integración de MQTT incluye la definición de una estrategia de intercambio de temas y una estandarización de los contenidos de los mensajes utilizando Json-LD. Esta estrategia de temas es extensible para dar cabida a nuevos intercambios de datos en el futuro.
Normas a nivel de inteligencia, razonamiento y adaptación
Los servicios de coaching proporcionados por vCare se basan en vías clínicas construidas mediante una herramienta gráfica basada en BPMN que posteriormente traduce la vía en recursos FHIR. Estos recursos se convierten en objetos semánticos Json-LD y se fusionan con el contexto de los datos y los datos de la interacción y son utilizados por los componentes de razonamiento y adaptación para configurar las interacciones de coaching.
A nivel semántico, vCare definió un modelo ontológico de base (como se muestra en la figura 3) que es complementado con otros muy conocidos: FOAF, SSN, RDF, OWL, SOSA, HL7, etc.
Normas a nivel de seguridad
A nivel de seguridad, el estándar seleccionado es OAuth2.0 debido a su versatilidad en los diferentes flujos de autenticación que proporciona la posibilidad de utilizar single sign-on a través de aplicaciones y servicios. Como servidor OAuth2.0, vCare utiliza el framework de código abierto Keycloak, donde se han definido roles y ámbitos de autenticación específicos para toda la plataforma vCare Coaching.
La principal aportación de vCare en este sentido es la integración de OAuth2.0 en el broker de mensajes MQTT y su adaptación a la estrategia de intercambio de temas definida: dependiendo de la app que acceda al ecosistema MQTT, el token de acceso emitido por el servidor OAuth2.0 concederá acceso a determinados temas para preservar la privacidad del usuario final. En la figura 4 se muestra una visión general de cómo se integra la reclamación de tokens OAuth2.0 en la plataforma vCare.
La autenticación y la autorización se implementan a 2 niveles: 1) a nivel de grupo, lo que significa que los usuarios de un grupo no pueden acceder a los datos de los usuarios de otro y, 2) a nivel de tema, lo que significa que algunos roles (rol de paciente) sólo pueden acceder a sus propios datos, mientras que el rol de médico puede acceder a los datos de todos los pacientes de un grupo.
Normas a nivel de DevOps
La plataforma vCare Smart Coaching fue diseñada como un sistema descentralizado y escalable. El uso de tecnologías de contenerización como Karaf y Docker Swarm potencian estos conceptos. Con Karaf, podemos implementar servicios de coaching y desplegarlos en cualquier contenedor Karaf. Con Docker podemos crear fácilmente una topología de red distribuida añadiendo diferentes máquinas físicas al enjambre y desplegar una o más instancias de servicios estructurales en cualquiera de ellas.
Esta contenedorización también permite la separación lógica del sistema en diferentes grupos (como se introdujo en la sección de seguridad), lo que proporciona una réplica de toda la plataforma vCare para cada nuevo hospital/cliente potencial dispuesto a integrarse. Con esta separación, vCare hace valer la privacidad del usuario tal y como exige el GDPR.
Conclusiones
La integración de servicios y aplicaciones ya existentes en la plataforma vCare Smart Coaching requería una estrategia adecuada para poner todo el esfuerzo en el middleware que permitiera dicha integración en lugar de en la modificación de los sistemas heredados. Esta estrategia se basaba en tres retos fundamentales:
▪ Un protocolo de comunicación independiente de la tecnología
▪ Un marco de seguridad común
▪ Una terminología compartida para intercambiar datos
El primer reto se resolvió seleccionando MQTT como tecnología de intermediación. Esta elección fue impulsada por el hecho de que es un protocolo independiente de la tecnología y adecuado para todo tipo de dispositivos, incluso los que tienen poca capacidad de procesamiento. Además, MQTT es una tecnología asimétrica, lo que hace que toda la complejidad recaiga en el broker (elemento central) y que los clientes sean sencillos y ligeros.
El segundo reto se ha resuelto añadiendo un marco OAuth2 que proporciona seguridad, autenticación e inicio de sesión único. Toda la plataforma vCare Smart Coaching utiliza la misma base de datos de roles y usuarios, lo que simplifica la integración de servicios y aplicaciones de terceros y/o externos.
Por último, el tercer reto, relacionado con la interoperabilidad, se ha resuelto mediante la definición de un modelo ontológico que se utilizará para los intercambios de datos, permitiendo que todos los servicios y aplicaciones conectados a la plataforma entiendan el contenido de los datos.
Para leer este artículo en el sitio original u otra información relacionada con el proyecto, por favor visita el boletín de noticias de vCare o la página web del proyecto.