Sistema de control médico remoto Medical System Remote...

26
Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío: Fecha de recepción: Fecha de aceptación: Sistema de control médico remoto Medical System Remote Control Michael Andrés Zea Guaqueta, Oscar Geovanny Nimisica Garcia Resumen: Este artículo describirá la investigación y el desarrollo de un sistema tele médico que cumple con las tareas de medir y transferir los signos vitales (oximetría, pulso cardiaco y temperatura corporal) de una manera remota, el sistema médico será capaz de capturar y tratar los valores de las variables del paciente por medio de una comunicación serial en su primer etapa, en la segunda etapa el sistema utilizará una comunicación wifi para transferir los datos a un servidor web que será configurado para el envío y recepción de datos en una aplicación Android para que puedan ser visualizados por el personal adecuado sin necesidad de estar presente en la toma de estos valores. Palabras clave: Electrodos biomédicos, procesamiento de señales médicas, ritmo cardiaco, telemetría biomédica, telemedicina. Abstract: This article describes the research and development of the medical system that fulfills the tasks of measuring and transferring vital signs (oximetry, heart rate and body temperature) in a remote way, the medical system is able to capture and treat the values of the patient variables through a serial communication in its first stage, in the second stage the system uses a wifi communication to transfer the data to a web server that is configured to

Transcript of Sistema de control médico remoto Medical System Remote...

Page 1: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

Sistema de control médico remoto

Medical System Remote Control

Michael Andrés Zea Guaqueta, Oscar Geovanny Nimisica Garcia

Resumen: Este artículo describirá la investigación y el desarrollo de un sistema tele médico

que cumple con las tareas de medir y transferir los signos vitales (oximetría, pulso cardiaco y

temperatura corporal) de una manera remota, el sistema médico será capaz de capturar y

tratar los valores de las variables del paciente por medio de una comunicación serial en su

primer etapa, en la segunda etapa el sistema utilizará una comunicación wifi para transferir

los datos a un servidor web que será configurado para el envío y recepción de datos en una

aplicación Android para que puedan ser visualizados por el personal adecuado sin necesidad

de estar presente en la toma de estos valores.

Palabras clave: Electrodos biomédicos, procesamiento de señales médicas, ritmo cardiaco,

telemetría biomédica, telemedicina.

Abstract: This article describes the research and development of the medical system that

fulfills the tasks of measuring and transferring vital signs (oximetry, heart rate and body

temperature) in a remote way, the medical system is able to capture and treat the values of

the patient variables through a serial communication in its first stage, in the second stage the

system uses a wifi communication to transfer the data to a web server that is configured to

Page 2: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

send and receive data in an android application so that they can be visualized by the

appropriate personnel without the need to be present in the taking of these values.

Key Words: Biomedical electrodes, Biomedical signal processing, Biomedical telemetry,

Circadian rhythm, telemedicine.

1 Introducción

Los signos vitales son mediciones de las funciones más básicas del cuerpo, su función

principal es informar el estado de salud del paciente, entre ellos están: Pulso cardíaco,

temperatura corporal, frecuencia respiratoria y la saturación de oxígeno en la sangre que en

sus niveles óptimos indicarán que el paciente está en buen estado de salud. Sin embargo al

ser mediciones que deben tomarse con cierta periodicidad necesitan un control estricto, los

pacientes que viven en zonas marginales de las ciudades no cuentan con la facilidad para

dirigirse a los hospitales para poder tomarse estos valores, además las personas que ya no

pueden ser atendidas en los hospitales y que se envían a las casas necesitan que sus signos

vitales se prioricen y sean del total conocimiento del doctor especialista y en caso de que se

presente alguna alteración de los valores óptimos de estas variables sepa que hacer y cómo

actuar ante la emergencia [1][2][3].

Por tales motivos se propone la implementación de un sistema que sea capaz de medir tres

signos vitales los cuales son la oximetría, el pulso cardiaco y la temperatura corporal, esta

medición se hará de manera autónoma con la colocación del dedo del paciente en el sensor.

Después de la lectura de estas variables se procesará por medio de un microcontrolador y se

transmitirá a la red para que pueda ser visualizado remotamente por medio de una aplicación

Page 3: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

para celular, además de esto se almacenan estos valores en una base de datos para que se

pueda tener un mejor control del paciente.

2. MARCO TÉORICO

2.1 Temperatura corporal

La temperatura corporal es la diferencia entre la cantidad de calor producida por el cuerpo y

la que se libera al ambiente por el mismo, medida en grados. Los procesos metabólicos de

los tejidos centrales del cuerpo son los que generan el calor transferido a la superficie de la

piel por la sangre circulante y luego se disipa al ambiente. La temperatura corporal central es

más alta que la de la superficie del cuerpo y en condiciones normales se mantiene dentro de

un rango de 36.0 a 37.5 °C (97.0 °F a 99.5 °F) variaciones normales de esos valores de

temperatura, así como cambios durante el día, con temperaturas corporales centrales más

bajas, temprano en la mañana y más altas, al finalizar la tarde [1].

La temperatura difiere según la parte del cuerpo que se trate; la temperatura corporal central

es más alta que la superficial, suele medirse en el tímpano o en el recto, pero también puede

determinarse en el esófago, arteria pulmonar o vejiga mediante dispositivos de medición

invasivos. La temperatura corporal superficial se mide en la boca (sublingual), la axila y otros

sitios de la superficie cutánea [3].

El método no invasivo en el que se basa este proyecto, consiste en obtener la temperatura

corporal en la superficie cutánea de la piel de los usuarios, esto es, colocar el sensor en el

área de la axila, estomago, cuello, ingle, etc. [1] [3].

Page 4: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

2.2 Pulso cardiaco

El pulso es el latido de una arteria que se siente sobre una saliente ósea. Cuando se contrae

el ventrículo izquierdo, la sangre pasa a través de las arterias y venas de todo el cuerpo. Esta

onda de sangre es el pulso. Durante el reposo, el corazón sólo necesita bombear de 4 a 6 l/m

de sangre. Este volumen aumenta hasta 5 veces en el ejercicio. Normalmente, cada

ventrículo bombea 70 ml de sangre en cada contracción, aunque hay grandes variaciones de

volumen compatibles con la vida. El volumen del gasto se refleja en las pulsaciones, que

pueden sentirse en donde las arterias pasan sobre los huesos [5].

Al valorar el pulso se observan el ritmo, la frecuencia, el tamaño (volumen) y la tensión

(elasticidad). La frecuencia es el número de latidos por minuto (LPM). Cuando existen algún

tipo de enfermedad en los pacientes suelen observarse variaciones en el LPM. La frecuencia

cardiaca puede ser alterada por varios factores, entre los cuales se puede citar a los

siguientes: los procesos patológicos, edad, sexo, talla y actividad física o emocional. El pulso

según el desarrollo del metabolismo desde que se nace hasta la vejez va disminuyendo. En

los adultos suele considerarse normal una frecuencia entre 60 y 80 LPM. Los trastornos se

presentan cuando el pulso o la frecuencia cardiaca sobrepasan, o están por debajo de los

límites o los márgenes de variación normal, si por ejemplo, una persona tiene una frecuencia

cardiaca de mas 100LPM puede estar presenta una TAQUICARDIA, por otro lado si una

persona presenta una frecuencia cardiaca de menos de 60LPM se puede presentar una

BRADICARDIA [4] [5].

El tamaño o amplitud de una onda de la frecuencia cardiaca refleja el volumen de sangre que

se impulsa contra la pared de la arteria durante la contracción ventricular. En un pulso débil

no hay sensación de plenitud ni un latido detenido; puede sentirse filiforme. Cundo no es

Page 5: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

posible sentir o escuchar el pulso, se dice que es imperceptible. Se habla del pulso saltón

cuando el volumen alcanza un nivel más alto que lo normal y desaparece rápidamente [6],

para medir el pulso cardiaco se utiliza un sensor max30105 (ver Figura 1)

Figura 1. Medición pulso cardiaco con sensor max30105(extraída de [11])

2.3 Oximetría

La oximetría de pulso es una forma de medir cuánto oxígeno contiene su sangre. Gracias a

un pequeño dispositivo llamado oxímetro de pulso (ver Figura 2), es posible medir los niveles

de oxígeno en su sangre sin necesidad de pincharlo con una aguja. El nivel de oxígeno en

sangre calculado con un oxímetro se denomina “nivel de saturación de oxígeno” (abreviado

como SatO2). Este porcentaje indica cuánto oxígeno transporta su sangre en relación al

máximo que sería capaz de transportar. En circunstancias normales, más del 89% de sus

glóbulos rojos debería contener oxígeno [4].

Figura 2. Medición oximetría de pulso (Extraída de [12])

Page 6: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

2.4 Sensor MAX30105

El sensor de partículas MAX30105 (ver Figura 3), es un sensor flexible y potente que permite

detectar la distancia, la frecuencia cardíaca, la detección de partículas e incluso el parpadeo

de un ojo. El MAX30105 ha sido equipado con tres Leds y un detector de fotones muy

sensible. La idea es pulsar los diferentes LED y luego detectar lo que brilla. Según la firma

reflejada, es posible detectar diferentes tipos de partículas o materiales (como sangre

oxigenada o humo de un incendio) [5].

El MAX30105 utiliza un LED rojo, un LED verde y un LED IR (infrarrojo) para detección de

presencia, trazado de latidos cardíacos y monitorización de la frecuencia cardíaca entre una

multitud de usos, incluida la oximetría de pulso. El MAX30105 está diseñado para operar a

5V y puede comunicarse con microcontroladores de 3.3V y 5V [5].

Figura 3. Sensor max30105 (extraída de [11])

Detrás de la ventana de la izquierda, el MAX30105 tiene tres LED. A la derecha hay un

detector de fotones muy sensible. La idea es obstruir los diferentes LED, detectar qué luz

brilla en el detector y, según la firma, puede detectar la presencia de diferentes tipos de

partículas o materiales (como sangre oxigenada o humo de un incendio) [5].

Page 7: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

2.5 RASPBERRY Pi

Es un computador de placa reducida, computador de placa única o computador de placa

simple (SBC) de bajo costo desarrollado en Reino Unido por la Fundación Raspberry Pi, con

el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas.

Raspberry pi 3:

La Raspberry Pi 3 (ver Figura 4) tiene su nuevo procesador, un ARM Cortex A53, un

procesador de cuatro núcleos a 1.2GHz de 64 bits y que, según sus

datos, tiene un rendimiento 10 veces superior al de la Raspberry Pi original y un 50% más

que la Raspberry Pi 2, el modelo anterior. La Raspberry Pi 3 Model B cumple el sueño de

muchos usuarios que habían estado pidiendo esto durante años que se integrase en la

propia placa la conectividad inalámbrica WiFi y Bluetooth, ya que hasta ahora había que

utilizar adaptadores inalámbricos USB o, directamente, utilizar cable al puerto Ethernet [6].

Figura 5. Raspberry pi 3 (extraída de [13])

Page 8: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

2.6 Android Studio

Android Studio es un entorno de desarrollo integrado (IDE), basado en IntelliJ IDEA de la

compañía JetBrains, que proporciona varias mejoras con respecto al plugin ADT (Android

Developer Tools) para Eclipse. Android Studio utiliza una licencia de software libre Apache

2.0, está programado en Java y es multiplataforma.

Este se presentó por Google el 16 de mayo del 2013 en el congreso de desarrolladores

Google I/O, con el objetivo de crear un entorno dedicado en exclusiva a la programación de

aplicaciones para dispositivos Android, proporcionando a Google un mayor control sobre el

proceso de producción. Se trata pues de una alternativa real a Eclipse, el IDE recomendado

por Google hasta la fecha, pero que presentaba problemas debido a su lentitud en el

desarrollo de versiones que solucionarán las carencias actuales (es indispensable recordar

que Eclipse es una plataforma de desarrollo, diseñada para ser extendida a través de

plugins) [7].

Por ello Android Studio se ha mantenido durante todo este tiempo en versión beta, pero

desde el 8 de diciembre de 2014, en que se liberó la versión estable de Android Studio 1.0,

Google ha pasado a recomendarlo como el IDE para desarrollar aplicaciones para su sistema

operativo, dejando el plugin ADT para Eclipse de estar en desarrollo activo. Esta versión la

puedes descargar desde la web de Android Developer [7].

Page 9: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

2.7 Firebase

Firebase es la nueva y mejorada plataforma de desarrollo móvil en la nube de Google. Se

trata de una plataforma disponible para diferentes plataformas (Android, iOS, web), con lo

que de esta forma presentan una alternativa seria a otras opciones para ahorro de tiempo en

el desarrollo como Xamarin.

En muchas ocasiones nos planteamos cómo poder acceder a un servicio web para poder

tener nuestra aplicación trabajando con datos en la nube. Por ello surgió Firebase, para

proveer una API para guardar y sincronizar datos en la nube en tiempo real.

3. DESARROLLO DEL PROYECTO

El proyecto comprende una serie de etapas para su correcto funcionamiento, desde la

adaptación del sensor hasta el envío de los datos a la aplicación Android.

Figura 5. Diagrama de bloques de la alternativa de solución.

Identificación de paciente y captura de las medidas.

Adaptación y tratamiento de los valores de las variables

Recepción y envío de datos a la red

Visualización

Page 10: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

3. 1 Identificación de paciente y captura de las medidas

En esta etapa se identifica el paciente digitando un número a través de un teclado matricial,

este número será asignado por el administrador de la aplicación para poder tener un control

de cada paciente, para la captura de las medidas se utiliza el sensor max30105 el cual

permite adquirir el valor de las variables (oximetría, pulso cardiaco y temperatura corporal),

este sensor utiliza una comunicación i2c de la cual estará encargada la librería

predeterminada en arduino, así, comenzará a capturar los valores tan pronto el paciente

coloque el dedo en el sensor.

Figura 6. Diagrama de casos-actor principal.

Interacción sistema médico

Digita su número de paciente Coloca el dedo en el sensor

Observa el valor de los

signos vitales

Realiza periódicamente la

toma de los valores

Espera un momento

Observa que no se

presente ninguna

anormalidad

Paciente

Page 11: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

En el siguiente diagrama de flujo se presenta lo lógica secuencial del microcontrolador en la

cual se presentan variables de entrada a través del teclado matricial y del sensor médico,

seguidamente se ejecuta el proceso correspondiente al led infrarrojo y se presenta la

respuesta visual del módulo médico.

Si

No

Figura 7. Diagrama de flujo de la programación del microcontrolador.

Inicio Capturar número

digitado por el

paciente

Indicar al paciente

en la lcd que toca

colocar el dedo

Compara si el valor de Ir es

menor que 50 000

Indicar al paciente que la

toma de los valores está

en proceso

Inicializa el led IR y

comienza a capturar

su valor

Comienza la

captura de los

datos

Page 12: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

3.2 Adaptación y tratamiento de los valores de las variables

En esta etapa se reciben los valores del sensor, al recibir tantos datos al mismo tiempo por

parte del sensor se realiza un código de programación adecuada para que el

acondicionamiento de cada variable que se toma del paciente. La programación se divide en

dos partes las cuales se dividen en la captura del pulso cardíaco y la otra parte es la

encargada de tomar el valor de la oximetría y de la temperatura corporal.

3.2.1 Captura pulso cardiaco

En primer lugar se verifica es si el valor de ir es verdadero, al ser verdadero comienzan las

operaciones adecuadas para el cálculo del pulso cardiaco, se introduce en el programa una

sentencia que será la encargada de estabilizar el valor del pulso cardiaco y al entrar en esta

sentencia se publicará en la lcd el valor del pulso cardiaco (bpm).

Si

Si

si

Figura 8. Diagrama de flujo de la captura de pulso cardiaco.

Realizar acción

mientras k==0

Evaluar si irvalue es verdadero

Comparar si bpm está

en el rango de 20 y

255

Definir y hacer el cálculo

de las variables necesarias para obtener un valor

correcto de bpm

Almacenar valores en el

array , calculo del valor de

la frecuencia de pulso y obtención de los pulsos por

minuto.

Comparar si bpm esta en el rango

de 40m a 100

Publicar en la lcd

el valor de bpm

Page 13: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

3.2.2 Captura oximetría y temperatura corporal

En la segunda parte del código se declara la variable encargada de medir la temperatura del

paciente, además se da inicio a la programación que está encargada de la medición de la

segunda variable (SPO2) declarando los buffer que tomarán los valores del led rojo y del led

IR del sensor para una correcta medida de la variable (SPO2) del paciente.

Figura 9. Diagrama de flujo de la captura de pulso cardiaco.

En la última parte del programa en el arduino se transmiten los datos a la raspberry a través

del puerto serial que en este caso es el cable USB, el cual se conecta a un puerto periférico

de la raspberry.

Figura 10. Diagrama de flujo de la captura de la temperatura corporal.

Hacer esto mientras

que k==1

Se define los buffer

encargados de la obtención de

los valores del sensor

Se inicia la captura

de la temperatura

Se van almacenando los

valores del sensor en los

buffer

Se va chequeando el estado del sensor para tomar nuevos datos hasta

completar todas las posiciones de los

buffer

Se compara el valor de

la variable validSPO2

para que sea diferente

de 0

Se declara la

variable de la

pulsioximetría

Hacer esto mientras que

g==0

Se envía el valor

de bpm vía serial Se envía el valor

de spo vía serial

Se envía el valor de

temperatura vía

serial

Se envía un pulso low al pin de reset para ejecutar de nuevo el programa

Si

Page 14: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

3.3 Recepción y envío de datos a la red

La recepción y el envío de datos a la red se realizó a través de la Raspberry pi 3 en la cual se

utilizó el lenguaje de programación Python 2, seguidamente se establecieron las referencias

correspondientes para realizar la conexión de manera adecuada hacia Firebase y para

establecer la comunicación serial, con el fin de realizar la lectura correspondiente del sensor

médico.

Figura 11. Diagrama de flujo de la lógica de programación Python.

Configuración

parámetros

authDomain y database

URL

Captura de

datos de tipo

float:

Pulso Cardiaco

Oximetría

Temperatura

Recepción y envío de datos a la red

-Inicio de servidor Firebase

-Definición de Base de Datos

Implementación comunicación

serial con el microcontrolador

-Velocidad de transmisión

-Puerto de Comunicación

“Sistema de

Control

Médico ON”

Base de

datos en la

plataforma

Firebase

Conversión de los datos adquiridos a

una cadena de caracteres de tipo

String

Establecer referencias:

Medición

BPM

SPO2

Temperatura

“BPM : ”

“SPO2 : ”

“Temp : ”

Page 15: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

Para realizar la configuración entre Firebase y la Raspberry Pi es necesario anexar algunos

parámetros los cuales son establecidos por el servidor (ver figura 12).

Figura 12. Configuración parámetros Firebase.

La comunicación serial es implementada a través de un periférico USB de la Raspberry Pi

permitiendo hacer la lectura correspondiente, luego de determinar el puerto de comunicación

y la velocidad de transmisión. A través del comando ser.read (),se establece la lectura del

puerto serie, asignando una variable de tipo String y utilizando db=firebase.database() se

construye la conexión con la base de datos de Firebase.

3.3 Diseño base de datos

Se utilizó Firebase como el punto de control entre la información suministrada por la

Raspberry (datos del paciente) y la aplicación android (registro y visualización), esta

plataforma permite:

Crear y modificar usuarios de autenticación a partir de un correo electrónico (Gmail) y

una contraseña (ver figura 13).

Establecer la base de datos en tiempo real

Administrar y sincronizar referencias/registros de los datos almacenados.

Page 16: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Figura 13. Inicio de Firebase.

A través de la cuenta de correo electrónico se ingresa al entorno de Firebase (ver figura 14), el

cual ofrece la creación de diferentes proyectos de desarrollo web.

Figura 14. Página principal Firebase.

Firebase tiene variadas herramientas entre las que se encuentran módulos de autenticación

de usuarios con múltiples métodos para iniciar sesión (ver figura 15).

Figura 15. Tipos de autenticación de Firebase.

Page 17: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

Además, es posible configurar usuarios a través de cuentas de correo y con contraseñas

predeterminadas, para este proyecto se utilizaron dos cuentas de correo con el fin de

controlar el acceso a los diferentes servicios del proyecto (ver figura 16).

Figura 16. Cuentas de gmail asociadas a modulo médico.

En el bloque de Database se observa la estructura de las referencias principales las cuales

corresponden al paciente en el cual indicara el número de paciente (ver figura 17).

Figura 17. Referencia principal base de datos.

Las referencias secundarias corresponden a las mediciones realizadas (0, 1, 2, 3,..) con el

sensor médico y transmitidas a través de la Raspberry Pi 3 y a la siguiente referencia

anidada se le atribuye los datos del paciente nombre, cedula y edad (ver figura 18).

Page 18: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Figura 18. Segunda referencia base de datos.

3.4 Visualización- Diseño aplicación Android

La aplicación Android está diseñada en Android Studio teniendo en cuenta la estructura del

software basada en el lenguaje de programación Java. Se establecieron tres clases

principales (actividades) las cuales permiten:

Realizar la autenticación del profesional médico a partir de un usuario (correo

electrónico y contraseña) predeterminado en el bloque respectivo de Firebase.

Registrar los datos de identificación del paciente a través de una ventana gráfica y

asignar un indicativo numérico correspondiente a la referencia de almacenamiento en

el bloque Database de la plataforma Firebase.

Visualizar los datos de identificación (nombre, cedula y edad) además de las

mediciones correspondientes a pulso cardiaco, oximetría y temperatura corporal, del

paciente deseado, en tiempo real.

Page 19: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

El siguiente gráfico corresponde al diagrama de flujo de la aplicación, el cual permite

estructurar las secuencias lógicas que contienen cada proceso realizado y la función principal

de cada actividad del proyecto.

Figura 19. Proyecto aplicación Android

Iniciar sesión con

cuenta (Gmail y

contraseña)

predeterminada en

Firebase

Captura de

datos del

paciente:

-Nombre

-Cédula

-Edad

-Número de

paciente

SISTEMA MÉDICO Aplicación Android

Base de

datos en la

plataforma

Firebase

Conexión con la base

de datos en tiempo

real:

-Datos

-Mediciones

correspondientes al

sensor médico

Almacenamiento de

los datos y conversión

a tipo de dato String

en la referencia

“Datos”

“Nombre:”

“Cédula:”

“Edad:”

“Medición:”

Seleccionar

opción:

-Registro de

paciente

-Control de

paciente

Registro de paciente

Control de paciente

Ingreso del

número de

paciente, el

cual se desea

evaluar

Login.java

Inicio.java

Doctor.java

Recycler.java

Page 20: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

3.4.1 Login.java

La primera actividad llamada Login.java permite capturar el email y contraseña a través de

dos EditText (cuadros de edición-lectura en string), seguidamente se hace el llamado

correspondiente FirebaseAuth.getInstance con el fin de verificar el usuario en el bloque de

autenticación vinculado en Firebase.

3.4.2 Inicio.java

Así, el usuario correctamente identificado accede a una segunda ventana gráfica la cual

corresponde a la actividad Inicio.java la cual está estructurada con tres botones de selección

que permitirán registrar(btnusuario), controlar/verificar las medidas del sensor

médico(btndoctor) y salir de la sesión(signout).

Según el botón seleccionado se remite a una nueva actividad, para los dos primeros botones,

y para abandonar sesión se regresa a la actividad inicial Login.java.

3.4.4 Doctor.java

En esta nueva clase Doctor.java, se construyen cuatro (4) cuadros de edición los cuales

permiten capturar los datos de identificación del paciente

Nombre

Cédula

Edad

Número de paciente

Para organizar el registro de forma correcta es necesario definir la referencia principal

(número de paciente), la cual es capturada en el último cuadro de edición que corresponde a

la referencia de almacenamiento en el bloque Database en Firebase y permitirá identificar

cada paciente con un número único. Las siguientes tres estructuras de programación

permiten construir de forma organizada la visualización de la identificación y de la lectura del

sensor médico.

Page 21: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

3.4.5 RecyclerActivity.java

En esta actividad se define un Recyclerview componente de visualización, el cual utiliza un

arreglo matricial como estructura para construir las columnas correspondientes a los datos

como una cadena de caracteres.

Teniendo en cuenta la base de datos en tiempo real cada medición realizada con el sensor

médico es una nueva referencia en la plataforma Firebase, así en el instante que se

complete cada proceso de medición, se actualizará el componente de visualización con la

medida correspondiente BPM,SPO2 y la temperatura del paciente.

Además, tres cuadros de Textview(visualizar texto) definidos representan los valores

capturados de nombre,cedula y edad.

Ahora podemos ver el diseño de la aplicación android en cada una de sus ventanas.

Figura 22. Visualización datos

y mediciones del paciente Figura 20. Pantalla principal

aplicación Android

Figura 21. Registro de pacientes

aplicación Android

Page 22: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

4. PRUEBAS Y RESULTADOS

Se tomaron un total de 10 muestras de las tres variables del sensor (pulso cardiaco,

oximetría y temperatura corporal) todas las muestras fueron tomadas consecutivamente,

estas pruebas se realizan para mirar que tan bien calibrado está el sensor.

Tabla 2. Medidas de análisis de los datos

obtenidos bpm

Tabla 1. Sucesión de muestras del sensor (Valor bpm)

Medición Valor bpm

(Sistema

médico)

Valor bpm (pulsioximetro real)

%error

1 87.13 72 20,76%

2 60.11 62 3.04%

3 64.23 65 1.1%

4 63.18 61 3.57%

5 63.15 64 1.3%

6 65.28 69 5.39%

7 62.11 65 4.44%

8 64.00 66 3.03%

9 60.13 67 10.2%

10 61.69 63 2.07%

Desviación media 4,4416

Desviación estándar 7,9230

Varianza 56,497829

Coeficiente de variación 0,1217

Page 23: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

Medición Valor SPO2

(Sistema medico)

Valor SPO2 (pulsioximetro real)

%error

1 97 97 0%

2 96 95 1.05%

3 97 96 1.05%

4 95 94 1.05%

5 96 93 3.2%

6 95 94 1.05%

7 97 96 1.05%

8 97 98 1.05%

9 94 95 1.05%

10 96 96 0%

Tabla 3. Comparación valores SPO2

Desviación media 0,8

Desviación estándar 1,0540

Varianza 1

Coeficiente de variación 0.0825

Tabla 4. Medidas de análisis de los datos

obtenidos SPO2

Page 24: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Medición Temperatura

1 27.63

2 27.36

3 27.42

4 27.39

5 27.42

6 27.40

7 27.41

8 27.34

Tabla 5. Medición temperatura

Al comenzar a realizar las mediciones se nota que el sensor nos daba valores totalmente

lejanos al verdadero, se sabe esto gracias a que se utilizó un pulsioximetro médico para

poder comparar que tan exacto era el sensor que se estaba utilizando, para poder calibrar el

sensor fue necesario añadirle a la configuración tiempos de retardo para que el sensor

pudiera estabilizarse y así dar un valor muy acertado.

Podemos evidenciar que el valor que tiene más similitud es el de la temperatura ya que la

medición de esta variable es la menos robusta ya que cuenta con muy pocas líneas de

código y su estabilización es muy rápida.

Se puede observar de la toma de muestras del pulso cardiaco que el primer valor que se

toma es muy lejano al resto de datos y esto se debe a que el cuerpo humano no es tan

preciso como un metrónomo. El tiempo entre pulsos puede variar bastante, por lo que este

boceto requiere un promedio continuo de 4 lecturas para intentar suavizar la varianza. El

algoritmo tarda unos segundos en determinar los picos y valles, de modo que cada vez que

mueva el sensor, hay que esperar unos segundos para que las lecturas tengan sentido.

Desviación media 0,05

Desviación estándar 0.089

Varianza 0.0069

Coeficiente de variación 0.0032

Tabla 6. Medidas de análisis de los datos

obtenidos temperatura

Page 25: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Preparación de Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido Fecha de envío:

Fecha de recepción: Fecha de aceptación:

5. CONCLUSIONES

-Por medio de este proyecto se puede tener el control médico de pacientes con

enfermedades que requieran observación constante ya que se puede tener el valor en tiempo

real de sus signos vitales.

-Se observa que el sensor es de extremo cuidado ya que al moverlo un poco durante la

medición de las variables causara una alteración del valor del sensor y esto conllevará a una

publicación errónea de los signos vitales, para esto se recomienda al paciente que a la hora

de tomar la medición conserve su lugar y que no cause ningún movimiento hasta que el

sensor termine de tomar los valores.

- Se comprobó que la luz ambiente no afecta el sensor ya que este viene diseñado para

bloquear los rayos de luz ajenos a cada led IR, rojo y verde de este.

-Este proyecto puede ser ubicado en la zona más marginal del país ya que con tan solo tener

una conexión a internet podrá funcionar de la mejor manera gracias a la utilización de la

comunicación wifi y la conexión con el servidor que permitirá visualizar todos los datos

obtenidos por el sensor para así tener un control constante sin ser necesario el traslado del

paciente al hospital.

Los sistemas telemedicos conectan al paciente y al doctor sin necesidad de que se vean,

estos sistemas abren la puerta a la innovación y de seguro serán de gran ayuda para

combatir la crisis de la salud mundial por la que se pasa hoy en día y permitirán que más y

más personas puedan tener acceso a los servicios mínimos de salud.

-Con este proyecto se mejora la medición de los signos vitales por medios no invasivos ya

que hasta el momento no existen equipos que sean capaces de transmitir remotamente los

valores tomados, además se implementa una aplicación Android para una visualización en

tiempo real de estos valores.

Page 26: Sistema de control médico remoto Medical System Remote …repository.udistrital.edu.co/bitstream/11349/8390/1/ZeaGuaquetaMichaelAndres2018.pdf2.6 Android Studio Android Studio es

Referencias

[1] M. Donati, A. Benini, A. Celli, F. Iacopetti, and L. Fanucci, “A Novel Device for Self-acquisition of ECG Signal in Telemedicine Systems for Chronic Patients,” pp. 4–9, 2016.

[2] S. Funcke et al., “Practice of hemodynamic monitoring and management in German ,

Austrian , and Swiss intensive care units : the multicenter cross ‑ sectional ICU ‑ CardioMan Study,” Ann. Intensive Care, 2016.

[3] A. P. L. T. Angela Aguayo, “Guia clinica de control de signos vitales,” Univ. Pedro Vald., no. ciencias de la salud, p. 17, 2009.

[4] P. Flavio, A. Darwin, S. Jenny, M. Derlin, I. Alexander, and A. P. Oximetry, “Design and Implementation of an Oximetry Monitoring Device,” pp. 185–189, 2015.

[5] G. Description, “High-Sensitivity Optical Sensor for Smoke Detection Applications MAX30105 High-Sensitivity Optical Sensor for Smoke Detection Applications Absolute Maximum Ratings,” pp. 1–35.

[6] R. Pi, “Raspberry Pi Compute Module ( CM1 ) Raspberry Pi Compute Module 3 ( CM3 ) Raspberry Pi Compute Module 3 Lite ( CM3L ),” vol. 3, no. October, pp. 0–21, 2016.

[7] A. V. Device, H. Mundo, H. M. Mundo, and G. Maps, “Desarrollo de Aplicaciones para Android,” pp. 1–155, 2014.