Uno de los componentes innovadores del proyecto AR_CODEX es el monitor de signos vitales que será una parte integral del sistema de control del respirador automático. Este monitor permitirá consultar los datos que se registren con los sensores de los signos vitales del paciente y los que se encuentran en el respirador automático, a través de dispositivos móviles (smartphones/tablets), por medio de una conexión WIFI.
Componentes del monitor de signos vitales
Servidor
El servidor está compuesto por el Backend, que es el entorno lógico que se encarga del funcionamiento de una página web. Este utiliza el micro.framework Flask, el cual utiliza el lenguaje de programación Phyton, que se utiliza para el desarrollo de aplicaciones Web bajo el patrón MVC.
Utiliza las siguientes dependencias:
- Flask-Authorize
- Websockets
- Flask-SQLalchemy
Receptor de datos
Es el componente encargado de aceptar las conexiones de los clientes-sensores y guarda las mediciones enviadas por estos en una base de datos local. Está basado en websockets y maneja conexiones simultáneas.
Base de datos
Se basa en SQLite, el cual es un sistema de gestión de bases de datos transaccionales, y cumple con las características ACID. Maneja velocidades altas con baja carga (cientos de clientes).
API
Se utiliza API-REST para administrar y para consultar datos.
Frontend
El frontend es la interfaz con la que el usuario interactúa dentro de una página web. Podría estar basado en Vue.js o en otra tecnología que se ajuste a las necesidades de los usuarios. Permite la visualización de datos, configuración de alarmas, administración del sistema dependiendo de roles y permisos del usuario.
Estructuras de datos
- Usuarios
- Roles
- Permisos
- Clientes-Sensores
- Creado
- Dirección MAC
- ID
- Agente (versión del cliente y modelo del hardware, un texto breve e informativo)
- Sensores
- Creado
- Nombres
- Descripción
- Unidad
- Agente (versión, modelo del sensor, etc., deberían de ser textos breves, informativos que permitan saber nombres de chips, año de modelo, desarrollador, etc.)
- ID
- Datos de sensores
- Timestamp
- Valor
- Sensor ID
- Sesión ID
- Sesiones
- Creado
- Cliente ID
- Descripción (el contexto de la sesión)
- Identificador local (Puede ser DPI, ID de ficha clínica, u otro, antecedido por el tipo de ID)
Protocolo de conexión
Un cliente-sensor nuevo es configurado para conectarse con el servidor configurando la
conexión al WiFi, luego la dirección IP del servidor, la clave de seguridad (si se usa HTTPS no
sería necesario, si no se puede usar Diffie-Helman o RSA), la información del paciente, y del
contexto (puede ser el hospital X o una clínica, un proyecto, ONG, etc), la información de cada
sensor disponible conectado a este cliente-sensor.
Al recibir esta información el servidor registra una nueva sesión, registra los sensores si estos
no existen, mapea ids de sensores con los sensores presentes en el cliente sensor para ir
guardando los datos, a nivel de sesión y envía de vuelta una señal que informa que está listo
para comenzar el registro continuo de datos. Al perder la conexión olvida el mapeo de
sensores.
No hay comentarios:
Publicar un comentario