SciELO - Scientific Electronic Library Online

 
vol.6 issue1Issues and potential solutions when capturing health data in rural clinics in South Africa author indexsubject indexarticles search
Home Pagealphabetic serial listing  

My SciELO

Services on Demand

Article

Indicators

  • Have no cited articlesCited by SciELO

Related links

  • Have no similar articlesSimilars in SciELO

Share


Revista Cubana de Informática Médica

On-line version ISSN 1684-1859

RCIM vol.6 no.1 Ciudad de la Habana Jan.-June 2014

 

ARTÍCULO ORIGINAL

 

Componente para la lectura de datos por alas-HIS desde máquinas de anestesia

 

Data reader component by alas-HIS from anesthesia machines

 

 

Ing. Yoandy González Martínez,I Ing. Marileisy Castillo García,II Yunier Silva QuevedoIII

IIngeniero en Ciencias Informáticas. Departamento de Sistemas de Gestión Hospitalaria. Universidad de las Ciencias Informáticas. Carretera a San Antonio de los Baños, km 2 1/2, Boyeros, La Habana, Cuba. E-mail: ygonzalezm@uci.cu
IIIngeniero en Ciencias Informáticas. Centro de Desarrollo de Informática Industrial, Universidad de las Ciencias Informáticas, La Habana, Cuba. E-mail: mcgarcia@uci.cu
IIIEstudiante de Ingeniería en Ciencias Informáticas. Facultad 7, Universidad de las Ciencias Informáticas, La Habana, Cuba. E-mail: ysquevedo@estudiantes.uci.cu

 

 


RESUMEN

El presente trabajo tiene como objetivo desarrollar el componente de comunicación entre máquinas de anestesia y el Sistema de Información Hospitalaria alas-HIS, que permita visualizar, almacenar y graficar en tiempo real la información obtenida de los equipos. El desarrollo está basado en una conexión entre la máquina de anestesia y una PC a través del puerto serie estándar RS 232. A partir de la lectura de los bytes recibidos desde el equipo, se propone una solución para decodificar los datos asociados a los indicadores de anestesia. Para lograr la solución es necesario conocer el protocolo de comunicaciones del equipo con el que se desea comunicar la aplicación. Se utilizó el lenguaje de programación Java y su API de Comunicaciones Serie para la comunicación con los dispositivos externos. Se utilizó Eclipse SDK V3.4.2 como Entorno de Desarrollo Integrado. Para generar los gráficos se utilizó la librería JFreeChart. El componente posibilitará visualizar, almacenar y graficar los datos obtenidos en tiempo real desde las máquinas de anestesia. Esto permitirá a los médicos una mejor comprensión de los indicadores, evitará errores humanos y ayudará a esclarecer casos médico-legales.

Palabras clave: comunicación, puerto serie, protocolo de comunicaciones, anestesia.


ABSTRACT

This investigation aims to develop the communications component between anesthesia machines and alas HIS Hospital Information System, which will permit to visualize, to storage and to graphic in real time, the data cmoing from the equipment. The development is supported on any connection between the anesthesia machine and the PC through the standard serial port RS 232. From the data obtained of the equipment, it is proposed a solution to decode information related with anesthesia variables. To achieve the objective, is important to know the communications protocol of the hardware connected with the application. To implement it, the Java Programming Language and its Serial Communications API were used to connect external devices with the software. It was used Eclipse SDK V3.4.2 as development IDE. To get the graphics was used the JFreeChart library. The component will allow the visualizing, storage, and graphic representation of real time information from the anesthesia machines. To the physicians, it will permit better interpretation of anesthesia variables, thus avoiding human mistakes and helping to solve legal-medical cases.

Key words: communication, serial port, communications protocol, anesthesia.


 

 

INTRODUCCIÓN

Durante el acto quirúrgico juega un papel fundamental el suministro de anestesia al paciente, neutralizando regiones del sistema nervioso para eliminar la sensación de dolor durante la operación. La anestesia se proporciona al organismo en tres etapas fundamentales: inducción, mantenimiento y reversión. En la inducción los anestesiólogos comienzan el proceso de sedación una vez suministradas las drogas, utilizando técnicas psicológicas, respuestas a estímulos u otros métodos para verificar el efecto de los fármacos. En la etapa de mantenimiento la principal función es conservar el correcto funcionamiento de los sistemas vitales, ya que el paciente se encuentra en muchos casos inconsciente. La etapa de reversión se denomina al espacio de tiempo en que el paciente emerge de la anestesia.

Ante la necesidad de supervisar el comportamiento de indicadores vitales del paciente durante el proceso de anestesia, se fabricaron las máquinas de anestesia. Inicialmente fueron aparatos capaces de administrar gases anestésicos aprovechando la absorción pulmonar de estos. Estas han evolucionado hacia formas más sofisticadas capaces de vaporizar líquidos y de controlar las funciones respiratorias, incorporando capacidades de monitorización de las variables respiratorias, los niveles anestésicos y la hemodinamia del paciente. Estos equipos conforman una estación de trabajo que permite:

1. Administrar anestesia.

2. Controlar su profundidad.

3. Controlar la respiración del paciente.

4. Monitorizar todas las variables respiratorias.

5. Monitorizar su propio funcionamiento.

6. Incorporar otras formas de monitorización de parámetros necesarios de controlar durante la anestesia general: hemodinamia, temperatura, transmisión neuromuscular, eeg, entre otras.1

El sistema de información hospitalaria alas HIS cuenta con funcionalidades que permiten almacenar los indicadores que muestra la máquina de anestesia. Sin embargo, presenta grandes inconvenientes para los anestesiólogos debido a que los datos deben introducirse de forma manual en el sistema, siempre en una estructura de formulario y aunque pueden ser consultados, no se visualizan de manera gráfica, requisito fundamental para monitorear los valores de los signos vitales del paciente durante la intervención quirúrgica.

Estas opciones están expuestas a posibles errores humanos, tanto por la lectura del técnico auxiliar de anestesia, como por la introducción de los datos al sistema (Fig. 1). La aplicación no cuenta con funcionalidades gráficas que describan el comportamiento (picos y valles) de estos indicadores respecto al tiempo de las cirugías. Estas gráficas representarían soporte para la futura investigación clínica, herramientas para tomar decisiones y un respaldo en casos médico-legales.

Las funcionalidades existentes brindan la posibilidad de registrar estos datos y visualizarlos posteriormente desde el visor de historia clínica del paciente. Sin embargo, la manera en la que se muestra o se almacena la información no es la más eficiente posible, al brindar interfaces gráficas de usuario con tablas de valores poco útiles para su interpretación.

Basado en lo anterior, es preciso desarrollar un componente que permita al sistema alas HIS la comunicación con las máquinas de anestesia. Las lecturas de información proveniente de estos equipos permitirían lograr en tiempo real su visualización, almacenamiento y representación gráfica.

 

METODOLOGÍA

Debido a la intención de integrar este componente al sistema alas HIS se debe garantizar su compatibilidad, por lo que el lenguaje de programación utilizado fue Java y su API de Comunicaciones Serie para comunicar dispositivos externos. El entorno integrado de desarrollo es Eclipse SDK versión 3.4.2.

Hardware

Para proponer la solución fue necesario investigar sobre los modelos de las máquinas de anestesia y sus especificaciones técnicas. Los datos analizados (tabla 1) arrojaron que en los equipos estudiados, el puerto de comunicaciones corresponde al estándar RS-232 (Recommended Standard 232).2

Para cumplir el objetivo de la investigación, es preciso comprender el funcionamiento de este puerto de comunicaciones. A continuación se describen las características fundamentales del RS 232.

Los dispositivos que utilizan cables serie para comunicarse se dividen en dos categorías:

1. DCE (Data Communication Equipment). Equipo de comunicación de datos (Máquina de anestesia).

2. DTE (Data Terminal Equipment). Equipo Terminal de datos (PC).

La comunicación entre DCE y DTE se establece mediante señales eléctricas que oscilan entre -3 y -25 volts (Marcas, 1 lógico) y +3 y +25 volts (Espacios, 0 lógico), quedando indefinido el intervalo [+3,-3]. Cada línea de control de flujo del puerto serie cumple una función específica, a continuación (tabla 2) se muestran las señales RS-232 más comunes según los pines asignados. La interfaz entre DCE y DTE consiste en un cable serial DB9-M a DB9-F directo (pin a pin).3

Protocolo de comunicaciones

Es relevante conocer como está definido el protocolo de comunicaciones para la lectura de los datos. Los bits de arranque y parada permiten a los receptores sincronizarse con respecto a los caracteres que están siendo enviados. La paridad, al usar un solo bit, no permite la corrección del error, solamente la detección. En el API de comunicaciones Serie de Java cada trama contiene entre 5 y 8 bits de datos. Cada equipo cuenta con su propio protocolo de comunicaciones, establecido por los fabricantes, por lo que se recomienda utilizar el manual de usuario del equipo en el acápite del estándar RS-232. En caso contrario el control del protocolo deberá realizarse de manera manual con algoritmos de decodificación basados en técnicas de prueba y error (Fig. 2).

API de Comunicaciones Serie

El API de Comunicaciones Serie es una extensión estándar que propone Java para la comunicación con dispositivos externos a través de los estándares RS 232 (puerto serie) y IEEE 1284 (puerto paralelo). Brinda control total de los parámetros de los puertos serie: velocidad en baudios, bits de parada, paridad, bits por trama; así como control manual o automático de las líneas de control de flujo. Implementa la detección de eventos y la notificación de cambios. A pesar de que opera a bajo nivel solo permite recibir y enviar bytes por los puertos, no ayuda a comprender que significan esos bytes.4

Lectura de los datos que envía la máquina de anestesia

Para la lectura de los datos se abrió el puerto de comunicaciones una vez detectada la conexión. Se establece un timeout para indicar el tiempo máximo (ms) de espera antes de abortar la lectura.

Para capturar los bytes se define una instancia de la clase CopyThread, que una vez abierto el puerto será la que inicie la lectura. Dentro de ella se definen los streams de entrada y un buffer de bytes que almacenará la información transmitida por la máquina de anestesia.

La lectura se realiza a través de un ciclo continuo con un timeout recibiendo un byte a la vez y los compara con el primer byte esperado del encabezado. Cuando no coincida se descarta, incrementando y evaluando un contador de timeout, luego se vuelve a leer el byte siguiente. Si esta situación se repite hasta alcanzar el timeout especificado se asume que el protocolo utilizado no coincide con el esperado y se cierra la conexión informando al usuario.5

En caso contrario al coincidir el byte recibido con el esperado se lee el resto del encabezado y se compara nuevamente repitiendo la secuencia definida para el primer byte. Si el encabezado el deseado se lee el resto de la trama donde se encuentran los datos útiles. (Fig. 3)

 

RESULTADOS

Una vez lograda la lectura de los datos, se obtiene un fichero con los bytes de información provenientes del equipo. Se obtuvo una aplicación en Java, en la cual utilizando su API de Comunicaciones en Serie, es posible conectar cualquier equipo que implemente el estándar RS-232. Se desarrollaron gráficas con datos ficticios utilizando la librería JFreeChart, definiendo la base para su uso con datos reales. Se ha establecido una línea base para decodificar la información obtenida de acuerdo al protocolo que utilice cada máquina de anestesia.

 

DISCUSIÓN

Con la investigación se ha logrado captar los datos transmitidos por una máquina de anestesia y alojarlos en una PC. Esto permitirá incorporar un importante valor agregado al Sistema de Información Hospitalaria alas HIS. La adquisición de datos en tiempo real, hará posible la visualización y representación gráfica de las variables de anestesia respecto al tiempo de la cirugía. La información podrá ser procesada libre de errores de lectura humana o introducción manual de datos. Los resultados beneficiarán a los especialistas que contarán con una herramienta para tomar decisiones en tiempo real y servirá de soporte a la solución de casos médico-legales. Podrán además ser utilizados con fines docentes y de investigación clínica.

 

CONCLUSIONES

Concluida la investigación se arribó a las siguientes conclusiones:

- El uso del API de Comunicaciones Serie de Java permitió controlar desde un lenguaje de programación a alto nivel el puerto serie RS-232, ofreciendo acceso a todas sus funciones.

- Obtener en una PC los datos transmitidos desde una máquina de anestesia en un formato codificado, permitió comprender la necesidad de los protocolos de comunicación establecidos por los fabricantes.

- La comunicación entre máquinas de anestesia y una PC es primordial en la adquisición de variables de anestesia para un sistema de información hospitalaria.

- Es necesario profundizar en los estándares para brindar una solución basada en protocolos de comunicación sincrónica.

- La obtención de gráficas con datos ficticios contribuyó a evaluar la mejora que incorporará al sistema alas HIS la terminación del componente.

 

AGRADECIMIENTOS

Se agradece al profesor Asistente y Máster en Ciencias Reynel Fals de Pedro por aportar ideas y colaborar con documentación sobre el puerto serie RS-232.

 

REFERENCIAS BIBLIOGRÁFICAS

1. Spencer H, Cánepa P, Garrido R, Díaz R. Máquina de Anestesia. [Citado el 10 de Octubre de 2012] Disponible en: http://www.anestesiologia.cl/temas/temas_ver.php?id=10

2. Datex-Ohmeda, Inc. Máquina de anestesia Aestiva/5 MRI. [Citado el 27 de Octubre de 2012.] Disponible en: http://www.gehealthcare.com/eues/anesthesia/docs/AestivaMRI_spec_M1084256_spa.pdf

3. Canto Quintal CE. El puerto serie RS-232. [Citado el 15 enero de 2014] Disponible en: http://galia.fc.uaslp.mx/~cantocar/microcontroladores/SLIDES_8051_PDF/EL_RS232.PDF

4. Harold ER. Java I/O. 2nd Edition. New Orleans: O'Reilly; 2006.

5. Thevenet D, Simini F. REGANE: adquisición normalizada de señales de una máquina de anestesia. [Citado el 27 de Octubre de 2012.] Disponible en: http://www.41jaiio.org.ar/sites/default/files/8_CAIS_2012.pdf

 

 

Recibido: 29 de noviembre de 2013.
Aprobado: 17 de enero de 2014.