s telemÉdico de electrocardiografÍa - … · tcp/ip y la arquitectura cliente/servidor en esta...
TRANSCRIPT
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
SISTEMA TELEMÉDICO DE ELECTROCARDIOGRAFÍA
BASADO EN INTERNET EMBEBIDO
Julio Cruz, Guillermo Villegas, Jorge Uyá, Alfredo Hernández, Gianfranco Passariello, Fernando Mora
Laboratorio de Sistemas Biomédicas, Grupo de Bioingeniería y Biofísica Aplicada Universidad Simón Bolívar, Caracas, Venezuela
http://www.gbba.usb.ve
Resumen: Se describe un Sistema Telemédico de Electrocardiografía vía Internet
totalmente comunicante. El sistema esta compuesto de un módulo de adquisición de datos
médicos, un módulo de Internet Embebido que permite la transmisión directamente a una
Intranet o Internet de los datos médicos adquiridos y estaciones local y central basadas en la
arquitectura PC donde corren clientes para monitorizar las señales. El uso del protocolo
TCP/IP y la arquitectura cliente/servidor en esta aplicación telemédica, permite explotar al
máximo la flexibilidad y alcance de Internet.
1. Telemonitoreo
Los servicios telemédicos de monitoreo remoto consisten en la adquisición de los
datos médicos, su análisis por especialistas, la toma de decisiones y la guía en la aplicación
de las terapias adecuadas. A diferencia del ambiente clínico estándar, en el caso telemédico,
los análisis de los datos y las tomas de decisiones pueden ser hechas a distancia y en
muchos casos podrían involucrar el uso de procedimientos automatizados basados en
sistemas expertos.
Existe una gran cantidad de aplicaciones para monitorear a un paciente, tanto para
ambientes clínicos como no-clínicos. Entre otras cosas, en la gran mayoría de los casos se
requerirá una medición de signos vitales de la persona. Entre los signos vitales más
frecuentemente usados para monitorizar se cuentan: electrocardiografía (ECG), frecuencia
respiratoria y función pulmonar, saturación de oxígeno arterial, pulso cardíaco, presión
sanguínea no-invasiva o invasiva, concentración y presión parcial de CO2, temperatura,
peso corporal, sonidos cardíacos, gasto cardíaco, glucosa en sangre, PH sanguíneo, etc. En
este proyecto se considera solamente el monitoreo de electrocardiogramas dentro de un
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
ambiente clínico como podría ser una Unidad de Cuidados Intensivos (UCI), un consultorio
cardiológico, un cuarto en una sala de cuidados generales, una sala de emergencia y hasta
una ambulancia. La idea es estudiar el problema e implementar algunos de los elementos
básicos que forman esta aplicación, tanto en hardware, firmware y software. Sin embargo,
existe un interés en extender los resultados a ambientes más generales como hogares,
centros de trabajo, ancianatos, etc., incluso hasta el monitoreo continuo de pacientes.
2. Sistemas de Telemonitorización vía Internet
Los sistemas telemédicos para monitorización de pacientes vía Internet se basan
típicamente en instrumentación virtual realizada alrededor de arquitecturas PC. Esta
configuración basada en equipos comerciales permite actualizar el sistema fácilmente, tanto
en software como en hardware, siguiendo los avances de la tecnología. En la figura 1,
podemos observar que los sistemas en el caso más general (Wide Area Network, WAN)
comprenden:
• Los módulos de adquisición de datos portátiles (MAD) en conexión directa con los
pacientes. Estos se pueden conectar a través de interfaces seriales (RS232/RS485, USB,
IrDA, RF) o interfaces paralelas (RAM de dos puertos, DPRAM).
• Los dispositivos (PC, PDA, OEM PC, Internet Embebido) que conectan los MAD a una
Intranet o Internet. El conjunto será denominado eMAD (MAD embebido).
• Estaciones de monitoreo locales (cerca del paciente), centrales (para monitorear varios
pacientes a la vez), remotas (para monitorear pacientes a distancia) y servidores (para
manejar base de datos y procesamiento de las mismas para diagnóstico y como base de
sistemas expertos), que conforman la distribución de inteligencia a lo largo del sistema
telemédico.
• Los respectivos protocolos de comunicación entre los MAD y los dispositivos que
permiten una conexión con Internet y entre las computadoras locales, centrales, remotas
y servidores.
• Dispositivos de red configurados como Gateways para enrutamiento, encriptamiento,
autentificación, firewalls, mirroring, etc.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
• Programas Cliente/Servidor que soportan las diferentes aplicaciones y las interfaces
hombre-máquina, bajo los estándares de los navegadores (Browsers) o aplicaciones en
Java o C++ utilizando sockets.
Por conveniencia se pueden considerar tres tipos de subsistemas del lado del
paciente: los que utilizan Internet Embebido, los que utilizan Asistentes Digitales
Personales (PDA) y los que utilizan Computadoras Personales (PC). Los primeros son
útiles cuando del lado del paciente no se requiere supervisión y acceso a utilidades locales
como es en el caso de aplicaciones no-clínicas para el seguimiento de pacientes
remotamente, o en cuando se dispone de una Intranet en el hospital o consultorio. Los
segundos tienen un nivel relativamente bajo de interfaz hombre-máquina ya que los PDA
tienen limitado su desempeño y pueden soportar aplicaciones donde se requiera una
interacción mínima con la aplicación local como en el caso de ambulancias, ambulatorios y
consultorios [1],[2]. Los terceros permiten el máximo de prestaciones locales para
aplicaciones completas donde se puede contar hasta con herramientas como audio y vídeo
bidireccionales [3].
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
Datos médicos TCP/IP Gateway
Estación Central
Estación Local
-Aplicación central -Navegador -Cliente (Sockets) -Firewall, encriptado -Gateway
PC Tablet PC
eMAD
CHAT
Ethernet
Internet Embebido
PDA, Tablet ó PC OEM
Módulo de conexión a Internet: - PSTN - Inalámbrico - Ethernet
Internet TCP/IP
-Aplicación -Navegador -Cliente (Sockets)
Base de Datos
Servidor
Estación Remota
-Aplicación -Diagnóstico -Predicción -Firewall, encriptado -Gateway
PDA ó OEM PC
PC del Especialista
CHAT
Figura 1. Sistema de Telemonitorización vía Internet
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
3. Módulo Intranet o Internet Embebido
Los avances tecnológicos apuntan a que la totalidad de los productos ya sean
electrónicos o no, puedan controlarse a través de un sistema embebido (Embedded Internet)
y sumar muchas ventajas que no se tenían anteriormente. Uno puede acceder un dispositivo
desde cualquier PC sea dentro de un apartamento, un edificio, una ciudad o en cualquier
parte del mundo. A la vez, la interfaz con los usuarios se construye con páginas HTML. Es
decir, los usuarios interactúan con los dispositivos a través de un navegador o una
aplicación Cliente-Servidor y tienen acceso instantáneo e intuitivo a los mismos [4].
Se puede decir que existen actualmente tres posibilidades de conectar un producto
directamente a Internet:
1. Dispositivo embebido basado en microcontrolador con una interfaz RS232 o
RS485 para conectarse con una computadora (PC o PDA) que funciona como
gateway para comunicarse con una red. (EMIT de emWare [5]).
2. Dispositivo embebido basado en un microcontrolador con una interfaz para
conectarse con una red en cualquier modalidad actualmente disponible como
ethernet, modem alámbrico, modem inalámbrico, RF y/o Bluetooth (Sena
Technologies [6]).
3. Dispositivo embebido basado en microcontrolador que incluye una interfaz
Ethernet embebida (IP2022 de Ubicom [7]).
Este trabajo se concentra en un diseño basado en la segunda posibilidad para la
realización del Internet embebido. En este caso, el MAD entra a una intranet a través de un
módulo Internet Embebido OEM1 de la compañía Sena Technologies, que posee una
memoria RAM de dos puertos. El resto del diseño contempla las estaciones local, central y
remota, todas implementadas sobre una arquitectura PC.
Las tarjetas OEM disponibles consisten de un microcontrolador junto con un
controlador de red, 512 K bytes de memoria flash y varias posibilidades de conexión hacia
periféricos. Los modelos son:
• HelloDevice 1100: a través de entradas y salidas digitales (I/O).
1 Original equipment manufacturer
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
• HelloDevice 1200: a través de una memoria RAM de dos puertos (Dual Port
RAM).
• HelloDevice 1300: a través de un puerto serial (RS232 y RS485).
El firmware del microcontrolador es propio de la compañía, sin embargo, esta
basado en el firmware (SX Stack) de Scenix (actualmente Ubicom), cuyas características
principales se resaltan a continuación:
• Stack TCP/IP completo e implementación de la interfaz de capa física.
• Disponibilidad de varios protocolos de red estándar: PPP, IP, ICMP, UDP, TCP,
SMTP, POP3, HTTP.
• Máquina de estado completa para el TCP.
• Compatible con el RFC. Puede ser conectado con cualquier stack TCP/IP.
• Uso eficiente de memoria: procesamiento de paquetes byte a byte.
• Cálculo de checksum eficiente sin pérdida de buffers: generación de stream multiple.
• Elecciones para la capa física cambiables e integradas: V.23 Modem, IrDA, UART, SPI,
I2C, ISA entre otras.
• Configuraciones de protocolos estándar de interconexión: iSX Web server y eSX E-
Mail.
En este proyecto se usó el HD1200 ya que permite lograr un mayor flujo de datos
que los módulos HD1100 y HD1300. El HD1100 se diseñó pensando en el manejo de
señales lógicas 0’s o 1’s, como por ejemplo: interruptores, leds, etc. Por su parte, el
HD1300 tiene una tasa máxima de 38.400 bits por segundos. En el caso del monitoreo
electrocardiográfico se hace necesario muestrear ocho canales a 500Hz con palabras de 2
bytes cada una. Esto implica una transmisión a 80.000 bits por segundo, sin considerar
paridad (8 Canales * 500Muestras/seg * 2Bytes/muestra * (8 bits + 1 start bit + 1 stop bit)).
4. Electrocardiógrafo Embebido
En este trabajo se desarrolló la circuitería para el MAD y su microprogramación; la
microprogramación del módulo de Internet Embebido y el desarrollo de la aplicación
cliente/servidor para la interfaz hombre-máquina de telemonitorización electrocardiográfica
de 12 derivaciones, tal y como se observa en la figura 2.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
Figura 2. Esquema de los componentes del sistema
El sistema propuesto está formado por cuatro componentes principales: el eMAD (el
cual incluye el módulo de adquisición de datos, MAD, y el módulo de Internet Embebido),
eMonitor (estación local), eMonitorStation (estación central) y eMonitorRemote (estación
remota). Esta última estación no se reporta en este trabajo.
La figura 3 presenta como ejemplo el caso de una Unidad de Cuidados Intensivos.
Como se observa, el eMonitor correspondería al servidor de lo que comúnmente se
denomina la red intracama. El eMonitorStation vendría siendo el servidor de la red
intercama. Estas redes han sido objeto de una norma conocida como la IEEE P1073 [8], la
diferencia en este caso es que todo el manejo de información se hace bajo el esquema de
cliente/servidor, lo cual facilita el diseño de interfaces hombre-máquina, aparte que los
dispositivos son accesibles para transferencia de datos y para configurarlos desde lugares
remotos.
En otras palabras, la información en tiempo real de un paciente en una cama de
cuidados coronarios de un hospital podría ser accesada desde cualquier lugar remoto por el
médico tratante. No sólo eso, las consultas interhospitalarias para la búsqueda de opinión
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
experta serían sumamente sencillas ya que usando la aplicación eMonitorRemote, los
especialistas dispondrían de las señales al instante. El concepto es expandible a otros signos
vitales, y a diversos ambientes como salas de emergencia, quirófanos, salas de
recuperación, y de allí fuera del ámbito hospitalario.
eMADeMAD eMAD
eMonitoreMonitor eMonitor
Estación localEstación local Estación local
PacientePaciente Paciente
Internet
Unidad de cuidados intensivos Estacion central
Concentrador (HUB)
eMAD
eMonitor
Paciente
Intranet
Intranet
eMonitorStation
Estación local
eMonitorRemote
Estación remota
eMonitorRemote
Estación remota
eMonitorRemote
Estación remota
Figura 3 Sistema Telemédico para una Unidad de Cuidados Intensivos.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
eMAD
El eMAD esta compuesto por el módulo de adquisición de datos (MAD) junto con el
módulo Internet Embebido (HD1200). La figura 4 muestra los componentes en conjunto.
Inicialmente la señal proveniente del paciente es acondicionada y digitalizada por el
módulo de adquisición de datos (MAD). El dispositivo de adquisición cuenta con una etapa
de cabecera en la cual se modifica la señal en diferentes aspectos como el ancho de banda,
niveles de voltaje y de ganancia. Esto se logra con una etapa de amplificación diferencial y
filtrado que preparan la señal de manera de poder digitalizarla correctamente. La etapa de
digitalización cuenta con un multiplexer manejado por el microcontrolador, para la toma
secuencial de muestras de los canales, para luego digitalizarse a través de un convertidor
analógico-digital. El microcontrolador se encarga del control de la adquisición y de
transmitir los datos adquiridos hacia una DPRAM que se encuentra en el módulo Internet
Embebido.
TPO
UT+
TPIN
+TP
OU
T-
TPIN
-
Bus de datos
Bus de direcciones
CE DPRAM
IRQ DPRAM
BUSY DPRAM
R/W DPRAM
OE DPRAM
Bus
de
dato
s
Bus
de
dire
ccio
nes
CE
DP
RA
M
IRQ
DP
RA
M
BU
SY D
PR
AM
R/W
DP
RA
M
OE
DP
RA
M
Bus de datos, direcciones y control
Paciente
eMAD
Microcontrolador
Controlador de Ethernet full-duplexIEEE802.3 10BaseT
RL
LA
LL
V1
V2
V4
V6
V5
RA
DPRAM
Filtro pasa bajos Transformador
10BaseT
HD1200MAD
MicrocontroladorConversión, regulación, referencia y aislamiento Datos sal
CE multiplexor
Convertir
Datos ent
Reloj
Arquitectura Digital
C0 C1 C2 C6 C7C3 C4 C5
Cabecera
Figura 4 eMAD: Módulo de adquisición de datos con Internet Embebido.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
En el módulo de Internet Embebido, el microcontrolador al otro lado de la DPRAM,
tiene el stack TCP/IP y se encarga de enviar los datos hacia los clientes o estaciones local
(eMonitor), central (eMonitorStation) y remota (eMonitorRemote). Cuando los clientes
desean adquirir el ECG de cualquier paciente, se conectan con el eMAD respectivo del
paciente a través de una dirección IP. Luego que la conexión ha tenido éxito los clientes
proceden a configurar el eMAD escribiendo en la DPRAM a través de comandos
específicos.
eMonitor
eMonitor es el nombre que lleva la estación local (PC) de visualización y
almacenamiento de las señales electrocardiográficas de un paciente en la UCI. Se decidió
realizar la aplicación cliente/servidor con programación orientada a objetos en C++ en el
sistema operativo Windows, usando la armazón de Microsoft Windows, MFC.
La armazón de la aplicación está compuesta por las siguientes clases principales
(heredadas de las clases correspondientes de MFC):
§ CeMonitorApp
§ CeMonitorDoc
§ CMainFrame
§ CeMonitorChanneslScrollView
Se diseñaron clases para la comunicación con eMAD vía Internet También se
diseñaron todas las clases necesarias para los cuadros de diálogos de Windows, para la
configuración del eMAD y de la aplicación en sí, entre otras. Algunas de estas clases se
mencionan a continuación:
§ CDualPortRAM
§ CSerialPort
§ CCardSetup
§ CUtilitySetup
La aplicación, además de centrarse en el uso de la armazón de la MFC, se basa en
una aplicación multihilo, donde se tienen diferentes hilos de un mismo proceso
desempeñando funciones diferentes y bien definidas. Estos hilos, usan objetos de exclusión
mutua para compartir recursos y comunicarse entre ellos.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
La aplicación posee cinco hilos fundamentales sin los cuales no se pudiera realizar
ninguna tarea útil. Estos hilos son funciones globales iniciadas desde comandos en el menú
de opciones o de la barra de herramientas de la aplicación. Al iniciar cualquiera de los hilos
o funciones anteriores, se les da como parámetro el apuntador a una estructura de datos
definida y cargada previamente, para que la función tenga conocimiento de la tarea que
debe realizar.
En primer lugar, está la función encargada de establecer la comunicación con el
eMAD. Se implementó el establecimiento de la conexión en un hilo, para hacer más flexible
la interfaz hacia el usuario, y que el usuario pudiera cancelar una posible conexión y no
esperar un fin de espera (timeout) para que la aplicación avise que no se pudo establecer la
conexión. Cuando el usuario desea establecer la comunicación con el eMAD, presiona un
botón en la barra de herramientas o se dirige al menú de opciones eMAD-Conectar, y
automáticamente se inicia el hilo de conexión. A su vez, se presenta un cuadro de diálogo
con una animación y una barra de progreso en donde indica el estado de la conexión,
pudiendo cancelarla antes del establecimiento. También se posee un timeout en caso de una
conexión fallida.
Una vez que se realiza la conexión el usuario puede elegir entre tres opciones de
visualización. Estas opciones se presentan a continuación:
• Adquirir del eMAD y visualizar en tiempo real.
• Adquirir del eMAD, visualizar en tiempo real y guardar en un archivo en disco
los datos adquiridos.
• Visualizar los datos desde un archivo. Estos datos fueron adquiridos
previamente con la opción anterior.
Para seleccionar una de estas tres opciones el usuario puede presionar un botón en
la barra de herramientas o en el menú de opciones. Otras características generales son:
a. Sistema de archivos de eMonitor: La aplicación contiene un sistema de archivos en
los cuales, se diferencian cada paciente por medio de archivos “.pac” en donde se
guardan parámetros de configuración, datos del paciente, dirección IP del eMAD, entre
otros. A su vez, cada paciente tiene un subdirectorio en donde guarda los archivos de
ECG adquiridos “.dat”. Estos últimos guardan los parámetros de la adquisición en un
encabezado, para luego visualizarlos correctamente.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
b. eMonitor y Windows: La aplicación es capaz de guardar las configuraciones de su
entorno, como tamaño, color de las grillas de visualización del ECG, etc. en los
registros de Windows bajo la clave “GBBA, Software/eMonitor...” De esta forma, se
logra que la interfaz con el usuario sea lo más intuitiva posible. Por ejemplo, que al
iniciar la aplicación el usuario se encuentre con los últimos parámetros que haya
configurado. De la misma forma, eMonitor tiene la capacidad de “esconderse” en el
escritorio de Windows y presentar un icono en la barra de tareas que le indique al
usuario que esta trabajando. eMonitor también puede activar WinHelp junto con
identificadores de contexto.
eMonitorStation
eMonitorStation es el nombre que lleva la estación central de visualización y
almacenamiento de las señales electrocardiográficas de todos los pacientes de la UCI. Al
igual que eMonitor, esta aplicación fue realizada con programación orientada a objetos en
C++. A diferencia de eMonitor, posee las siguientes clases bases heredadas de la MFC
junto con la clase de comunicación con los MAD a través de Internet:
§ CeMonitorApp
§ CeMonitorDoc
§ CChildFrame
§ CMainFrame
§ CeMonitorChanneslScrollView
El usuario puede tener abiertos varios pacientes (.pac), cada uno en una ventana hija
distinta, aunque solo una de las ventanas está activa. La aplicación sólo tiene un menú y
una barra de herramientas, y todas la ordenes se encaminan a la ventana activa. La barra de
título de la ventana principal muestra el nombre del paciente (archivo .pac). El cuadro de
minimización de la ventana hija (paciente) permite que el usuario la reduzca a un icono en
la ventana principal. El menú Ventana de la eMonitorStation permite que el usuario
controle su presentación mediante los siguientes elementos: Cascada, Mosaico,
Organización de íconos; selección de ventanas a partir del nombre de los pacientes
(archivos .pac). Esta aplicación trabaja con un sistema de archivos y de compatibilidad con
Windows similares al eMonitor.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
eMonitorRemote Aunque en este proyecto no se implementó la estación remota o eMonitorRemote,
vale la pena mencionar que esta aplicación debería ser muy similar a eMonitor excepto por
las clases de comunicación con el MAD. En este caso, no se comunicaría directamente con
eMAD sino con la estación central eMonitorStation para que ésta le proporcione los datos
provenientes del eMAD. En este caso eMonitorStation funcionaría además de estación
central, como servidor para estaciones remotas eMonitorRemote.
5. Discusión
Como resultado preliminar se presenta una pantalla con la interfaz hombre-máquina
para el caso eMonitor en la figura 5, donde se aprecia el despliegue de un examen típico de
ECG de 12 derivaciones transmitido a través de una Intranet en el Laboratorio de Sistemas
Biomédicos del GBBA. En este caso se utilizó un eMAD con una arquitectura mínima, sin
memoria local.
Es posible afirmar en las primeras pruebas realizadas que la transmisión de
electrocardiogramas en un sistema embebido en tiempo real es factible. Queda por
comprobarse el efecto del tráfico en la Internet para los casos remotos que son los más
interesantes a futuro. En situaciones de alto tráfico es posible siempre recurrir al enfoque de
almacenar primero y enviar después. Obviamente, un eMAD que contenga memoria local
junto con los protocolos adecuados permitirán la posibilidad de una transmisión en tiempo
real entre cualquiera de los puntos de la figura 1.
En cualquier caso, el sistema desarrollado ha permitido demostrar la versatilidad de este
tipo de enfoque y derivar nuevas y múltiples aplicaciones para sistemas de telemedicina,
incluyendo la monitorización hogareña.
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
Figura 5 Pantalla de un examen de ECG de 12 derivaciones estándar
Grupo de Bioingeniería y Biofísica Aplicada, Universidad Simón Bolívar, Caracas
Referencias
[1] Cáceres J., Canabal R., Riccardi P., Sistemas de adquisición y transmisión de señales
electrocardiográficas a través de Internet, Proyecto de grado, GBBA-USB, 1998.
[2] Fernández M, Funes D, Asenjo A, Transmisión de ECG a través de Internet en
Plataformas PDA, Proyecto de grado, Universidad Simón Bolívar, 2000.
[3] Otero L., Goñi M. A.,Estación Telemédica vía Internet, Proyecto de grado, Universidad
Metropolitana, 2000.
[4] Ánonimo, Embed the Web, Webb W., EDN, March 18 1999.
[5] Ánonimo, EMIT 3.0 User Manual, emWare, 1998.
[6] Ánonimo, Sena Technologies: http://www.sena.com
[7] Ánonimo, Ubicom: http://www.ubicom.com
[8] García C.,Desarrollo de una Aplicación Cliente-Servidor para la Transmisión de ECG
vía Internet, Trabajo de Grado de Maestría, Universidad Simón Bolívar, 1998.