1
Simulador de Entrenamiento en el Ámbito de La Enseñanza Médica: Modelado de Pacientes de Emergencias Basado en Sistemas Expertos Arcadio Reyes-Lecuona, Raquel Viciana-Abad, Antonio Díaz-Estrella, Raquel Hermida-Fernández Abstract—In this paper, a patient model is used in the core of a medical training simulator. A concrete case is developed and validated by an expert. The process followed in description, designing and evaluation of this case is described in detail. In addition, a windows based application is developed using visual C++ in order to assist during this designing process. To evaluate the system , the Expert System Knowledge base is provided with rules about behavior of a patient with a myocardial infart or heart attack. Palabras clave—Sistemas Expertos, Realidad Virtual, Simulación de entrenamiento, Emergencias sanitarias.
E
I. INTRODUCCIÓN
l desarrollo de las técnicas de Realidad Virtual (RV) inmersiva en los últimos años ha permitido la implementación de numerosos sistemas de enseñanza que usan estas tecnologías para mejorar su efectividad. Tal es el caso de los simuladores de entrenamiento. Sin embargo, para alcanzar un alto grado de realismo en estos simuladores no sólo es necesaria la sensación de inmersión, sino que es también preciso que los comportamientos complejos de los elementos que constituyen el Mundo Virtual (MV) objeto de la simulación estén correctamente modelados. Por otro lado, el desarrollo de las técnicas de Inteligencia Artificial (IA) ha permitido su aplicación en numerosos campos de la Medicina, ciencia a la que se han dirigido los principales esfuerzos en el desarrollo de Sistemas Expertos (SE). Tradicionalmente los SE médicos se han usado sobre todo en materia de diagnosis. No obstante, aunque en menor medida, pueden ser aplicados a otros fines como el modelado órganos o pacientes. Éste es el caso de un proyecto de modelado virtual de un paciente mediante el uso de un SE en la Universidad de Nuevo México [1], y su integración con BioSimMER [2], un simulador de entrenamiento desarrollado con
Este trabajo ha sido parcialmente financiado por fondos FEDER y por el MCyT, proy. Nº 1FD97-2177 (Proy. ALBATROS), y por la Junta de Andalucía dentro de las Ayudas a Acciones Coordinadas destinadas a las universidades y organismos públicos de investigaciones y desarrollos tecnológicos. Ha sido apoyado por el contrato 8.06/58.1673 entre la Univ. de Málaga y la Empresa Pública de Emergencias Sanitarias (EPES). Dr. A. Reyes Lecuona es profesor en el Dep. Tecnología Electrónica, y en la ETSI Telecomunicación de la Universidad. de Málaga, Campus Universitario de Teatinos s/n. 29010 Málaga. Tlf: +34 952 132 755, Fax: +34 952 132 744, e-mail:
[email protected]. R. Viciana Abad es investigadora contratada en el Departamento de Tecnología Electrónica de la Universidad de Málaga.. Dr. A. Díaz Estrella es profesor en el Dep. de Tecnología Electrónica, y en la ETSI Telecomunicación de la Universidad de Málaga. R. Hermida Fernández es médico del Servicio de Anestesia; Hospital Clínico Universitario Virgen de la Victoria, Campus Universitario de Teatinos s/n. 29010 Málaga
RV; y el de Cardiac Tutor [3], simulador destinado a la enseñanza de las técnicas de reanimación cardíaca de la Universidad de Massachussets. En el departamento de Tecnología Electrónica de la Universidad de Málaga, se ha desarrollado un simulador de entrenamiento para la formación de médicos en el ámbito de las emergencias sanitarias con RV denominado UVIMO (Fig. 1). Este sistema simula el comportamiento de un paciente atendido por los profesionales de una unidad móvil de emergencias, en base a su estado, a las actuaciones que éstos pueden realizar sobre el mismo y al conocimiento que se extrae de un experto médico. En esta comunicación se presenta el desarrollo del emulador del paciente, dentro del núcleo de UVIMO, que ha de dotar al sistema de la inteligencia necesaria para recrear en tiempo real, en el MV, el estado del paciente en función de los eventos que se produzcan. En este sentido, existen numerosos modelos matemáticos y físicos que tratan de analizar y emular el comportamiento del organismo humano bajo ciertas condiciones y ante distintos estímulos, con relativa precisión, aunque de manera parcial. Los objetivos que se plantean aquí por contra, no persiguen alcanzar ese grado de precisión, sino que pretenden un modelado global de las respuestas del organismo. Para ello se propone el desarrollo de un SE diseñado en base a los conocimientos obtenidos de la experiencia de un médico, para modelar el comportamiento complejo de un paciente virtual, protagonista del simulador. Se trata pues de desarrollar el comportamiento de un paciente virtual en base al comportamiento real de un paciente, de forma que puedan ser entrenados médicos de una unidad de vigilancia intensiva móvil. En la sección 2 se hace mención a la aplicación de la IA en el ámbito de la medicina, y en la sección 3 se describe el papel del
Fig. 1. Simulador de entrenamiento UVIMO
2 paciente en el simulador de entrenamiento UVIMO. En la sección 4 se presentan los tipos de reglas que van a formalizar el conocimiento sobre un caso clínico y en la sección 5 se describe la herramienta usada para el desarrollo del SE. En la sección 6 se analiza la librería de funciones desarrolladas para permitir la comunicación bidireccional entre el SE y el MV (UVIMO). Como paso previo a la integración con UVIMO, se desarrolla un entorno de depuración, descrito en la sección 7. En la sección 8 se muestra el proceso de trabajo seguido con los expertos. En la sección 9 se exponen las conclusiones obtenidas de este trabajo.
I. RAZONAMIENTO MÉDICO E INTELIGENCIA ARTIFICIAL. Los métodos de IA en medicina hasta ahora han sido utilizados en el desarrollo de sistemas de diagnosis y control o monitorización, y en menor medida en la terapia de enfermedades o el modelado de pacientes. Así, aparecen sistemas como MYCIN [4] (diagnóstico de enfermedades infecciosas), VM [5] (monitorización de pacientes en unidades de cuidados intensivos y control de su tratamiento), ONCOCIN [6] (asistente en el tratamiento de pacientes con cáncer sometidos a quimioterapia) y SPHINK [7] (concebido como ayuda a la decisión de diagnóstico, terapéutica o prevención). En todos estos sistemas mencionados la herramienta de IA utilizada para su desarrollo es un SE. Esto se debe a que los problemas médicos contienen incertidumbre en los datos, y relaciones complejas entre ellos, que, de una forma no formal, están contenidas en la experiencia de los profesionales de este campo. En el caso planteado en esta comunicación, el problema no es descubrir cuáles son las causas que provocan un determinado comportamiento en el paciente, sino predecir cuál será el comportamiento de éste, teniendo conocimiento pleno del caso clínico que presenta, y sabiendo cuáles son las actuaciones que realiza el médico sujeto a entrenamiento. No obstante las características antes mencionadas están presentes también aquí. Por estos motivos, se ha usado un SE que proporciona información del comportamiento que tendrá el paciente virtual. De esta manera se logra un comportamiento complejo, descrito en base a reglas muy cercanas al conocimiento de un experto médico, y que es capaz de trabajar con las incertidumbres e imprecisiones inherentes al problema. I. EL PACIENTE DE UVIMO. Como ya se ha dicho, UVIMO es una aplicación basada en el uso de técnicas de RV, desarrollada como herramienta de formación de médicos en unidades de emergencias médicas. En ella el alumno interacciona con un paciente (un humanoide que habla y gesticula), y con una serie de aparatos que monitorizan, por un lado el estado del paciente, y por otro lado permiten realizar acciones sobre el mismo. La estructura de estos simuladores se puede definir como se muestra en la Fig. 2. La zona enmarcada por un recuadro corresponde al núcleo del simulador. En el caso de UVIMO, lo que se ha denominado como Motor de Comportamiento, y que es el encargado de modelar el comportamiento de todos los objetos representados en el MV, va a estar formado por el motor de inferencia del SE, que recogerá de la base de conocimiento la información necesaria para gestionar el comportamiento y evolución del paciente virtual. El alumno va a poder realizar sobre el mismo, tanto consultas de su estado (palpación, preguntar algo, consultar las constantes vitales, etc.), como una serie de actuaciones (Cardiovertir, suministrar fármacos, etc.), en lo que en la figura se han denominado Acciones. Con esto se va a conseguir información sobre los posibles estados de los aspectos representativos del paciente virtual. Derivados de estas
Profesor
Interfaz de usuario
Acciones Simulación Virtual del Mundo
Acciones
Cambios de Estado
Motor de comportamiento
Cambio de Estado
Base de Conocimiento
Nuevo Comportamiento Adaptación del entorno
Fig. 2. Diagrama de una simulador de entrenamiento basado en técnicas de realidad virtual.
actuaciones tendrán lugar cambios de estado en el paciente, lo que requerirá nuevas actuaciones por parte del alumno. Estas acciones, y los resultados de las mismas, son gestionados por la Simulación Virtual del Mundo. El tutor o profesor de la simulación va a poder en un momento dado realizar un cambio en el estado del paciente, ante lo cuál el alumno deberá responder de forma adecuada. Esto permite que como en el caso real aparezcan de forma súbita nuevas complicaciones, que en principio no cabía esperar.
I. REGLAS QUE DESCRIBEN UN CASO CLÍNICO CONCRETO La base de conocimiento del SE se dota de un conjunto de reglas fijas que describen el comportamiento general del paciente, y de tantos conjuntos de reglas como casos clínicos se definan. Mediante una serie de entrevistas con un médico especialista en anestesiología se definió un caso clínico en el que se detallan los cambios de estado de un paciente con antecedentes de cardiopatía isquémica y diabético de insulina, que de forma súbita ha perdido el conocimiento, debido a un infarto agudo de miocardio inferior. Se hace la distinción entre dos tipos de reglas, por un lado aquellas que se activan por una acción llevada a cabo sobre el paciente, y por otro lado las derivadas del comportamiento que presentan las constantes vitales en función del tiempo. A continuación se muestra una de las reglas introducidas en el núcleo del simulador UVIMO, ActualizarSaturacion ,que refleja en el valor de la Saturación de Oxígeno en sangre el descenso que éste suele sufrir como consecuencia de encontrarse por debajo de cierto valor (94%), considerado como el umbral de la normalidad. Antecedente (Consulta en tiempo T) (Valor Saturación de Oxígeno(SO2) en T en [10 , 94]%) (Orden de Actualizar_Saturación) => Consecuente (Asignar a v_SO2 el valor devuelto por CalcularSO2) (Informar al MV del valor de v_SO2) (Eliminar la orden Actualizar_Saturación) Como se observa en el consecuente se realiza una llamada a una función “CalcularSO2” que calculará este decaimiento en función del tiempo, el valor previo de la saturación, la frecuencia cardíaca y atendiendo a si se está oxigenando al paciente mediante una vía aérea y a la velocidad en (l/min) a la que se realiza.
3 I. CLIPS, HERRAMIENTA DE DESARROLLO DEL SE. Para implementar las reglas de nuestro caso clínico es necesario elegir una herramienta de desarrollo de SE. En este caso, es necesario contar con un sistema que, por una parte, proporcione potencia suficiente, en cuanto a la forma de representar la base de conocimiento y en lo que respecta al motor de inferencia. Por otra parte, este SE ha sido concebido dentro de una herramienta de simulación (UVIMO), desarrollada en C++, por lo que resulta imprescindible que el sistema de desarrollo escogido permita una fácil integración del SE con una aplicación desarrollada en C++. Por todo ello, el sistema de desarrollo escogido fue CLIPS [8], un entorno híbrido de desarrollo de SE cuyos orígenes datan de 1984 en el Centro Espacial Johnson de la NASA. Se trata de un entorno con capacidad de integración con otras aplicaciones, con amplia disponibilidad en distintas plataformas, y de bajo coste de desarrollo desde el punto de vista temporal y económico. CLIPS está desarrollado en C y realiza la descripción del conocimiento mediante reglas. Su motor de inferencia se caracteriza por implementar inferencia hacia delante y permitir adición de reglas dinámicamente. Como herramientas adicionales CLIPS puede dotarse de FuzzyCLIPS que es una extensión de CLIPS que representa y manipula conocimiento borroso, exacto y combinado. [9]
I. DESCRIPCIÓN DEL INTERFAZ DE COMUNICACIÓN A continuación se describe, en base a un diagrama de flujo de datos, el modelo del interfaz que permite la comunicación bidireccional entre el SE y el MV. En la Fig. 3, se muestra el diagrama de primer nivel del sistema global, que se describe a continuación. Recreación del Mundo, que es la parte visual del sistema. Con este sistema va a interaccionar de un lado el usuario mediante una serie de interfaces de RV, y de otro lado el Control del Mundo que se encargará de modelar todos los objetos representados. Control del Mundo. Este sistema contiene el motor o los motores que animan a los objetos virtuales. Por un lado gestiona todos los aspectos asociados con la representación gráfica y por otro detecta el momento en el que el usuario causa una actuación sobre el objeto emulado, informando de ésta al SE. Además desde el Control del Mundo se pueden realizar cambios en los estados de algunos de los aspectos representativos del objeto emulado. Esto se realiza mediante el envío por un lado de una petición de cambio de estado al SE, y por otro lado mediante una orden al MV para que se cambie el estado. Esto permite al profesor cambiar el estado del objeto emulado. El SE. Es el sistema encargado de gestionar las Consultas y peticiones de Cambio de Estado que le lleguen, de interpretar las Actuaciones y de realizar un proceso de inferencia en base al conocimiento almacenado en la Base de Conocimiento. De este proceso derivará una serie de cambios de estado que serán almacenados en lo que aparece en la figura como Base de Estados, de forma que mediante accesos a ésta desde el Control del Mundo se puedan representar estos cambios en el MV. Actuaciones. Son las acciones que el alumno lleva a cabo sobre el MV y que son interpretadas por el Control del Mundo. El Control del Mundo inserta la Actuación en el Espacio de Actuaciones. Cambios Estado. Son los datos que van a intercambiarse entre el Control del Mundo y el SE cada vez que este último realice una Petición de Cambio de Estado. El sistema va a permitir que el cambio de estado pueda realizarse no sólo desde el SE, sino también desde el MV. Con esta capacidad dota al profesor, que
Actuaciones Base Estructuras Espacio Actuaciones Estructura
Base Conocimiento Reglas
Actuaciones Sistema Experto
Tiempo Base Tiempo Tiempo
Recreación del Mundo
Cambios Estado
Consulta
Control Mundo.
Nuevos Estados
Espacio Estados
Estados
Sistema
Fig.3: Modelo global del interfaz de comunicación.
evalúa al usuario del simulador, de la posibilidad de alterar el estado del paciente. Consulta. Es una petición que el Control del Mundo realiza al SE. Una Consulta consiste en solicitar al SE que gestione (en base a las reglas) los posibles cambios que deben producirse en los estados que definen el MV como efecto de las Actuaciones (contenidas en el Espacio de Actuaciones) que haya realizado el alumno hasta el momento en el que se lanza la Consulta. Se introducen en el SE las actuaciones, actualizando previamente el Tiempo del SE mediante un acceso a la Base de Tiempo, y se activa la ejecución del motor de inferencia del SE.
La comunicación en sentido contrario desde el SE hacia el MV, se realiza mediante la inserción en el Espacio de Estados de los denominados en la figura como Nuevos Estados, que son los cambios que el SE va a solicitar que se lleven a cabo en el estado del objeto del MV emulado. El Control del Mundo es el encargado de efectuar estos cambios en el MV mediante accesos al Espacio de Estados.
I. DESARROLLO DE UN ENTORNO DE PRUEBA Como etapa previa a la integración con UVIMO, se desarrolla un entorno de prueba del SE, con el objeto de depurar por un lado la librería implementada, y por otro las reglas que definen el caso clínico. Dado que la recreación del MV de UVIMO se lleva a cabo con la herramienta de desarrollo de RV WorldToolKit, que está
Fig 4:Imagen del entorno de prueba.
4 formada con una serie de librerías desarrolladas en C++, y compatibles con Microsoft Visual C++, el entorno de prueba se realiza con Microsoft Visual C++ 6.0, con el objetivo de comprobar la integrabilidad. Como se puede observar en la Fig. 4, el entorno de prueba es un cuadro de diálogo, que presenta las siguientes funcionalidades. Control desplegable de Estados. Aparecen todos los aspectos descriptivos del estado del paciente, que contiene la semiología descrita por el médico experto. Un doble clic sobre uno de éstos, muestra el estado actual de un determinado aspecto, permitiendo la modificación de éste. Lista de Actuaciones Permanentes. En el sistema se diferencian entre acciones permanentes y transitorias. La diferencia entre éstas estriba en que las transitorias (ej. Cardiovertir) desaparecen del sistema en cuanto se refleja su activación en el SE, y las permanentes (ej. poner una Vía Aérea) han de eliminarse explícitamente mediante un nuevo evento. Botón Introducir Actuación. Cuando se pulsa aparece un cuadro de diálogo Insertar Actuación que contiene una lista con todas las actuaciones transitorias y las permanentes que no se hayan introducido previamente. Al seleccionar una de éstas se permite que el alumno configure las características de la actuación. Botón de Consulta. Al ser pulsado permite introducir en el SE las actuaciones que se hayan producido hasta ese momento y se asigna el control de la ejecución al SE de forma que pueda realizar los cambios oportunos en los estados en base a la aplicación del conocimiento del que está dotado. Gráficas de representación de ciertas constantes vitales. En la semiología no sólo se especifican los diferentes aspectos que describen al estado general del paciente sino también un conjunto finito de estados que lo van a poder caracterizar en cada momento. Es el caso por ejemplo del ECG que podrá ser Idioventricular, Sinusal, etc. Existen un conjunto de aspectos, que son las constantes vitales del paciente, que como excepción a lo especificado en el párrafo anterior, no tienen asociado un valor discreto sino que se van a caracterizar en cada instante de tiempo por un valor numérico. La evolución temporal de algunas de éstas (Saturación de O2, tasa cardiaca, tensión arterial y frecuencia respiratoria) se representan gráficamente, lo que ha permitido comprobar la capacidad de respuesta en tiempo real del SE.
I. PROCESO DE DEFINICIÓN DEL CASO CLÍNICO, Y EVALUACIÓN POR EL EXPERTO
La definición del caso clínico modelado para esta aplicación se desarrolló en las siguientes fases: En primer lugar, a través de una serie de entrevistas con un equipo de médicos, se determinó, por un lado, el espacio de estados a considerar en el paciente. Por otro lado, el espacio de actuaciones que se deben incluir en un entorno de emergencias, como el que nos ocupa. Por último, se identificó el caso clínico que se implementaría, así como una primera definición de las reglas que conformarían dicho caso. Con esta información se concertó una entrevista con otro especialista diferente a los que participaron en la definición previa, en la que se evaluaron las diferentes respuestas del paciente virtual frente a cada una de las posibles actuaciones del médico alumno en cada caso. De esta entrevista se obtuvieron un conjunto de reglas que se implementaron en el SE. Una vez implementado el sistema, se concertó una segunda entrevista con este último experto, con la que se evaluó el
comportamiento del paciente virtual, derivándose de esta sesión multitud de reglas añadidas a las anteriormente diseñadas, que corregían comportamientos ante situaciones y combinaciones de actuaciones no contempladas en las entrevistas anteriores. Finalmente, se realizó una última sesión de evaluación para que el experto diera el visto bueno al sistema implementado, con lo que se dio por concluido el proceso.
Es importante que los especialistas de las reuniones previas de definición del caso no sean los mismos que los que colaboran en el desarrollo final y la validación del sistema. Nuestra experiencia mostró que este procedimiento enriquece considerablemente el caso clínico. En un caso relativamente sencillo, como el que aquí se presenta, se ha considerado suficiente el número de entrevistas realizado. Evidentemente, posteriores reuniones, a ser posible, con diferentes expertos, refinarán progresivamente el caso clínico planteado.
I. CONCLUSIONES En esta comunicación se ha presentado el diseño de un núcleo inteligente para un simulador de entrenamiento en emergencias médicas, formado a partir del desarrollo de un SE mediante el uso de CLIPS y de la implementación de una librería que sirve de interfaz entre el SE y el simulador. Asimismo, se ha detallado un ejemplo de las reglas definidas en el caso clínico. Con ello, Se pone de manifiesto la viabilidad del uso de este sistema a la hora de emular el comportamiento de un objeto tan complejo como un paciente. Esto permite que un alumno pueda entrenarse, comprobando los efectos que sus actuaciones pueden tener lugar sobre un paciente, y cómo podría, en el caso de que fuese necesario, corregir éstas. Con el objetivo de depurar el sistema y de observar su correcto funcionamiento se ha desarrollado un entorno, el cuál muestra de forma gráfica la evolución del estado del paciente y permite interactuar con el mismo mediante una serie de eventos. Durante todas las fases de desarrollo se tuvo en cuenta la opinión del médico experto. En la validación final, éste consideró que el SE reproducía con fidelidad suficiente el comportamiento de un paciente con el problema descrito ante una amplia gama de posibles actuaciones, tanto adecuadas como erróneas, del médico alumno.
REFERENCIAS [1] [2] [3] [4] [5] [6] [7] [8] [9]
http://www.ithaca.edu/faculty/sstansfield/ (Description of Avalaible Projects). “BioSimMER: a virtual reality simulator for training first responders in a BW scenario”, http://www.ithaca.edu/faculty/sstansfield/ topLevel/snlWeb/biosimmer.html Woolf, B. P., “Multimedia Pedagogues”, IEEE Computer, mayo, 1995, pp74-80. G.F. Luger, W.A. Stubblefield. Artificial Inteligence and the Design of Expert System. California: Bejamin/Cummings Pub., 1989. Fagan L.M., Shortliffe E.H, Buchanan B.G. Computer-based Medical Decision Making: from MYCIN to VM Stanford Heuristic Programming Project. 1979. Hickam D.H., Shortliff E.H, Bishchoff M.B, Scott A.C, Jacobs C.D. “Evaluations of the ONCOCIN System”. Memo HPP 84-9 Standford University, 1984. Fieschi, M. Inteligencia Artificial en medicina. Sistemas Expertos. Barcelona: Masson S.A., Barcelona, 1987. Darlington K., The Essence of Expert Systems, Prentice Hall, Harlow, 2000. CLIPS Reference Manual Volume I. Basic Programing Guide. Version 6.10.,NASA Johnson Space Center, 1998.