Historia
Hemos propuesto un sistema inteligente de monitoreo de pacientes para seguir el estado de salud de los pacientes automáticamente a través de redes de sensores. Este sistema está especialmente diseñado para pacientes con Covid-19. Se utilizan varios sensores para recopilar los comportamientos biológicos de un paciente. Luego, la información biológica significativa se envía a la nube de IoT. El sistema es inteligente y puede detectar la condición crítica de un paciente procesando los datos de los sensores y proporcionar notificaciones automáticas a los médicos y enfermeras, así como al personal a cargo del hospital. Los médicos y enfermeras se benefician con este sistema al observar a sus pacientes de forma remota sin visitarlos en persona. Los familiares de los pacientes también pueden beneficiarse de este sistema con acceso limitado.
Descripción
Hemos utilizado una placa de desarrollo LoRA Things UNO como controlador principal de este sistema de monitoreo. La placa Things UNO recopila la información sobre los parámetros de salud del paciente por medio de varios sensores. The Things UNO también es responsable de transmitir datos al LoRA Gateway (The Things Gateway). La puerta de enlace Lora está conectada con la nube de AWS. La plataforma en la nube de AWS IoT se utiliza como una nube de IoT para este sistema.
Lista de componentes de hardware
Componente | Propósito |
The Things UNO | Sistema de desarrollo LoRA |
BME680 Sensor de temperatura y humedad | Para la medición de temperatura y humedad del cuerpo |
Sensor De Pulso Cardiaco Oximetro Max30100 Arduino | Medición de pulso |
MAXREFDES117 Plataforma de desarrollo de monitores de pulsioximetría y frecuencia cardíaca | Medición de frecuencia cardíaca |
Buzzer | Alarma de emergencia |
LED | Indicador de emergencia |
Botón | Llamada para asistencia |
Sensor de movimiento SW420 | Detecta movimientos inesperados |
Sensor de presión arterial | Mide la presión arterial |
Camara 360 opcional | Es opcional y hace streaming del video |
Otros sensores | Calidad de aire y temperatura ambiente |
Fuente de 12 voltios |
La condición de emergencia de un paciente se determina mediante la ecuación matemática I,
donde la notación matemática detallada sobre el nivel de umbral se elabora en la Tabla-1.
Hemos desarrollado una aplicación móvil para visualizar el estado del sensor. Se han utilizado varios gráficos y medidores para mostrar los datos de los sensores en tiempo real, que contienen los parámetros de salud actuales (estado de salud actual) de un paciente. A través de esta aplicación, los médicos o enfermeras pueden monitorear a sus pacientes de forma remota sin necesidad de visitar la unidad de UCI. Debido a la naturaleza de la inteligencia, el sistema envió la notificación a los médicos o enfermeras correspondientes sobre la situación de emergencia del paciente, donde la Ecuación -I determina la condición de emergencia de un paciente procesando los datos de los sensores. El personal a cargo del hospital (persona a cargo de la UCI) también monitoreó constantemente a más de un paciente a la vez a través de nuestra aplicación de escritorio conectada a la nube y basada en la web (que se muestra en la Figura), que mejora la eficiencia de la unidad de la UCI.
Aplicación móvil
Aplicación web
Conclusión
Nuestro sistema propuesto descrito en este proyecto permite a los médicos o enfermeras, así como al personal a cargo del hospital, monitorear al paciente en la unidad de UCI en tiempo real, lo que mejora la eficiencia y la calidad del servicio. Existe una gran oportunidad de modificar este sistema como un dispositivo portátil, que nos permite monitorear a las personas mayores o bebés de forma remota desde cualquier lugar.
Esquema
Código fuente
#include <TheThingsNetwork.h>
#include <SPI.h>
#include <MAX30100_PulseOximeter.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
// Set your AppEUI and AppKey
const char *appEui = “0000000000000000”;
const char *appKey = “00000000000000000000000000000000”;
#define loraSerial Serial1
#define debugSerial Serial
// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_ME
//VARIABLE TO HOLD THE SENSORS DATA
int bpm;
int spo2;
float temp;
//the sea level presure in your region (****)
Adafruit_BME280 bme; // BME280 Sensnor declaration
unsigned long currentMillis; //hold the current time
//pulse oximeter time period (measurment time period)
#define REPORTING_PERIOD_MS 1000
PulseOximeter pox;
uint32_t tsLastReport = 0;
// Callback (registered below) fired when a pulse is detected
void onBeatDetected()
{
// Serial.println(“Beat!”);
}
void measured_pulse(){
pox.update();
if (millis() – tsLastReport > REPORTING_PERIOD_MS) {
bpm=pox.getHeartRate();
tsLastReport = millis();
}
}
TheThingsNetwork ttn(loraSerial, debugSerial, freqPlan);
void setup()
{
loraSerial.begin(57600);
debugSerial.begin(9600);
// Wait a maximum of 10s for Serial Monitor
while (!debugSerial && millis() < 10000)
;
debugSerial.println(“– STATUS”);
ttn.showStatus();
debugSerial.println(“– JOIN”);
ttn.join(appEui, appKey);
Serial.println(F(“BME280 test”));
Serial.println(“Initializing MAX30100”);
pox.begin();
pox.setOnBeatDetectedCallback(onBeatDetected);
bool status;
status = bme.begin();
if (!status) {
Serial.println(“Could not find a valid BME280 sensor, check wiring!”);
while (1);
}
pinMode(7, OUTPUT);
pinMode(A0,INPUT);
pinMode(8,INPUT);
pinMode(6,INPUT);
}
void loop()
{
debugSerial.println(“– LOOP”);
h_rate = analogRead(A0);
button = digitalRead(8);
temperature = pox.getTemperature();
spo2 = pox.getSpO2();
bpm = bpm;
humidity = bme.readHumidity();
movement = digitalRead(6);
byte payload[6];
payload[0] = highByte(bpm);
payload[1] = lowByte(temperature);
payload[2] = highByte(humidity);
payload[3] = lowByte(movement);
payload[4] = lowByte(spo2);
payload[5] = lowByte(button);
payload[6] = lowByte(h_rate);
debugSerial.print(“Temperature: “);
debugSerial.println(temperature);
debugSerial.print(“Humidity: “);
debugSerial.println(humidity);
debugSerial.print(“BPM: “);
debugSerial.println(bpm);
debugSerial.print(“SPO2: “);
debugSerial.println(spo2);
debugSerial.print(“H_rate: “);
debugSerial.println(h_rate);
debugSerial.print(“Button: “);
debugSerial.println(button);
debugSerial.print(“Movement: “);
debugSerial.println(movement);
ttn.sendBytes(payload, sizeof(payload));
delay(20000);
}
Fuentes:
Uddin, MS, Alam, JB y Banu, S. (2017, septiembre). Sistema de monitorización de pacientes en tiempo real basado en internet de las cosas. En 2017, IV
Conferencia Internacional sobre Avances en Ingeniería Eléctrica (ICAEE) (págs. 516-521). IEEE. DOI: 10.1109 / ICAEE.2017.8255410
Sé el primero en comentar