OPENVENTI¶
DESCRIPCIÓN
El objetivo de OpenVenti es diseñar un Respirador Artificial que cualquiera pueda construir en cualquier país, para mitigar el problema que hoy en día existe en los hospitales del mundo, y dar una oportunidad a miles de pacientes que son devueltos a casa sin esperanza de sobrevivir.”
CONTENIDO
HARDWARE¶
COMPONTENTES NEUMÁTICOS¶
El proceso inicia con una mezcla hde aire filtrado y oxigeno alimentada por un compressor pneumatico. El contenido de oxígeno es la mezcla es monitoreado por un medidor de oxigeno. El respirado monitorea el flujo de la mezcla de aire y oxigeno y se regula por medio de una valvula de control. La mezcla de aire oxigenado se envia al paciente. El aire que retorna del paciente pasa por un secador donde el aire seco se devuelve al ambiente y se drena la humedad
COMPONTENTES ELECTRÓNICOS¶
Esquema 1
- Layout de conectores para usar con tarjeta Yubox
- Circuito de filtrado para la senhal de comunicaciones I2C
- Schematic del sensor (Falta el modelo del sensor?) de presion con conexiones de: poder (linea viva y tierra), referencia de senhal, puertos de comunicacion (I2C)
- Schematic del sensor pe(Presión Barómetrica) presion diferencial (Sensirion SDP31-500PA): con conexions de: poder (línea viva y tierra) y puertos de comunicacion I2C
- Convertidor de corriente de 120 voltios ac? a 5 voltios DC (voltaje del nodo Yubox?)
- Circuito para activar el buzzer (alarma) usando la salida de la tarjeta Yubox
- Circuido para medir la corriente que esta consumiendo el ventilador (compresor?), leer la cantidad de oxigeno, usando convertidores analogicos a digitales
FIRMWARE¶
El control electrónico está basado en la tarjeta de control IoT Yubox Node y utiliza un blower de grado médico para la provisión del volumen y presión de aire necesarios, además de sensores médicos especializados
TRAMAS DE COMUNICACIÓN¶
DATOS DE GRÁFICAS¶
Orientación
Yubox —> Cliente
Atributo | Detalle |
---|---|
t | Tipo de trama siendo 0 una trama de datos de gráficas |
d | Arreglo de datos para las tres gráficas, representando un punto a la vez |
JSON IN
{
"t":0,
"d":[
(double),
(double),
(double)
]
}
JSON EJEMPLO
{
"t":0,
"d":[
1.2,
2.01,
3
]
}
SETEO DE PARÁMETROS¶
Orientación
Cliente -> Yubox -> Cliente
Atributo | Detalle |
---|---|
id | Identificador de transacción. Permite mapear respuestas a peticiones. |
action | Acción a realizar. Para el seteo de parámetros es la cadena set |
param | Parámetro del respirador que se quiere setear (Valores posibles: TV, PEEP, O2, RR). |
value | Valor que se desea setear al parámetro definido en param |
ts | Timestamp en formato UNIX en el que se realiza la petición. |
token | Token HMAC para autenticación e integridad de datos. |
Nota
ts: En formato Unix necesario para evitar ataques de replay. token: Deberá calcularse sobre la trama con el token seteado en una cadena vacía.
JSON IN
{
"id": (int),
"action": "set",
"param": (string),
"value": (mixed),
"ts": (int),
"token": (string)
}
JSON EJEMPLO
{
"id":12345,
"action":"set",
"param":"PEEP",
"value":5.2,
"token":"ba837ba9ba837ba9ba837ba9ba837ba9ba837ba9"
}
JSON RESPUESTA
{
"id":12345,
"status":200,
"msg":"Operación_Exitosa",
"value":5.2,
"token":"1231231212312312123123121231231212312312"
}
Atributo | Detalle |
---|---|
id | dentificador de transacción. Permite mapear respuestas a peticiones. |
status | Estado de cumplimiento de la transacción. |
msg | Respuesta del resultado de la transacción. |
value | Valor que se desea setear al parámetro definido en param. |
token | Token HMAC para autenticación e integridad de datos. |
Nota
La respuesta deberá reflejar el mismo id recibido en la petición.
OBTENCIÓN DE PÁRAMETROS¶
Cliente -> Yubox -> Cliente
Atributo | Detalle |
---|---|
id | Identificador de transacción. Permite mapear respuestas a peticiones. |
action | Acción a realizar. Para el seteo de parámetros es la cadena get. |
param | Parámetro del respirador que se quiere setear (Valores posibles: TV, PEEP, O2, RR). |
token | Token HMAC para autenticación e integridad de datos. |
Nota
token: Deberá calcularse sobre la trama con el token seteado en una cadena vacía.
JSON IN
{
"id": (int),
"action": "get",
"param": (string),
"token": (string)
}
JSON EJEMPLO
{
"id":12345,
"action":"get",
"param":"PEEP",
"token":"ba837ba9ba837ba9ba837ba9ba837ba9ba837ba9"
}
JSON RESPUESTA
{
"id":12345,
"status":200,
"msg":"Operación_Exitosa",
"value":5.2,
"token":"1231231212312312123123121231231212312312"
}
Atributo | Detalle |
---|---|
id | Identificador de transacción. Permite mapear respuestas a peticiones. |
status | Estado de cumplimiento de la transacción. |
msg | Respuesta del resultado de la transacción. |
value | Valor que se desea setear al parámetro definido en param. |
token | Token HMAC para autenticación e integridad de datos. |
Nota
La respuesta deberá reflejar el mismo id recibido en la petición.
ENVÍO DE ALERTAS¶
Orientación
Yubox -> Cliente
Atributo | Detalle |
---|---|
t | Tipo de trama siendo 1 una trama de alerta. |
msg | Cadena que describe la alerta. |
severidad | Nivel de riesgo de la alerta. |
JSON IN
{
"t":1,
"msg": (string),
"severidad": (int)
}
JSON EJEMPLO
{
"t":1,
"msg":"Oxígeno agotado",
"severidad":5
}
SOFTWARE¶
APLICACIÓN MOVIL¶
DESCRIPCIÓN GENERAL¶
La aplicación móvil OpenVenti tiene como finalidad el monitoreo y administración del respirador artificial del mismo nombre, de forma segura e intuitiva.
El sistema estará constituido por los siguientes componentes:
Estructura de la Aplicación

FLUJO DE TRABAJO¶
USUARIOS¶
EMPAREJAMIENTO¶
VISUALIZACIÓN DE DATOS¶
TRANSIMISIÓN DE DATOS¶
Se usara tecnología Wifi, aplicando norma ANSI/TIA 1149, motivo controlar que el espectro radioeléctrico y no obstaculizar conexión de otros equipos, incluso otros ventiladores.
La norma ANSI/TIA 1149 se usa para Servicio de Alerta Móvil Comercial (CMAS) sobre los sistemas CDMA