SciELO - Scientific Electronic Library Online

 
 issue36Feliciano and Loventué: two models of territorial developmentMilk Production in an Improved Native Forest and Natural Grassland System author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

  • Have no cited articlesCited by SciELO

Related links

  • Have no similar articlesSimilars in SciELO

Share


Ciencia, docencia y tecnología

On-line version ISSN 1851-1716

Cienc. docencia tecnol.  no.36 Concepción del Uruguay May 2008

 

CIENCIAS EXACTAS Y NATURALES: INVESTIGACIÓN

Sistema inteligente para el tratamiento de alarmas en anestesiología*

Intelligent System for the Alarms Treatment in Anesthesiology*

Drozdowicz, Bartolomé**; Hadad, Alejandro***; Evin, Diego**; Salvatelli, Adrian**; Kohan, Diana**

*) Este artículo presenta los resultados del PID UNER Nº 6066, Facultad de Ingeniería, Universidad Nacional de Entre Ríos; recibido en septiembre 2007; admitido en diciembre 2007.
**) Facultad de Ingeniería, Universidad Nacional de Entre Ríos, Oro Verde, Argentina. bdrozdo@ceride.gov.ar
***) Instituto de Desarrollo y Diseño -INGAR, Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET), Santa Fe, Argentina, y Facultad de Ingeniería, Universidad Nacional de Entre Ríos, Oro Verde, Argentina.

Resumen: Se describe el desarrollo de un Sistema de Información basado en Multiagentes, cuyo objetivo es analizar las señales de monitoreo de procesos anestesiológicos, contextualizarlas con los datos del paciente y de la cirugía, para luego generar las alarmas correspondientes solamente para aquellas situaciones que lo justifiquen. De esta forma se trata de minimizar el número de falsas alarmas y aumentar la calidad de la información disponible para los anestesiólogos. La arquitectura del sistema está conformada por un grupo de Agentes Inteligentes: Diagnosticador basado en Redes Neuronales, Guardián que utiliza algoritmos del Control Estadístico de Procesos Multivariados, Validador que contiene modelado con Redes Bayesianas y el Generador de Alarmas. Para su diseño se utilizo la metodología Gaia, con los modelos de Roles, Actividades y Agentes. Se trabajo sobre casos de pacientes con Hemorragia Aguda de 100, 300, 500, 700 y 900 ml/min, obteniéndose resultados satisfactorios.

Palabras clave: Bioingeniería; Alarmas en anestesiología; Sistema multiagente; Redes neuronales; Redes bayesianas

Abstract: The development of an Information System is described. Its aim is to analyze the monitorized signals during the anesthesiological processes, considering the patient and surgery data in order to minimize the false alarms and improve the quality of the information used by the anesthesiologists. The System Architecture is based on Intelligent Agents: Diagnosticator composed by Neural Networks models, Guardian which uses algorithms from the Multivariate Statistic Processes Control, Validator which contains Bayesian Networks models and the Alarm Generator Agent. The Gaia methodology was used for the System design, considering the Roles, Activities and Agents Models. As reference cases, patients with different level of Acute Hemorrhage (100, 300, 500, 700 and 900 ml/min) were considered.

Keywords: Bioengineering; Alarms in anesthesiology; Multiagent system; Neural networks; Bayesian networks

I. Introducción

En virtud de las permanentes investigaciones, la calidad de los proceso en el ámbito médico ha tenido constantes avances en pos de una mejor y más confiable atención de los pacientes. Específicamente en anestesiología, estas mejoras involucran tres aspectos: conocimiento más profundo respecto de la fisiología humana, surgimiento de nuevas drogas y equipos de anestesia, y finalmente, la aparición de nuevos dispositivo de monitoreo, que permiten una mejor evaluación sobre el estado del paciente. Como resultado de estos avances, se ha aumentado la confiabilidad del proceso anestesiológico.
Sin embargo, existen otros aspectos que pueden incrementar estas mejoras. Estudios de incidentes durante los procesos anestesiológicos, muestran que un porcentaje de los mismos involucran factores humanos (Block et al. , 1996), lo que indica que es posible mejorar la confiabilidad del proceso, disminuyendo la probabilidad de incidencia de los mismos.
En sistemas complejos como lo son los procesos anestesiológicos, uno de estos factores humanos se relaciona con situaciones donde, por sobrecarga de información o exigente requerimiento en el tiempo de respuesta, resulta difícil para el profesional evaluar el estado de los mismos, especialmente si existe cierto grado de incertidumbre en sus comportamientos. En consecuencia, la probabilidad de ocurrencia del error humano aumenta cuando los ámbitos donde los profesionales deben desempeñar sus funciones son complejos, tanto por la variabilidad de las situaciones como por la criticidad de las decisiones. Por otro lado, está demostrado que el mayor porcentaje de errores humanos no se debe a problemas intrínsecos de las personas sino a falencias del contexto donde la misma debe desempeñarse, siendo la baja calidad de la información sobre el proceso uno de estos aspectos. Una forma de incrementar la confiabilidad humana es el empleo de Sistemas Informáticos, que brinden soporte a las tareas del anestesiólogo.
Teniendo en cuenta esta problemática, se fundamentó el objetivo del proyecto Sistema de Información para el Tratamiento Inteligente de Alarmas en Anestesiología, desarrollado por el Grupo de Inteligencia Artificial de la Facultad de Ingeniería de la Universidad Nacional de Entre Ríos. El propósito de este artículo es la descripción del desarrollo de ese Sistema de Información.
Algunos estudios indican que generalmente del 40 a 50% de todas las alarmas son falsas (Block et al. , 1996; Wiklund et al. , 1994; Cook et al. , 1996; Koski et al. , 1992). Este es un claro ejemplo de que la información, si no es bien presentada, muchas veces no agrega beneficios sino, por el contrario, trae complicaciones. En un informe de la US Food and Drug Administration (FDA) (Graham et al. , 1998) se hace referencia a la importancia del problema de alarmas durante el monitoreo. Las alarmas sin sentido, para las situaciones específicas en consideración, son indeseables y sólo llevan a la desconexión de las mismas, como modo normal de operación.
En el diseño de equipamiento para anestesia existe una tendencia hacia la integración de dispositivos y centralización de controles y presentación de la información. La integración de alarmas, sin embargo, no es sencilla debido a la falta de estandarización, falta de consenso en relación a su función, etc.
La implementación de alarmas puede ser mejorada empleando técnicas de Inteligencia Artificial (Orr et al. , 1994; Rau et al. , 1995; Oshita et al. , 1994; DeGraaf et al. , 1997; Mylrea et al. , 1993; Schecke et al. , 1994; Wolf et al. , 1996), diseño ergonómico y desarrollo de nuevas metodologías para la medición de variables fisiológicas. Este trabajo considera la primera de estas alternativas, para lo cual en una primera etapa fue necesario establecer cuáles son los datos necesarios, de dónde se obtienen y en qué forma deben estar expresados, para poder brindar información concisa y precisa al Sistema Inteligente.
Para esto se desarrolló una interfaz (hardware / software) capaz de adquirir los datos provenientes del exterior (paciente, anestesiólogo, etc. ) y expresarlo en un formato acorde a lo requerido por el Sistema Inteligente. A partir de los datos del paciente bajo anestesia y de aquellos específicos del estado particular en el que se encuentra, se generan advertencias y alarmas para cada estado crítico, informando al anestesiólogo las causas más probables de ese estado y en algunos casos las posibles acciones recomendadas.
Además, se pueden diferenciar dos aspectos respecto de la problemática a considerar en el ámbito anestesiológico: por un lado las alarmas relacionadas con fallas del equipamiento utilizado en los procesos anestesiológicos, y por el otro las alarmas relacionadas con las desviaciones de los parámetros vitales de los pacientes que, bajo muy variadas circunstancias, son sometidos a procesos anestesiológicos específicos.
Por todo lo anteriormente indicado resulta importante el diseño de un Sistema de Información que permita al profesional interpretar mejor cada una de las situaciones que se van desarrollando a lo largo de un proceso anestesiológico. De tal forma se podrán mejorar las decisiones y consecuentemente disminuir la ocurrencia de errores humanos. Para ello resulta muy importante contar con una arquitectura modular, flexible y adaptable a las diferentes situaciones, que además sea capaz de seguir la evolución del proceso y almacenar los datos y eventos del mismo, para el posterior análisis de los diversos casos procesados.
En consecuencia, los principales resultados obtenidos se relacionan con el desarrollo, formalización e implementación de la arquitectura del Sistema, el cual quedó conformado como un Sistema Multiagente, compuesto por Agentes específicos para desarrollar las diferentes funciones requeridas para el procesamiento de la información, relacionado con los procesos anestesiológicos.

I.1. Descripción del ámbito de aplicación
La complejidad de las cirugías actuales es posible, en parte, gracias al desarrollo realizado en el área de anestesiología. Sin embargo, la monitorización de pacientes críticos plantea un problema de elevada complejidad y alto estrés al profesional que la esta llevando adelante.
En los últimos años, la Bioingeniería ha desarrollado un gran número de dispositivos capaces de medir diferentes parámetros vitales de los pacientes. Estas mediciones mejoran la seguridad de los mismos y brindan información al médico acerca de sus diferentes parámetros fisiológicos. Dado que las técnicas clásicas de monitorización consisten en la adquisición masiva de datos y presentación directa de toda la información, pueden producir una sobrecarga sobre el anestesiólogo.
Los profesionales médicos deben ser notificados de los cambios sustanciales en el estado del paciente y fundamentalmente en aquellos casos donde exista una alta probabilidad de riesgo para la vida del mismo. Sin embargo el monitoreo de pacientes produce, en muchas ocasiones, una gran cantidad de alarmas innecesarias para la situación específica del paciente bajo atención, o alarmas falsas provocadas por eventos ajenos al estado real del mismo, que terminan siendo la principal fuente de molestia y confusión para el personal encargado de su cuidado.
Básicamente, las alarmas de los sistemas de monitoreo de pacientes se configuran para producir un alerta en caso que la variable a la cual están atendiendo se encuentre fuera de cierto rango. Sin embargo, estas alarmas no son capaces de considerar la intervariabilidad de los diferentes parámetros, ya que no tienen en cuenta las características particulares del paciente ni las acciones que se puedan estar realizando sobre él. En otras palabras, estos sistemas no incluyen inteligencia, aspecto éste de mucha importancia ya que, en pacientes críticos, ciertos parámetros necesitan ser evaluados considerando las características particulares de los mismos, esto es, edad, sexo, patologías anteriores, etc. Además, los monitores no están en condiciones de interpretar los valores de las variables, contextualizándolas con los casos específicos en tratamiento, por ejemplo, en ciertas ocasiones, una frecuencia cardíaca de 125 latidos por minuto podría no ser considerada taquicardia, cuando generalmente lo es, o una presión sanguínea sistólica de 120 mmHg podría ser considerada elevada, siendo normal para la mayoría de los casos.
En consecuencia, el ámbito general de la anestesiología constituye un sistema complejo con múltiples condicionantes y una muy amplia variabilidad de las situaciones, por lo cual conforman un contexto apropiado para la incorporación de Sistemas Informáticos Inteligentes, que permitan aumentar la calidad de la información en la cual se deben basar los profesionales para tomar sus decisiones.

1.1.1. Ámbito Anestesiológico
El Proceso Anestesiológico
Si bien no existen procedimientos fijos que los anestesiólogos deban seguir paso a paso para cada situación que se les presente, es posible caracterizar un conjunto de similitudes entre los diferentes casos anestésicos y, en base a ellos, definir un procedimiento general, entendiendo que estos procedimientos pueden tener variantes de acuerdo a los diferentes contextos de aplicación. En la intervención del anestesiólogo dentro de una cirugía se pueden distinguir las siguientes fases: preparación prequirúrgica, inducción, mantenimiento, despertar de la anestesia y/o control posquirúrgico (Graham et al. , 1998).
Preparación Prequirúrgica: En esta etapa, el anestesiólogo analiza las características del paciente, realiza un plan anestésico y completa un chequeo del funcionamiento del equipamiento y disponibilidad de los insumos necesarios.
Inducción: El objetivo de esta etapa es llevar al paciente, tan rápido como sea necesario, a un estado de anestesia adecuado para que la cirugía pueda dar comienzo. Involucra además la conexión del paciente a los equipos de monitoreo y/o soporte. Durante esta etapa, el estado fisiológico del paciente se modifica dramáticamente en breves lapsos de tiempo. Además esos cambios se reflejan en distintas señales fisiológicas y con modalidades diferentes.
Mantenimiento: Una vez que el paciente ha sido anestesiado, la tarea del anestesiólogo consiste en mantener su estado, realizando un balance entre sus diferentes subsistemas y modificando el estado del paciente de acuerdo a las demandas del cirujano (nivel de relajación, presión arterial, temperatura corporal, etc. ). Estas tareas se logran a través de constantes suministros de drogas, ajustes en los parámetros ventilatorios y del vaporizador, etc. En esta etapa, el anestesiólogo dedica la mayor parte del tiempo a monitorear el estado del paciente y la cirugía. El progreso quirúrgico tiene particular importancia para el anestesiólogo, debido a que le permite planificar las dosis anestésicas, de acuerdo al tiempo que resta para su finalización
Despertar de la anestesia y/o control posquirúrgico: Hacia el final de la cirugía, el paciente emerge de la anestesia profunda, regresando al estado de conciencia y despertar. En esta fase, al igual que durante la inducción, el estado fisiológico del paciente se modifica de manera considerable en breves lapsos y el anestesiólogo debe establecer parámetros de referencia para interpretar los signos clínicos y la información de los monitores. Generalmente al finalizar el proceso, el anestesiólogo suele registrar las principales observaciones respecto a la cirugía y aquellos eventos que afectaron al paciente.

1.1.2. - Caso de Referencia: Hemorragias Agudas
Los ámbitos profesionales con los que se interactuó fueron el Departamento de Anestesiología del Hospital "San Martín" de Paraná y la Asociación de Anestesiología de Buenos Aires (AABA).
Tomando en consideración la opinión de anestesiólogos de la AABA y con el total acuerdo del grupo de anestesiólogos del Hospital "San Martín", se consideró como caso de referencia específico, para el desarrollo del Sistema Inteligente, a situaciones de pacientes con Hemorragias Agudas (HA), por la criticidad de las consecuencias y la complejidad y cantidad de diferentes tipos de HA. Si bien se trabajó con datos asociados a estas situaciones específicas, los desarrollos del Sistema Inteligente son totalmente generales, pues se consideraron los aspectos relevantes de la problemática en general, relacionada con el diagnostico, validación y supervisión de situaciones críticas, como así también porque el conjunto de variables medidas que determinan el estado del paciente es común para todas las situaciones que pueden generarse durante los procesos quirúrgicos.
Los pacientes con Hemorragias Agudas plantean múltiples problemas a todo el equipo médico; a menudo necesitan métodos quirúrgicos urgentes para el diagnóstico y el tratamiento, y en ellos interviene directamente el anestesiólogo. Incluso el más experto puede afrontar situaciones muy difíciles, en estas circunstancias extremas y ocasionales.
Esto muestra la complejidad del caso analizado, más aún si se tiene en cuenta la fisiología de manifestación del mismo: Dependiendo de la velocidad de pérdida sanguínea, variará la presión tanto sistólica como diastólica, para poder mantener la oxigenación de los tejidos, o visto de otra manera, disminuirá el anhídrido carbónico acumulado en el fluido. Por otra parte, a fin de facilitar el intercambio gaseoso en los pulmones se aumenta la frecuencia cardíaca, lo que hace variar el gasto cardíaco, entrando el paciente en deterioro continuo de su estado. Desde el punto de vista anestesiológico, el fluido sanguíneo es el medio de transporte de las drogas o gases anestésicos, lo cual deja en claro la importancia de este evento.
Se debe discriminar entre dos grupos de pacientes con HA. En primer lugar, aquéllos que ingresan a los servicios de urgencia y a los que se diagnostica una posible HA y luego se interviene quirúrgicamente, con lo cual el anestesiólogo actúa con conocimiento de causa, aunque con no menos inconvenientes. En segundo lugar, aquellos pacientes que, durante su intervención quirúrgica, por alguna circunstancia, sufren una HA. Éste fue el grupo de pacientes considerado para el Sistema desarrollado en este proyecto, pues resulta de mayor importancia por sus características y porque es donde se debe evaluar con mayor detalle las condiciones de alarma.

II. Metodologías

II.1. Sistema Multiagente
Teniendo en cuenta la necesidad de contar con una estructura general del Sistema de Información Inteligente (SII), modular, flexible y adaptativa, que permita considerar las diferentes situaciones que se generan en unámbito complejo, como lo son los procesos anestesiológicos, y después de un análisis de las arquitecturas más apropiadas para este tipo de desarrollo, como son las estructuras de Blackboard y Sistema Multiagente, se consideró a esta última arquitectura como la mas apropiada. Esta arquitectura permite una implementación mucho más distribuida del SII, aspecto que puede resultar importante cuando se tengan que considerar las restricciones y requerimientos que impone el Dominio de Aplicación.
Cuando se va a desarrollar un sistema software complejo como suelen ser los sistemas Multi-agentes (SMA), es conveniente utilizar metodologías validadas que estructuren tal desarrollo. Para el análisis y diseño del SMA se consideraron dos metodologías específicas: Gaia y MaSE (Multi-agent Systems Engineering). Ambas aplican el concepto de rol para guiar el descubrimiento de funciones del sistema. El objetivo en la fase de análisis es desarrollar una comprensión del sistema y su estructura, sin hacer referencia a detalles de implementación. Mientras que el objetivo de la fase de diseño, es transformar los modelos abstractos derivados durante el estado de análisis, en modelos de suficientemente bajo nivel de abstracción, para que ellos puedan ser implementados fácilmente. Por las características del dominio en consideración, el SII deberá actuar en un ambiente cerrado y acotado, y tendrá un conjunto limitado de Agentes (no más de diez) cuyas habilidades, servicios y relaciones interagentes no cambiarán en tiempo de ejecución. Tales características coinciden con los principales requerimientos de los dominios exigidos por la metodología Gaia, por lo tanto esta última fue considerada la más apropiada.
La metodología Gaia ve al sistema como una sociedad u organización, con los elementos de tal sociedad definido por roles (Wooldridge et al. , 2000). Tiene el objetivo de permitir al analista ir sistemáticamente, desde el establecimiento de los requerimientos, hasta llegar a un diseño que sea suficientemente detallado, tal que pueda implementarse directamente. Esta metodología tiene una fase de Análisis y otra de Diseño (Fig. 1), que pueden ser pensadas como un proceso de desarrollo de modelos cada vez más detallados, del sistema a construir.


Figura 1: Trabajo: Sistema Inteligente para el Tratamiento de Alarmas en Anestesiología

II.1.1. Análisis
Tiene como objetivo definir la organización del sistema (sin referenciar ningún detalle de implementación). Los pasos en el proceso de Análisis son: Identificación de los roles del sistema; para cada rol, determinar y documentar los protocolos asociados, con lo cual se construye un modelo de interacciones y, finalmente, con éste se elabora el modelo de roles.

II. 1. 2. Diseño
Tiene por finalidad transformar los modelos de la fase de análisis en un nivel de abstracción suficientemente bajo, tal que puedan utilizarse las técnicas tradicionales de diseño para implementar agentes. Se define cómo cooperan los agentes para cumplir los objetivos del sistema y qué requiere cada agente individual para llevarlo a cabo. Los pasos de la fase de Diseño son: definir un modelo de agentes, desarrollar un modelo de servicios y hacer un modelo de relaciones

II.2. Agentes Inteligentes
Para la implementación de los diversos Agentes, se utilizaron diferentes metodologías específicas para cada objetivo particular. De tal forma, el Agente Guardián está basado en metodologías del Control Estadístico de Procesos Multivariados, el Agente Diagnosticador utiliza Redes Neuronales, el Agente Supervisor está basado en Redes Bayesianas y el Agente Evaluador de Profundidad Anestésica se basa en conceptos de Análisis Biespectral y Entropía.

II.3. Redes neuronales
El modelado del Agente Diagnosticador se basó en Redes Neuronales. Las redes neuronales Perceptrón Multicapa son un modelo matemático compuesto por un gran número de elementos simples adaptativos (nodos), interconectados masivamente en paralelo, los cuales procesan información por medio de su estado dinámico, como respuesta a entradas externas (Haykin, 1993). Estas redes son capaces de aprender de la experiencia, generalizando casos anteriores a nuevos casos y abstrayendo características esenciales del dominio de trabajo, a partir de las entradas representativas del mismo.
Numéricamente las redes presentan un vector de entrada de dimensión N, una matriz de pesos de interconexión entre los nodos, de una o más capas ocultas, que almacenan el conocimiento adquirido por la red, y un vector de salidas. Para implementar una red neuronal, se hace necesario contar con una serie de datos sobre los que se llevará a cabo el análisis, así como un conjunto de salida deseada para cada uno de tales datos. Estos datos se dividen en grupos de patrones: de entrenamiento y de evaluación, que se utilizarán durante las dos fases homónimas, necesarias para dicha implementación.
La fase de entrenamiento consiste en la presentación sucesiva de los datos de entrenamiento y la adaptación del valor de pesos de las interconexiones, con el objetivo de minimizar los errores cuadráticos medios (el error consiste en la diferencia entre la salida real tras la presentación de un patrón específico y la salida deseada para ese patrón).
La fase de evaluación o verificación consiste en exponer la red ya entrenada (con los pesos de interconexión fijos) a los datos de evaluación. Esta fase tiene el objetivo de comprobar el comportamiento de la red ante muestras que no se habían presentado previamente durante la fase de entrenamiento. Si este proceso arroja un error de clasificación de valor aceptable, se almacena la matriz de pesos que caracterizará completamente la red neuronal.
Para evaluar las prestaciones del detector, se puede utilizar una medida del número de falsas detecciones realizadas (falsos positivos - FP-) y del número de eventos no detectados o detecciones fallidas (falsos negativos -FN).

II.4. Control estadístico de procesos multivariados
Esta metodología fue utilizada en el Agente Guardián. Las herramientas del control estadístico de procesos multivariados más extensamente desarrolladas en la literatura son el estadístico T2 de Hottelling, MEWMA (Multivariate Exponentially Weighted Moving Average) y MCUSUM (Multivariate Cumulative SUM). Para estas herramientas se asume que vectores de p x 1 (p: número de variables) X1, X2, X3,. . . . , son observados y monitoreados a lo largo del tiempo. Estas observaciones se consideran independientes y distribuidas normalmente con vector de medias μι, i = 1,2,. . . .p. También se asume que es conocida la matriz de covarianza Σ y el proceso bajo control es denotado por el vector de medias μο. En la práctica es necesario estimar la matriz de covarianzas Σ y chequear las asunciones de independencia y de distribución normal de las observaciones multivariables.
El estadístico T2 está basado en la observación más reciente, siendo insensible a cambios pequeños o moderados, en el vector de medias del proceso. Los métodos MEWMA y MCUSUM tienen como ventaja que van considerando las observaciones anteriores, por lo que a priori permiten detectar cambios pequeños o moderados. Sin embargo, en relación a T2, requieren definir parámetros de diseño, que no se obtienen directamente de los datos.
Todos estos métodos asumen que los datos utilizados para la estimación del vector de medias y de la matriz de varianza-covarianza se distribuyen normalmente. Otra asunción es que los vectores X1, X2,. . . . . , Xn son estadísticamente independientes, asunción que también suele ser no realista. En este sentido, el gráfico MEWMA puede tratar mejor el efecto de la no independencia estadística. Teniendo en cuenta todas estas consideraciones para el diseño, se consideraron los métodos T2 de Hotelling y MEWMA con filtrado de outliers y transformación.

II.5. Redes Bayesianas
Una Red Bayesiana es un grafo acíclico dirigido, que codifica relaciones probabilísticas entre eventos distintivos de interés, de un problema de razonamiento bajo incertidumbre. Una red de este tipo combina la potencia del teorema de Bayes, con la expresividad semántica de los grafos dirigidos. Esta metodología fue utilizada en el Agente Supervisor.
Una Red Bayesiana tiene las siguientes características:

• Un conjunto de nodos que representan las variables del modelo, cada uno de los cuales es una variable aleatoria, discreta o continua, que tiene un conjunto exhaustivo de estados χι, mutuamente excluyentes.
• Cada par de nodos se conecta entre sí mediante arcos de flechas. Un arco representa la dependencia entre dos variables del modelo. Una flecha que vaya del nodo X al nodo Y tienen el significado implícito de que X, al que llamamos nodo padre, ejerce una influencia directa sobre Y, nodo hijo.
• Para cada nodo existe una tabla de probabilidad condicional, que cuantifica el efecto que sobre este tiene cada nodo padre. El grafo no tiene ciclos.

Para construir una red bayesiana, en primer lugar se debe establecer el conjunto de variables que va a describir el dominio; para cada una de dichas variables se construye un nodo en la red, y posteriormente se debe establecer la topología de la red. Esto generalmente se hace con ayuda de expertos del dominio, que indican qué relaciones de dependencia condicional directas son válidas (en la definición de la estructura de la red, queda plasmado el conocimiento experto). Podría considerarse a la topología de la red como una base de conocimientos abstractos, válida en una gran variedad de escenarios diversos, al representar la estructura general de los procesos causales del dominio, y no los detalles de la población de sus individuos. Una vez diseñada la estructura de la red, se construye una tabla de probabilidad condicional para cada nodo de la red. En estas tablas, una fila indica la probabilidad condicional del nodo, dado una posible combinación de valores de los nodos padres. Si un nodo no tiene padres, su tabla de probabilidad condicional tiene una sola fila, con el valor de la probabilidad a priori de la variable representada por tal nodo.
El principal objetivo de una red de inferencias probabilista, como lo es una Red Bayesiana, consiste en calcular la distribución de probabilidades a posteriori de un conjunto de variables de consulta, con base en determinadas variables de evidencia.

III. Resultados

El desarrollo del Sistema Mutiagente tuvo los siguientes resultados, como consecuencia de la aplicación de la metodología Gaia.

III.1. Etapa 1: Definir la meta del sistema
La meta del sistema, ya establecida desde el principio, es la siguiente:

"Reducir la posibilidad de daños en pacientes sometidos a procesos anestesiológicos, dando soporte al anestesiólogo para mantener el proceso de anestesia en condiciones normales durante una cirugía".

III.2. Etapa 2: Definir los procesos y sus actividades
III.2.1. Procesos
Para esta etapa, se propuso, primero, modelar al sistema como un conjunto de procesos definiendo, como ya se mencionó anteriormente, sus entradas, salidas y orden de precedencia de las actividades que los conforman (Fig. 2). Aplicando este paso, se determinó que el sistema está conformado por un solo proceso: "Dar soporte al proceso anestesiológico".


Fíg. 2. Entradas y salidas de los procesos

Las Entradas que recibe son las siguientes:

Señales biológicas: Provienen desde los monitores del quirófano. Son datos muestreados periódicamente de las señales vitales del paciente (frecuencia cardiaca, presión arterial, etc. ). Se utilizan para que el sistema deduzca el estado actual del paciente.
Características del paciente: Datos descriptivos del paciente tanto estáticos (edad, sexo, peso) como así también intermitentes (análisis de laboratorio). Son cargados por el anestesiólogo antes de comenzar la cirugía.
Tipo de Cirugía: Indica el tipo de cirugía que se realizará. El anestesiólogo la selecciona a partir de una lista de cirugías conocidas y previamente cargadas.
Acción: Indica al Sistema la acción llevada a cabo por el anestesiólogo. Esto permite el seguimiento del plan de acción.

El Sistema tiene como Salidas información útil para el anestesiólogo:

Alarmas: los actuales equipos de monitoreo de pacientes producen frecuentemente alarmas innecesarias para la situación específica del paciente bajo atención o falsas alarmas provocadas por eventos ajenos al estado real del mismo, que terminan siendo la principal fuente de molestia y confusión para el personal encargado de su cuidado. Por lo tanto, el sistema controlará las alarmas, emitiéndolas sólo en los casos necesarios.
Informe actualizado del paciente y plan de acción: el sistema proveerá al anestesiólogo de un informe actualizado del estado del paciente y de un plan de acción sugerido a seguir, tanto en condiciones normales o en condiciones anormales (emergencia).

III.3. Actividades
Teniendo en cuenta las definiciones anteriores, se conformó un diagrama de actividades en UML, que muestra el proceso principal del sistema, a partir del cual se definieron los roles (Fig. 3).


Fig. 3. Proceso del sistema

El proceso está dividido en dos fases: en primer lugar la fase de configuración y en segundo lugar, la fase de seguimiento y soporte.
La fase de configuración consiste en las primeras cinco actividades del proceso. En ellas, el anestesiólogo debe configurar el Sistema para comenzar la cirugía. Para tal fin, el Sistema es alimentado con las características propias del paciente y las del tipo de cirugía a realizar. Luego, se genera un plan de actividades de chequeo, que debe realizar el anestesiólogo para verificar el correcto funcionamiento de todos los equipos. Finalmente, el Sistema presenta un plan de acción inicial a recomendar e inicia las actividades propias de la fase siguiente.
La fase de seguimiento y soporte está conformada, como puede apreciarse en la Fig. 3, por un conjunto de actividades que se llevarán a cabo concurrentemente:
Leer Acción del Anestesiólogo: El Sistema es capaz de recibir como entrada una acción del anestesiólogo y luego almacenarla. Esto le permite analizar los posibles efectos de dicha acción, como así también modificar el plan de acción a sugerir.
Capturar señales: Toma periódicamente muestras de las señales vitales provenientes desde los monitores y las guarda para su posterior análisis.
Analizar Condición del Paciente: Lee las señales capturadas y determina si la condición del paciente es normal o anormal. Si es anormal habilita la actividad Determinar Posible Patología.
Determinar Posible Patología: Se encarga de leer las señales tomadas del paciente y analizarlas, para determinar si el paciente podría padecer una patología conocida. Si encuentra tal situación, habilita la actividad Diagnosticar Patología.
Diagnosticar Patología: Tiene como objetivo analizar las posibles patologías que se encuentran en el paciente y determinar si verdaderamente existe una. Activa la alarma pertinente si fuera necesario.
Supervisar Plan de Acción: A partir del estado del paciente y de las acciones realizadas por el anestesiólogo, define y actualiza el plan de acción a seguir.
Operar Alarma: Activa o desactiva la alarma correspondiente.
Cada una de estas actividades ha sido detallada con el fin de determinar los roles que deberán desempeñar los Agentes del Sistema.

III.4. Modelo de Roles
A partir de las definiciones de las actividades del sistema, los roles que desempeñarán los distintos Agentes del Sistema pueden ser descubiertos. Los roles pueden realizar una o más actividades. No existe ninguna regla que dicte cómo asignar actividades a los roles. Generalmente, un rol realiza un conjunto de actividades relacionadas entre sí, es decir que, por ejemplo, comparten un mismo recurso. Por otro lado, si la actividad es demasiado compleja, es aconsejable que el rol la realice de manera exclusiva, es decir que el rol tenga esa única actividad.
Ya obtenidos todos los roles del Sistema, se procede a describirlos mediante el Modelo de Roles propuesto por Gaia. Se muestra, a modo de ejemplo, la plantilla del rol DiagnosticadorPatología. (Fig. 4)


Fig. 4. Plantilla del Rol DiagnosticadorPatología

Este rol realiza exclusivamente una sola actividad, de todo el proceso principal del Sistema. Esta plantilla especifica todas las propiedades del rol DIAGNOSTICADORPATOLOGÍA, estableciendo que todo Agente que realice este rol deberá ser capaz de:

• Acceder a las Bases de PosiblePatología y Señales, a las Bases de Conocimiento Paciente, Cirugía y Patologías.
• Comunicarse con los Agentes que implementen el rol SupervisorPlanAccion y OperadorAlarmas.

III.5. Modelo de Agentes
Una vez que se tiene el Modelo de Roles completo, es posible realizar el Modelo de Agentes. Un Agente puede realizar uno o más roles. La Fig. 5 muestra los diferentes tipos Agentes del Sistema y los roles que cada uno de ellos desempeñará.


Fig. 5. Modelo de Agentes

La Fig. 5 muestra seis árboles distintos, donde las raíces representan los distintos Agentes que conforman el Sistema y sus hojas los roles que realizarán. El número que está debajo de la raíz indica el máximo número de Agentes en el Sistema, que podrán existir en un momento dado.
Como puede verse, algunos Agentes realizan más de un rol. Por ejemplo, el Agente Supervisor debe realizar el rol SupervisarPlanAcción. Este rol está muy relacionado con el de LectorAcciones, puesto que el plan de acción varía según las acciones del anestesiólogo. Por lo tanto, se considera apropiado que estos dos roles sean realizados por el mismo Agente.
A su vez, el rol LectorAcciones requiere que el Agente que lo implemente esté interrelacionado con todos los Agentes del Sistema, debido a que cuando el anestesiólogo indica la finalización de la cirugía, el Agente debe enviar a todos los demás Agentes la señal FinProceso. Aprovechando esta circunstancia, se consideró apropiado que este Agente también realice el rol Iniciador, puesto que también requiere de dichas interrelaciones, para indicar el comienzo de la fase de seguimiento y soporte de la cirugía.
La Fig. 6 muestra los Agentes del Sistema, sus relaciones interagentes y los recursos que utilizan. Esta información se obtiene del Modelo de Roles.


Fig. 6. Arquitectura Multiagentes

El Agente Guardián, como tiene el rol CapturadorSeñales, recibe señales desde los monitores y las almacena en la Base Señales. También desempeña el rol de AnalizadorCondiciónPaciente, por lo que analiza las señales almacenadas en la Base Señales y guarda el resultado de ese análisis en la Base Condición del Paciente. Está relacionado con el Agente Supervisor para darle aviso cuando la condición del paciente cambia. También está relacionado con el Agente Diagnosticador para pedirle que detecte una posible patología, en caso de que el paciente esté en condiciones anormales.
El Agente Diagnosticador, una vez que recibe un pedido de ejecución, analiza la Base de Señales en búsqueda de posibles patologías. En caso de encontrar alguna, la almacena en la Base Posibles Patologías. Se relaciona con el Agente Validador para requerirle que implemente una verificación del diagnóstico, en caso de que se haya detectado una posible patología.
El Agente Validador, una vez que recibe un pedido de acción por parte del Agente Diagnosticador, realiza una validación del diagnóstico utilizando información: de la Base Patologías (para leer las patologías encontradas en la cirugía), la Base de Señales, la Base de Posibles Patologías, la Base de Conocimientos (BC) del Paciente, la BC de la Cirugía y escribe en la Base Patologías la patología encontrada (en caso de haberla). Se relaciona con el Agente Generador de Alarmas para que active la alarma correspondiente.
Por último, el Agente Supervisor define y/o actualiza el plan de acción a sugerir al anestesiólogo, leyendo las Bases: AccionesUsuario, CondiciónPaciente, BC Paciente, BC Cirugía y BC Procedimientos. Como tiene el rol Iniciador, debe conocer a todos los Agentes del Sistema para iniciarlos.
Finalmente una vez confeccionados los diagramas de cada fase de la metodología, se utilizó el software de modelado Enterprise Architect, que es un programa que permite realizar el modelado gráfico de sistemas (en lenguaje UML) y brinda una aproximación hacia la codificación del sistema software.
De su empleo se obtuvo la codificación básica de la arquitectura en lenguaje JAVA, el cual también fue aplicado para la programación de los procesos internos de cada Agente.

III.6. Agente Diagnosticador
III.6.1. Diseño
Tiene por función identificar eventos anormales, a través de los datos provenientes del paciente, mediante un conjunto de Redes Neuronales entrenadas para tal fin. Es habilitado por el Agente Guardián y está formado por el siguiente conjunto de objetos que colaboran entre sí:
Temporizador: Teniendo en cuenta que la mayoría de los cambios fisiológicos ocurren en períodos de al menos 5 segundos, tiempo superior al período de muestreo de las señales provenientes de los monitores, se decidió adoptar una frecuencia de activación del Detector de Posible Patología de alrededor de 5 segundos (0,2 Hz), conduciendo esto a un ahorro computacional, aspecto importante en sistemas que trabajan en tiempo real. Cada vez que transcurre un período de tiempo igual al período de análisis, este objeto activa al Coordinador con el mensaje ejecutar Redes(), indicándole que es tiempo de una nueva detección sobre los datos del paciente.
Coordinador: envía el mensaje ejecutarRed() a toda Red Neuronal de su lista de Redes, cada vez que el Temporizador se lo indica. También es capaz de reconfigurar el temporizador alterando el período de análisis.
Preprocesador: cada Red Neuronal específica tiene un preprocesador de datos, que permite obtener los índices derivados de las series de datos temporales. Por otro lado realiza la normalización de datos para llevarlos a un mismo rango de valores.
ConexionDB: cada una de las Redes tiene una conexión a la Base Señales, de la cual podrán obtener los datos necesarios para sus nodos de entrada, como así también guardar los resultados.
Redes Neuronales: el Agente posee una lista de Redes Neuronales especializadas. El Sistema, como parte de las actividades de inicialización, carga aquellas Redes que el anestesiólogo considere adecuadas incluir. Todas ellas heredan las propiedades y los métodos de una RedNeuronal abstracta, que establece el único método al que responderán: ejecutarRed(). Todos los otros métodos son abstractos y se implementan por cada una de las Redes Neuronales específicas. Como propiedades principales de cada Red, se encuentran el conjunto de matrices y vectores que modelan sus nodos. Cada vez que una Red recibe el mensaje enviarRed(), si está activa, realiza las siguientes actividades: Carga las series temporales desde la Base Señales; Preprocesa los datos de entrada; Ejecuta la Red Neuronal, asignando los datos de entrada a cada uno de los nodos del vector de entrada y multiplicando por la matriz de pesos de cada Red, obteniendo el vector de salidas correspondiente y finalmente analiza los resultados y los guarda en la Base Señales.
Todas las Redes especializadas conforman una biblioteca de Redes Neuronales artificiales, entrenadas cada una para el reconocimiento de casos clínicos particulares. Estas Redes permiten hacer un análisis multivariado no lineal sobre distintos datos provenientes del paciente, y reconocer el tipo de patologías para las cuales fueron entrenadas. Las Redes utilizadas son del tipo Perceptron Multicapas.
La topología del conjunto de Redes Neuronales es heterogénea, debido a que cada una es específica para cada patología, buscando la mejor performance en el reconocimiento de patrones. Todas, no obstante requieren como entrada valores numéricos de datos, agrupados en vectores de 1 x N, donde N depende de cada problema específico y representa el número de entradas de cada red. Los datos que conforman las entradas de cada Red pueden provenir de dispositivos diferentes. La fuente principal de estos datos la constituyeron los monitores multiparamétricos, que brindan por un lado índices fisiológicos numéricos y por el otro, series temporales que representan señales vitales. El detector implementado utiliza "on-line" ambos tipos de datos.
Para emplear señales dadas por series temporales (ECG, EEG, etc. ) como entradas de Redes Neuronales, es conveniente implementar una reducción dimensional como requisito previo. La complejidad de esta tarea depende de las características de cada señal, por lo que se realizó el siguiente análisis: la señal de ECG se puede caracterizar a través de segmentos morfológicos característicos, como intervalo R-R, duración del segmento S-T, altura del complejo QRS, etc. , mientras que la señal de EEG no presenta tales características morfológicas y se hace necesario recurrir a técnicas como transformadas de Fourier, análisis de caos, transformada wavelets, etc. Específicamente, en el SII se utilizaron los conceptos de Entropía en sus diferentes formas y el Análisis Espectral de la señal de EEG, a fin de inferir la profundidad anestésica.
En la literatura aparecen diferentes tratamientos para la reducción dimensional de señales fisiológicas empleadas por Redes Neuronales; en este caso, para la detección de Hemorragia Aguda, el detector desarrollado a partir de la señal de ECG determina la frecuencia cardíaca y utiliza este índice como una de las entradas.
No sólo es importante considerar una adecuada forma de representación de las series temporales, sino también la calidad del proceso de adquisición de las mismas. Entre los factores que condicionan este proceso se encuentran: tipo de sensores o método de registro empleados para obtener las señales vitales, sistema de adquisición (resolución de los conversores A/D, frecuencia de muestreo, ancho de banda de las señales, etc. ), medio donde se realizan las pruebas (que influencia la relación señal ruido de los registros), algoritmo de detección morfológico, etc.
Estas características influyen en los resultados de las Redes Neuronales debido al proceso de aprendizaje que éstas poseen. La red aprende o asimila las características del patrón a detectar, a través de la presentación sucesiva de datos de entrada. Así, por ejemplo, si durante el entrenamiento de la Red todas las muestras de una subclase particular están contaminadas por niveles significativos de ruido de características similares, la red aprenderá ciegamente tales características. Al emplear más tarde la red, si el patrón aprendido por error no aparece junto al patrón real, la red puede fallar y no detectarlo. Esto hace indispensable que las características de los datos empleados durante la fase de entrenamiento sean similares a las que mostrarán los datos presentados durante la utilización de la red.

III.6.2. Aplicación al Caso de Referencia
No existe una única variable que evidencie la presencia de una Hemorragia Aguda; estas condiciones del paciente generan la desviación anormal de varios parámetros de manera conjunta. Los monitores convencionales no están preparados para una detección directa de la Hemorragia Aguda y generalmente producen alarmas simultáneas, alertando acerca de las diferentes situaciones de manera independiente. Esto, si bien determina el alerta del profesional médico, no le informa de la causa real del problema, y le puede producir confusión. Además, dado que la Hemorragia Aguda es un caso crítico y ocasional, los profesionales médicos pueden afrontar problemas muy difíciles frente a este cuadro.
A continuación se describen los resultados obtenidos con Redes Neuronales, sobre el caso de referencia Hemorragias Agudas.
Con los datos obtenidos para diferentes casos de HA, 100ml/min, 300 ml/min, 500 ml/min, 700ml/min y 900ml/min, se conformaron los patrones para el entrenamiento y testeo de Redes Neuronales del tipo Perceptrón Multicapa.
Los datos que conformaron los patrones, corresponden a las siguientes variables medidas: Frecuencia Cardíaca, Presión Sistólica, Presión Diastólica, Volumen Eyectado, Saturación de Oxígeno, Saturación de Dióxido Carbónico y Temperatura.
En un primer caso, los parámetros corresponden a un paciente en condiciones normales y que aproximadamente a los 18 minutos de registro, comienza con una hemorragia de 100 ml/min.
En un segundo caso; se analizó una situación similar, pero ahora el paciente luego de tres minutos de registro, comienza con una Hemorragia de 700 ml/min.
Se destaca que para el primer caso (hemorragia de 100 ml/min), la simulación es de más de treinta minutos, en tanto que la segunda (hemorragia de 700 ml/min) dura poco más de seis minutos.
Para entrenar las Redes se utilizaron los siguientes datos: Paciente sin Hemorragia (229 datos), Paciente con Hemorragia de 100 ml/min (106 datos), de 300 ml/min (35 datos), de 500 ml/min (25 datos), de 700 ml/ min (15 datos) y de 900 ml/min (19 datos) y sus derivadas. De tal forma es posible tener en cuenta las tendencias de cada variable y permitir anticipar las situaciones críticas, aspecto este de suma importancia, teniendo en cuenta que se trata de situaciones donde el profesional dispone de un tiempo muy reducido para tomar las decisiones.
Como consecuencia de este entrenamiento, la capa de entrada de la Red posee 16 neuronas. La capa intermedia quedó conformada con 12 neuronas con función de activación logística y la capa de salida con una neurona con función logística. La red se entrenó mediante el método de Backpropagation y se utilizó un valor 0.5 tanto para el parámetro de Aprendizaje, como el de Momento.
Por último, en lugar de colocar la derivada entre los patrones, se trabajó en forma más cualitativa, incluyendo solamente su signo, un uno si la derivada era mayor o igual que cero o un cero si la derivada era menor que cero.
Los mejores resultados se obtuvieron para la segunda configuración y aparecen en la Tabla I.

Tabla I

En una nueva etapa y para evaluar el comportamiento de la Red frente a situaciones que pudiesen confundirse con Hemorragia, se simularon situaciones de pacientes con cuadros de Hipotensión: Hipotensión leve (HL), Hipotensión media (HM); e Hipotensión severa (HS). La cantidad de datos obtenida para cada caso son las siguientes: HL: 270 datos, HM: 360 datos; HS: 210 datos.
Se formó entonces un nuevo conjunto de entrenamiento que poseía datos de pacientes no anestesiados, sin Hemorragia, con Hemorragias de 100, 300, 500, 700, 900 ml/min (los mismos utilizados en los entrenamientos anteriores) y datos de pacientes con Hipotensión leve, media y severa. Se utilizaron 180 patrones de cada grupo.
El 80% de estos datos se utilizaron para el entrenamiento de la red, en tanto que el 20% restante se utilizó con fines de prueba. Esta Red quedó conformada por 8 neuronas en la capa de entrada con función de activación lineal, 12 neuronas en la capa intermedia con función de activación logística, y una neurona en la capa de salida, también con función de activación logística. Nuevamente la red se entrenó mediante el método de Backpropagation y tanto el parámetro de aprendizaje, como el término de momento utilizados fueron de 0.5. Los resultados obtenidos para este caso se presentan en la Tabla II. Se puede observar que el porcentaje de efectividad de la red sigue siendo muy alto.

Tabla II

Ya demostrada la capacidad de la red para reconocer situaciones de Hemorragia en pacientes no anestesiados, finalmente se evaluó su capacidad para reconocer situaciones de Hemorragia en pacientes anestesiados con fentanilo 100 mg, pancuronio 1 mg, tiopental sodico 280 mg, y suxinilcolina 100 mg.
La simulación se realizó para pacientes anestesiados sin Hemorragia y para pacientes anestesiados con Hemorragias de 100 ml, 500 ml y 900 ml. La cantidad de datos para este caso se distribuyen de la siguiente forma: Pacientes sin Hemorragia (330 datos), Pacientes con Hemorragia de 100 ml/min (660 datos), de 500 ml/min (210 datos), de 900 ml/min (150 datos).
Se formó para este caso un conjunto de entrenamiento que poseía 150 patrones de cada grupo.
El 80% de estos datos se utilizaron para el entrenamiento de la red, en tanto que el 20% restante se utilizó con fines de prueba. La Red quedó conformada por 8 neuronas en la capa de entrada, con función de activación lineal, 12 neuronas en la capa intermedia con función de activación logística, y una neurona en la capa de salida, también con función de activación logística.
Por último se agregó al conjunto de entrenamiento, datos de personas que sufren un cuadro de Hipotensión, por tener sintomatología similar, el 80% de estos datos se utilizaron para el entrenamiento de la red, en tanto que el 20% restante se utilizo con fines de prueba. Los resultados se presentan en la Tabla III.

Tabla III

Si bien la performance de las redes entrenadas con datos de pacientes bajo anestesia pueden parecer sorprendentes, ya que se registra un muy bajo error en la clasificación, este elevado porcentaje de aciertos de las Redes Neuronales Perceptrón Multicapa en pacientes anestesiados se debe a la disminución de la actividad de los diferentes mecanismos fisiológicos reguladores de las variables monitoreadas. Esto puede interpretarse como una disminución del ruido en la señal monitoreada, lo que facilita la tarea de clasificación de estados del paciente por parte de las Redes Neuronales. En consecuencia, la fase de mantenimiento resulta un contexto adecuado para el uso de Redes Neuronales, en la detección de situaciones complejas durante una cirugía.
Los resultados obtenidos en esta primer etapa son buenos, pues las Redes Neuronales entrenadas no solo fueron capaces de diagnosticar una HA, sino también de clasificarlas de acuerdo a la cantidad de flujo de sangre en pérdida, con un alto porcentaje de aciertos.

III.7. Agente Guardián
La función del Agente Guardián (AG) se definió como: "poner en funcionamiento los Agentes que tienen relación con funciones de diagnóstico dentro del Sistema, sólo cuando existan indicios de un evento no esperado o una tendencia que pueda alterar la fase de mantenimiento, respecto del estado de referencia elegido por el anestesiólogo". La idea motivadora para la inclusión de un Agente de este tipo es que el sistema opere de forma eficiente, realizando las funciones de diagnóstico sólo ante la existencia de indicios de que el proceso tienda a irse fuera de control durante la etapa de mantenimiento y como una forma de reducir las falsas alarmas.
Los Agentes relacionados con la tarea de diagnóstico son el Agente Diagnosticador, el Agente Validador y el Agente Supervisor.
Una problemática presente en diferentes ámbitos la constituyen los distintos criterios sobre lo que se considera "normal", como para poder formalizarlo e incorporarlo a un sistema como éste. Sin embargo, es usual en el ámbito anestesiológico tener como referencia el comienzo del proceso o el comienzo de la etapa de mantenimiento, una vez que los parámetros sensados del paciente se encuentran estabilizados. Teniendo en cuenta tanto la funcionalidad planteada para este Agente como las consideraciones antes mencionadas, es que se propone construir el modelo para el AG de forma tal que capture la referencia al comienzo de la etapa de mantenimiento, para cada paciente y proceso en particular. Por lo tanto, la función del AG será indicar, lo más tempranamente posible, algún indicio de que el paciente se aleje de dicha referencia, dejando la función de especificar el motivo de dicho alejamiento a los demás Agentes. En relación a esto último, se considera apropiado utilizar las herramientas disponibles del Control Estadístico de Procesos Multivariados. Estas herramientas permiten construir un modelo estadístico que refleje la interacción de las variables a partir de los datos adquiridos para el paciente y el proceso anestesiológico monitoreado.
Un inconveniente muy frecuentemente señalado en la literatura del tema es la interpretación de señales de fuera de control, ya que en cualquiera de los procedimientos multivariados descriptos es bastante dificultosa. El problema más importante que surge es la identificación de la(s) variable(s) responsable(s) de esa señal. En el caso del AG, este inconveniente no afectó su diseño, ya que la tarea de identificar la/s señal/es responsables está a cargo del Agente Diagnosticador y el Agente Validador.
El estadístico T2 está basado en la observación más reciente, siendo insensible a cambios pequeños o moderados en el vector de medias del proceso. El principal problema práctico que surge con estos gráficos es su falta de robustez, ya que son sensibles a los outliers multivariados. Éstos son observaciones (X) que tienen grandes valores de T2, aunque ninguna componente del vector sea considerada un outlier en un test univariado. Para resolver este problema, una vez adquiridas un número de muestras N (N>30), se procedió a filtrar los outliers multivariados utilizando la estadística Chi-cuadrado.
Los métodos MEWMA y MCUSUM tienen como ventaja que van considerando las observaciones anteriores, lo que a priori permite detectar cambios pequeños o moderados. Sin embargo, en relación a T2, requieren definir parámetros de diseño, que no se obtienen directamente de los datos. Teniendo en cuenta todas estas consideraciones para el diseño del AG, se consideraron los métodos T2 de Hotelling y MEWMA con filtrado de outliers y transformación.

III.7.1. Diagrama de bloques del Agente
En función del análisis del dominio del problema, de la funcionalidad del AG y de las metodologías, se propuso el diagrama de bloques de la Fig. 7 .


Fig. 7. Diagrama de Bloques del Agente Guardián

III.7.1.1. - Filtro Outliers
Los datos adquiridos durante el comienzo de la etapa de mantenimiento, pueden contener una o más observaciones multivariable inusuales o que no pertenecen al patrón de variabilidad producido por las otras observaciones, a las que se denominan outliers.
Dentro del AG se deben detectar los outliers automáticamente, luego de adquiridas las observaciones. En este sentido, un valor "grande" de la distancia estadística es un indicador de que una observación es un outlier multivariable, definiendo distancia estadística "grande" mediante un percentil apropiado de la distribución Chi-Cuadrado, con p grados de libertad. En nuestro caso, p es el número de variables y el percentil apropiado está determinado por el nivel de confianza alfa utilizado. En función de lo antes mencionado, el filtro es aplicado iterativamente:

hasta que todas las observaciones a considerar para construir cumplen con la ecuación FO.
Los métodos descriptos para establecer si el proceso controlado tiende a irse fuera de control asumen que las observaciones poseen una distribución multivariada aproximadamente normal. En la mayor parte de las aplicaciones son suficientes análisis unidimensionales y/o bidimensionales. Además, en general, conjuntos de datos "patológicos" se distribuyen normalmente en bajas dimensiones, pero no normalmente en altas dimensiones.
Una alternativa para cumplir con esta condición es aplicar una transformación a las observaciones, para que la distribución de las mismas transformadas se aproxime a la distribución normal. Esta transformación se incluye, dado que a priori no se sabe cuál será la distribución de los datos para cada caso. Lo que si se sabe a priori es que durante el proceso anestesiológico se intenta mantener los valores de las observaciones alrededor de algún valor y con una variabilidad propia de cada paciente. La transformación utiliza el comportamiento de expansión y/o compresión de funciones matemáticas, para modificar la distribución original de frecuencias, de manera que ésta se aproxime a la distribución normal, reduciendo la tasa de falsas alarmas.

III.7.2. Aplicación sobre el Caso de Referencia
Los casos utilizados para el desarrollo del AG consisten en secuencias temporales, en los cuales los parámetros están estables hasta que ocurren los siguientes eventos:

Caso 1: Hemorragia Aguda estimada en 500 ml/min.
Caso 2: Hemorragia Aguda estimada en 500 ml/min. simultáneamente con una Embolia
Caso 3: Neumotórax y luego de un minuto una Hemorragia Aguda estimada en 500 ml/min.

Las señales adquiridas corresponden a las siguientes variables: Frecuencia cardiaca (HF en lpm,), Saturación parcial de Oxigeno (SPO2%), Dióxido de carbono (CO2%), Frecuencia respiratoria (RR en rpm), Temperatura (T en ºC) y Presión invasiva (PA mmHg), de la cual a su vez se extrae las presiones sistólicas y diastólicas (PAS y PAD).
Los datos adquiridos, para las primeras N muestras de señal (se tomo N = 40), en general no presentaban outliers, salvo en el Caso 3, en el cual el filtro eliminó 2 muestras multivariables, lo que no afectó significativamente los valores de media y desvío de las variables. En cuanto a los resultados de la transformación, cabe aclarar que la mayor parte de las variables tienen una distribución aproximadamente normal. Se aplicó el esquema descrito anteriormente, con tres niveles de ARL: 200, 500 y 1000 (con δ = 3), a los tres casos 1, 2 y 3. En la Tabla IV se presentan los tiempos de detección para cada uno de los casos, para los diferentes ARL

Tabla IV. Tiempos de detección (en segundos)

En la Fig. 8 se observa la evolución de las señales del Caso 1 y las señales de control para el T2 y MEWMA.


Fig. 8. Evolución de las señales del Caso 1 y de las señales de control

En los tres casos se observa que, para la condición de diseño de un nivel mínimo de falsas alarmas de 200 muestras (alfa = 1/200), la técnica MEWMA se anticipa a la detección del T2 entre 14 y 18 seg. La detección mediante el estadístico T2 ocurre aproximadamente en forma simultánea con el comienzo de signos claros de presencia de un evento crítico, como se observa en la Fig. 8, por lo que la detección con MEWMA permitió ganar tiempo para analizar las causas del evento, las cuales segundos más adelante se van a evidenciar más claramente.

III.8. Agente Validador
Para desarrollar el Agente Validador, se trabajó empleando el concepto de análisis de los datos desde diferentes niveles de interpretación. Este enfoque consiste en estudiar los datos de los que se obtiene información, desde diferentes puntos de vista, buscando inconsistencias en alguno de ellos. Se parte considerando los datos de manera aislada y se intenta determinar la validez de los mismos buscando detectar artefactos que hayan podido ser responsables de los hallazgos del Diagnosticador, o eliminando aquéllos que no hayan sido filtrados previamente, para reducir la posibilidad de falsas alarmas. En el nivel de detección de artefactos, se trata de establecer si los valores que se miden son válidos desde una interpretación fisiológica. El primer concepto que se emplea para determinar dicha validez es el de rango fisiológico admisible, que representa los umbrales de los índices vitales aceptados como compatibles con la vida. Así, el rango fisiológico permite inferir que una señal es inválida, si sus valores se encuentran fuera de ese límite.
Además, en este nivel de interpretación se hace un análisis de los datos en sus aspectos temporales, dado que aun cuando se encuentren dentro de los rangos fisiológicos, su dinámica puede no ser factible fisiológicamente. Para ello se consideran características morfológicas de la señal.
Los artefactos (componentes no deseados de la señal medida) pueden ser producto de ruido que interfiere con la señal o estar relacionados con distorsiones introducidas por los dispositivos de medición. En ambos casos se debe establecer si los diagnósticos efectuados no fueron sesgados, producto de estos componentes indeseados.
Para realizar estas tareas de validación, el Agente Validador dispone de tres módulos: el módulo de Validación de Lecturas, el módulo de Validación Contextual y el módulo Constructor de Alarmas y Advertencias. El primero se encarga de constatar la validez de los resultados del diagnóstico, analizando la calidad y posibles artefactos en las señales empleadas por el Diagnosticador. El segundo módulo determina la viabilidad del diagnóstico hallado, a la luz del contexto en el que se da el proceso anestesiológico (tipo de cirugía, drogas suministradas, estado actual del paciente, probabilidad de ocurrencia de dicho evento, etc. ), o si ello no es posible, una explicación de los mecanismos más probables, que podrían haber llevado al evento alarmable, mediante el modelado con Redes Bayesianas. Finalmente, el módulo Constructor de Alarmas y Advertencias es el encargado de elaborar los mensajes que este agente enviará al Agente Generador de Alarmas.
El riesgo de la presencia de ruido en las señales debido a una falla en los sensores, cables, interferencias externas o internas y fallas del equipo de monitoreo, se incrementa a medida que se utilizan más señales simultáneamente. El objetivo de este módulo es servir de filtro que reduzca la probabilidad de falsas alarmas, haciendo un análisis basado en conocimiento de las señales para establecer su validez.
El módulo propuesto para esta tarea consiste en una serie de procesadores de señales fisiológicas en paralelo, integrados a un Sistema Experto Borroso. Los procesadores fisiológicos toman los datos que vienen en forma de señales fisiológicas y las analizan extrayendo índices que caracterizan dichas señales. Estos índices y los datos que originalmente tenían la forma de índices, son representados en forma cualitativa. Entre los procesadores de señales fisiológicas se encuentran el detector de intervalos RR (a partir de la señal de ECG), detectores de presión arterial sistólica, presión arterial diastólica, presión arterial media y frecuencia de pulso (a partir de la señal de presión arterial invasiva) y la frecuencia de pulso (a partir del oxímetro de pulso). Además de estas características se extraen parámetros referentes a la dinámica de las señales y vinculados a sus tendencias.

IV. Conclusiones

Comenzando con los aspectos informáticos del desarrollo del Sistema de Información, se concluye que la elección de una Arquitectura Multi Agente, fue una decisión totalmente apropiada, por la modularidad y adaptabilidad que esta estructura ha permitido.
De tal forma, durante todo el transcurso del desarrollo del Sistema se han visto facilitados los cambios y modificaciones que necesariamente surgen en una implementación con tanta complejidad, como consecuencia de la variabilidad de las situaciones, que requirieron, en algunos casos, de la verificación de diferentes metodologías.
Estos cambios en las metodologías de modelado de diferentes Agentes, se realizaron sin mayores complicaciones en la arquitectura general del Sistema desarrollado, dada la modularidad de la misma. Se destaca que estas modificaciones realizadas durante el avance del desarrollo, prácticamente tampoco complicaron lo desarrollado en los restantes Agentes, ni a la Lógica de Funcionamiento de los mismos, como así tampoco el proceso de intercomunicación entre Agentes.
Por otro lado, la utilización de la metodología Gaia permitió estructurar el desarrollo del Sistema, aplicando el concepto de roles para guiar el descubrimiento de funciones del Sistema, a través de la descripción de procesos y sus respectivas actividades, para alcanzar la meta. Esta herramienta resultó útil, al permitir obtener buenos resultados mediante la identificación de detalles que hubiese sido muy difícil determinar aplicando un modelo ad-hoc. Además, permite desarrollar una comprensión del Sistema y su estructura, sin hacer referencia a detalles de implementación. Por su parte, hizo posible que el desarrollo de cada Agente resuelva una problemática independiente, con aspectos de procesamiento de datos, metodologías y objetivos propios, siendo el Sistema Mutiagente lo que permitió la total integración y complementación de los resultados de cada Agente, que resultó en una consolidación de las conclusiones que muestra el Sistema al usuario.
Finalmente el diseño de las interfases gráficas, basadas en necesidades del usuario, presentan y toman en cuenta la forma habitual de trabajo de los usuarios. La interfaz apropiada consideró una eficiente visualización de las conclusiones, advertencias y alarmas generadas por el Sistema, teniendo en cuenta la variabilidad de las situaciones en desarrollo del Sistema Informático. Para ello se tuvieron en cuenta aspectos relevantes de los procesos anestesiológicos en sus diferentes fases (inducción, mantenimiento y despertar), más que en la resolución de una situación específica. También se analizó la eficiencia de la ejecución del Sistema, desde el punto de vista informático, tratando que la activación de algunos de los Agentes se produzca solamente cuando la situación así lo requiera. De tal forma se mantienen solamente activos, en forma permanente, aquéllos que realizan un seguimiento del estado general del proceso anestesiológico. Sin embargo se ha tratado de anticipar, dentro de lo posible, las situaciones de emergencia, mediante la identificación de tendencias de desvíos no deseados.

Referencias bibliográficas

1. BLOCK, F; SCHAAF C. (1996). Auditory alarms during anesthesia monitoring with an integrated monitoring system, en: International Journal of Clinical Monitoring and Computing, Vol 13, Nº 2: 81-84.         [ Links ]

2. COOK R. , WOODS D. (1996). Adapting to new technology in the operating room, en: Human Factors, Vol 38, Nº 4:593-613.         [ Links ]

3. DE GRAAF, P. , VAN DEN EIJKEL G. , VULLINGS H. , DE MOL B. (1997). A decisiondriven design of a decision support system in anesthesia, en: Artificial Intelligence in Medicine Vol. 11, Nº 2:141-153.         [ Links ]

4. GRAHAM, A. (1998). US Food and Drug Administration: adverse event reports associated with anesthesia devices, en: CRNA Vol. 9 Nº 4:39-142.         [ Links ]

5. HAYKIN S. . (1999) Neural Networks. A comprehensive Foundation. New Jersey: Macmillan College Publ.Co. :50-111.         [ Links ]

6. KOSKI E. , MAKIVIRTA A. , SUKUVAARA T. , KARI A. (1992). Frequency and reliability of alarms in the monitoring of cardiac postoperative patients, en: International Journal of Clinical Monitoring and Computing, Vol 7, Nº 1: 129-133.         [ Links ]

7. MYLREA K. , ORR J. , WESTENSKOW D. (1993). Integration of monitoring for intelligent alarms in anesthesia: neural networks, can they help?, en: Journal of Clinical Monitoring, Vol 9, Nº 1:31-37.         [ Links ]

8. ORR J. , WESTENSKOW D. (1994). A breathing circuit alarm based on neural networks, en: Journal of Clinical Monitoring, Vol 10, Nº 2:101-109.         [ Links ]

9. OSHITA S. , NAKAKIMURA K. , SAKABE T. (1994). Hypertension Control During Anhesthesia, en: IEEE Engineering in Medicine and Biology, Vol. 13, Nº5:667-670.         [ Links ]

10. RAU G. , BECKER, K. , KAUFMANN R. , ZIMMERMMAN H. (1995). Fuzzy logic and control: principal approach and potencial applications in medicine, en: Artificial Organs Vol. 19, Nº 1:105-112.         [ Links ]

11. SCHECKE T. , LANGEN M. , POPP H. , RAU G. KASMACHER H. , KALFF G. (1994). Knowledge-based decision support for patient monitoring in cardioanesthesia, en: International Journal of Clinical Monitoring and Computing, Vol 9, Nº 1:1-11.         [ Links ]

12. WIKLUND L. , HOK B. , STAHL K, JORDEBY J. (1994). Postanesthesis monitoring revisited: frequency of true and false alarms from different monitoring devices, en: Journal Clinical Anesthesia, Vol. 6, Nº 3: 182-188.         [ Links ]

13. WOLF M. , KEEL M. , BUCHER H. ; GEERING K. , LEHAREINNGER Y. , NIEDERER F. (1996). Improved monitoring of preterm infants by Fuzzy Logic, en: Technol. Health Care, Vol. 4, Nº 2: 193-201.         [ Links ]

14. WOOLDRIDGE M. , JENNINGS N.R. , KINNY D. (2000). The GAIA Methodology for Agent- Oriented Analysis and Design, en: J. of Autonomous Agents and Multi-Agents Systems. Vol 3(3): 285-312        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License