Revista de Investigación y Desarrollo Un sistema experto para diagnosticar enfermedades comunes. Caso: Hospital Rezola de Cañete Marco A. Coral1, Raúl García2 [email protected], [email protected] 1 Docente de la Facultad Ingeniería de Sistemas, Cómputo y Telecomunicaciones, de la Universidad Inca Garcilaso de la Vega 2 Alumno del curso: Proyectos Informáticos I del Sistema a Distancia de la Facultad de Ingeniería de Sistemas, Cómputo y Telecomunicaciones de la Universidad Inca Garcilaso de la Vega Av. Bolívar 1848 – Pueblo Libre, Lima, Perú Resumen: Los sistemas expertos son utilizados también como sistemas de diagnóstico. Estos proporcionan información breve y concisa para identificar una situación, una enfermedad o para resolver un problema puntual de cualquier tipo. Estos sistemas pueden identificar, de forma objetiva y sin errores, un problema [8] o realizar un diagnóstico médico según su programación. En la actualidad, los sistemas expertos son considerados como la mejor alternativa para desarrollar software de apoyo a los procesos de atención medica, ya que permiten realizar, de forma clara y sin errores, diagnósticos médicos según los síntomas que describen los pacientes. El trabajo presenta un sistema experto de diagnóstico, basado en el método de encadenamiento progresivo para el uso del Hospital Rezola de Cañete. Este sistema maneja una base de conocimientos, una base de hechos y un motor de inferencia con un algoritmo definido como ´todas las soluciones-con prioridad. Palabras clave: Sistemas de diagnóstico, síntomas, sistemas expertos, encadenamiento progresivo, algoritmo. Abstract: Expert systems are also used as diagnostic systems, they provide short, concise information to identify a situation, a disease or to solve a specific problem of any kind, these systems can identify objectively and error problem [8] or make a medical diagnosis as programming. At present the expert systems are considered as the best alternative to develop software to support medical care processes, as they allow a clear and error free medical diagnoses based on symptoms that patients describe. This paper presents a diagnostic expert system based on the chaining method for using Rezola Hospital of Cañete, this system manages a knowledge base, a fact base and an inference engine with an algorithm defined as all solutions-with priority. Keywords: Diagnostic systems, symptoms, expert systems, forward chaining, algorithm. 1. Introducción Un sistema experto puede deÞnirse como un sistema inform‡tico que imita a los expertos humanos en un área de especialización dada [8], [9], [15]. Por esta razón, el sistema debe ser capaz de procesar y memorizar información, aprender y razonar en situaciones definidas, tomar decisiones y explicar las razones de dichas decisiones [9]. En la actualidad, los sistemas expertos presentan enormes ventajas en sistemas de diagnóstico, tanto en el campo médico como en la industria, y son de mucha utilidad para usuarios o pacientes donde el acceso a servicios médicos es escaso. En el Hospital Rezola, de Cañete, los pacientes deben esperar durante tiempos muy grandes para acceder a consultas personalizadas con los médicos de turno. La escasez de médicos impide que la mayoría de los pacientes accedan a atención médica. Por otra parte, los médicos de la institución necesitan apoyo en los procesos de diagnóstico a pacientes con enfermedades comunes. En el presente trabajo, se propone un sistema experto útil para diagnosticar enfermedades comunes en el Hospital Rezola, de Cañete. La idea consiste en tener una herramienta de apoyo para los médicos de dicha institución ante los masivos requerimientos de diagnóstico. El sistema propuesto precisa de una base de conocimientos [4], [6], [9] (serie de Reglas <Antecedente 1, Antecedente 2 " Consecuentes>), una base de hechos (proporcionado de acuerdo con el caso) y un método o heurística [14] con el cual el motor de inferencia determine Vol. 02, N° 01. Junio 2014 76 Revista de Investigación y Desarrollo REVISTA DE INVESTIGACIÓN Y DESARROLLO EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN | VOL. 2 | N° 1 | OCTUBRE 2014 los resultados para cada caso [13], [15]. En el siguiente apartado, se presenta una breve referencia de los sistemas de diagnóstico y en sucesivos apartados se dan a conocer los sistemas expertos, la lógica desarrollada con el método de encadenamiento progresivo, la construcción de la base de conocimiento, la elaboración del algoritmo y su corrida respectiva y, finalmente, las conclusiones. 2. Los sistemas de diagnóstico Los sistemas de diagnóstico son considerados importantes por su capacidad de utilizar la experiencia adquirida a partir del conocimiento humano. Son sistemas que basan su análisis en datos seguros [19]. El razonamiento solo será válido cuando descanse sobre nociones exactas y hechos precisos, pero cuando no se cumplen estos principios los resultados siempre serán erróneos. Estos sistemas pueden tener la capacidad de aprender y esta capacidad depende de su programación. Una forma de desarrollarlos es utilizando la lógica de un sistema experto. Los sistemas expertos Los sistemas expertos proceden inicialmente de la inteligencia artificial, la cual puede ser definida como un conjunto de cualidades informáticas que presentan características similares a la inteligencia humana, lo que le posibilita resolver problemas a través de la percepción, el entendimiento, el aprendizaje y el razonamiento [16]. Estos sistemas están constituidos por una serie de elementos que, unidos entre sí, pueden encontrar respuesta a casos concretos formulados o sometidos a consideración. Estos elementos son: - Una Base de Conocimientos e información especializada. - El Motor de Inferencia, que procesa de manera lógica los datos consignados en la base de conocimientos. - El Editor de Conocimientos, que realimenta la base de conocimientos. - Un Dispositivo de Explicación, que explica de manera clara el itinerario de la solución del problema planteado. Los sistemas expertos están enfocados a un dominio específico donde se busca simular el razonamiento de un experto humano [7], y son buenos para predecir resultados futuros a partir del conocimiento que tienen [4], [13]. Una de sus características principales es la separación entre conocimiento (reglas, hechos), por un lado, y su procesamiento, por otro. A ello se añade una interfaz de usuario y un componente explicativo de donde se desprende la arquitectura clásica [1], [11]. Base de Conocimiento Módulo de Adquisición de Conocimiento Módulo de Explicación Interfase Usuario Motor de Inferencia Base de Hechos Adquisición de Conocimiento Representación del Conocimiento Tratamiento del Conocimiento Utilización del Conocimiento Figura 1. Arquitectura de un SE (Sistema Experto). Basado en [1], [11] Vol. 02, N° 01. Junio 2014 78 77 Revista de Investigación y Desarrollo UIGV U N I V E R S I D A D I N C A G A R C I L A S O D E L A V E G A 3. Caso de estudio El Hospital Rezola, de Cañete, Perú, presenta serios problemas en los procesos de atención médica debido a la escasez de médicos y la masiva concurrencia de pacientes. El número de médicos no es suficiente para atender todos los servicios solicitados y se generan retrasos y deficiencias en los procesos de la institución. Para coadyuvar a la solución de este problema, se propone desarrollar un sistema experto basado en el método de encadenamiento progresivo [15], como sistema de diagnóstico para ser utilizado como ayuda en los procesos de atención médica de la institución. Este sistema utilizará premisas para reglas definidas previamente, las cuales representarán las enfermedades comunes y los posibles tratamientos y recomendaciones que deben prescribirse [17]. Para ello, definimos los síntomas asociados a las diferentes enfermedades comunes y su posible tratamiento y luego construiremos una Base de Conocimiento (serie de Reglas <Antecedente 1, Antecedente 2 " Consecuentes>) [13], una Base de Hechos (proporcionado de acuerdo con el caso) y definiremos el algoritmo basado en encadenamiento progresivo. 3.1. Definición de las características del sistema En la Tabla Nº 1, se plasman algunas características relevantes para el uso del sistema y se definen los síntomas asociados a las enfermedades comunes más tratadas y su posible tratamiento, que también serán utilizados para construir las reglas de la Base del Conocimiento. Por razones de espacio, detallamos solamente algunas enfermedades consideradas en las pruebas. LISTA DE SÍNTOMAS Fiebre Tos Dolor de garganta Dolor muscular Mucosidad nasal Fatiga Fiebre Tos Dolor de garganta Mucosidad nasal Fiebre Tos Falta de aliento Sudoración Escalofrío Dolor en el pecho Tos(moco) Fatiga Tos Pérdida de peso Cansancio Pérdida de apetito Goteo nasal carraspera Nariz tapada Fiebre Estornudos Dolor de garganta Dificultad en la deglución 1 ENFERMEDADES E1:INFLUENZA Dolor de cabeza E2:GRIPE Escalofrío Fatiga Náuseas / vómitos Dolor en el E3:NEUMONÍA pecho Dolor de cabeza Dolor muscular fatiga Fiebre E4:BRONQUITIS Dificultad respiratoria Sibilancia TRATAMIENTO T1: Compresas calientes varias veces al día y pomada antibiótica 2 o 3 veces por día. T2: La gripe simple no requiere ningún tratamiento, aparte de reposo. Las gripes complicadas necesitan antibióticos y, si es necesario, hospitalización. T3: Basado en la hospitalización y en la toma de antibióticos adecuados. T4: Se prescribe una 1 kinesiterapia respiratoria en el caso de bronquitis crónica, para aprender a tener una tos eficaz de modo que las secreciones no tapen los bronquios. Fiebre E5:TUBERCULOSIS T5: Basado en la Sudoración hospitalización, el aislamiento nocturna del enfermo, la declaración de Fatiga la enfermedad por el médico y los antibióticos antituberculosos. Dolor de E6:RESFRÍO T6: Se basa en el reposo, la garganta COMÚN reducción de las actividades sociales y la ingestión frecuente Tos de bebidas para combatir la Dolor de cabeza sequedad de la garganta y la Escalofrío Nariz sintada pérdida de líquido por la nariz. Dolor de cabeza E7:AMIGDALITIS T7: Se basa en el reposo y la Fiebre toma de antibióticos durante una semana, aproximadamente. http://www.oni.escuelas.edu.ar/2002/jujuy/salud/kinesiterapia.htm Vol. 02, N° 01. Junio 2014 78 79 Revista de Investigación y Desarrollo REVISTA DE INVESTIGACIÓN Y DESARROLLO EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN | VOL. 2 | N° 1 | OCTUBRE 2014 Sibilancia Tos Pulso rápido Sudoración profusa Cansancio con fiebre Falta de apetito Náuseas Dolor abdominal Erupción cutánea Dolor de cabeza Palidez de la piel con morados dispersos Dificultad respiratoria acompañada por sudores Opresión en pecho Dificultad respiratoria Ansiedad Dolores articulares La piel adquiere un color amarillo (ictericia) Orina oscura y heces se decolora Vértigos Zumbido de oídos Dolor de cabeza E8:ASMA T8: Se recomienda prescripción médica y hospitalización. E9:HEPATITIS VÍRICA T9: El médico debe declarar la enfermedad, aislar al enfermo y examinar a las personas de su entorno para descartar que padezcan la enfermedad. E10: ANEMIA T10: tratamiento de la afección que provoca la anemia según indique el doctor. Tabla Nº 1. Relación de síntomas, enfermedades y tratamiento. Elaboración: Propia ENFERMEDADES SÍNTOMAS S1: Fiebre S2: Tos S3: Dolor garganta S4:Dolor muscular S5:Mucosidad nasal S6: Dolor cabeza S7: Fatiga S8: Sudoración S9: Escalofrío S10: Falta aliento S11: Dolor pecho S12:Dificultad respiratoria S13: Sibilancia S14: Pérdida peso S15: Cansancio S16: Pérdida apetito S17: Sudoración nocturna S18: Goteo nasal S19: Carraspera S20: Nariz tapada S21: Nariz irritada S22: Dificultad deglución S23: Pulso rápido S24: Opresión en el pecho S25: Ansiedad S26: Náuseas / vómitos S27: Estornudos S28: Cansancio con fiebre E1 E3 E4 E5 E6 E7 E8 E9 E10 Sí Sí Sí Sí Sí Sí Sí No No No No No Sí Sí Sí No Sí Sí Sí No No No No No Sí Sí No Sí No Sí Sí Sí Sí Sí Sí No Sí Sí No No No No Sí No No No Sí Sí Sí Sí No No No No Sí No No No No No Sí Sí No No No No No No No No No No Sí No Sí No No Sí No No No No No No No Sí No No No No No No No No No Sí No No No No No No No No No No No No No No No No No Sí No Sí No No No Sí No No No No No No No No No No No No No No No Sí No No No No No Sí Sí Sí Sí No No No No No No No No No No Sí No No No Sí No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Sí Sí Sí Sí No No No No No Si No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Sí Sí No No No No No No No Sí No No No No No No No No No No Sí No No No No No No No No No No No No No No No Sí No No No No No No Sí No No Vol. 02, N° 01. Junio 2014 80 E2 79 Revista de Investigación y Desarrollo UIGV U N I V E R S I D A D I N C A G A R C I L A S O D E L A V E G A S29:Dolores auriculares S30: Falta apetito S31: Dolor abdominal S32:Erupción cutánea S33: Piel amarilla S34:Orina oscura y heces se decoloran S35: Palidez de piel con morados dispersos S36:Vértigos S37: Zumbido oído No No No No No No No No Sí No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Sí Sí Sí Sí Sí No No No No No No No No No No No No No No Sí No No No No No No No No No No No No No No No No No No Sí Sí Tabla No. 2: Lista de Síntomas Vs. Enfermedades. Elaboración: Propia Lista de Consecuentes terminales. Definido en [3], [5] y [2]. LCT (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10) 3.2. Método de encadenamiento progresivo 3.2.1. Ingreso de requerimientos (BC). Presencia=1; ausencia=0 Regla 1: SI S1=1 y S2=1 y S3=1 y S4 = 1 y S5 = 1 y S6 = 1 y S7 = 1 ENTONCES Diagnóstico = E1 SI Diagnóstico = E1 ENTONCES paciente= T1 Regla 2: SI S1 = 1 y S2 = 1 y S3 = 1 y S5 = 1 y S6 = 1 y S7 = 1 y S26 = 1 ENTONCES Diagnóstico = E2 SI Diagnóstico = E2 ENTONCES paciente= T2 Regla 3: SI S1 = 1 y S2 = 1 y S4 = 1 y S6 = 1 y S7 = 1 y S8 = 1 y S9 = 1 y S10 = 1 y S11 = 1 ENTONCES Diagnóstico = E3 SI Diagnóstico = E3 ENTONCES paciente= T3 Regla 4: SI S1 = 1 y S2 = 1 y S7 = 1 y S11 = 1 y S12 = 1 y S13 = 1 ENTONCES Diagnóstico = E4 SI Diagnóstico = E4 ENTONCES paciente= T4 Regla 5: SI S1 = 1 y S2= 1 y S7 = 1 y S14 = 1 y S15 = 1 y S16 = 1 y S17 = 1 ENTONCES Diagnóstico = E5 SI Diagnóstico = E5 ENTONCES paciente= T5 Regla 6: SI S1 = 1 y S2= 1 y S18 = 1 y S19 = 1 y S20 = 1 y S21 = 1 y S27 = 1 ENTONCES Diagnostico = E6 SI Diagnóstico = E6 ENTONCES paciente= T6 Regla 7: SI S1 = 1 y S3= 1 y S6 = 1 y S22 = 1 ENTONCES Diagnóstico = E7 SI Diagnóstico = E7 ENTONCES paciente= T7 Vol. 02, N° 01. Junio 2014 80 81 Revista de Investigación y Desarrollo REVISTA DE INVESTIGACIÓN Y DESARROLLO EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN | VOL. 2 | N° 1 | OCTUBRE 2014 Regla 8: SI S2 = 1 y S12= 1 y S13 = 1 y S17 = 1 y S23 = 1 y S24 = 1 y S25 = 1 ENTONCES Diagnóstico = E8 SI Diagnóstico = E8 ENTONCES paciente= T8 Regla 9: SI S28 = 1 y S29= 1 y S30 = 1 y S31 = 1 y S32 = 1 y S33 = 1 y S34 = 1 ENTONCES Diagnóstico = E9 SI Diagnóstico = E9 ENTONCES paciente= T9 Regla 10: SI S6 = 1 y S8= 1 y S12 = 1 y S35 = 1 y S36 = 1 y S37 = 1 ENTONCES Diagnóstico = E10 SI Diagnóstico = E10 ENTONCES paciente= T10 Las prioridades R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 son: 1 2 3 4 5 6 7 8 9 10 3.2.2. Algoritmo – Todas las Soluciones – Con prioridad 1. 2. 3. 4. Leer(BC); Leer(BH); Leer(Sol); S_disp ! True; Sol ! { }; Ordenar reglas. Mientras S_disp S_disp ! False Verificar c/regla no disparada de BC Si (se dispara una regla Rx de consecuente Cx) Entonces S_disp ! True, BH " BH + Cx Si Cx Є LCT Entonces Sol ! Sol + Cx; 5. Si Sol = { } 5.1 Entonces Escribir (“No se puede diagnosticar”), 5.2 Sino Escribir (“Soluciones=”, Sol); 3.3. Corrida del algoritmo y soluciones Caso 1: Ite Reglas no disparadas 0 R1, R2, R3, R4, R5, R6, R7, R8, R9, R10 1 Rx R1 Ex E1 BH S1, S2, S3, S4, S5, S6, S7 S1, S2, S3, S4, S5, S6, S7, E1, T1 /, R2 , R3, R4, R5, R6, R7, R8, R9, R10 R1 E1 Solución : E1, T1 Si BH => LCT (S1, S2, S3, S4, S5, S6, S7) => E1, T1 Tx T1 Cuando un paciente presenta fiebre, tos, dolor garganta, dolor muscular, mucosidad nasal, dolor cabeza y fatiga, se diagnostica influenza y se recomienda utilizar compresas calientes varias veces por día y pastilla antibiótica 2 o 3 veces por día. Caso 2: Ite Reglas no disparadas 0 R1, R2, R3, R4, R5, R6, R7, R8, R9, R10 1 Ex BH E10 S6, S8, S12, S35, S36, S37 S6, S8, S12, S35, S36, S37, E10, E10 T10 R1, R2 , R3, R4, R5, R6, R7, R8, R9, / R10 Solución : E1, T1 Si BH => LCT (S6, S8, S12, S35, S36, S37) => E10, T10 Vol. 02, N° 01. Junio 2014 82 Rx R10 Tx T10 81 UIGV U N I V E R S I D A D I N C A G A R C I L A S O D E L A V E G A Cuando un paciente presenta mucosidad nasal, sudoración, dificultad respiratoria, palidez de piel con morados dispersos, vértigos y zumbido oído, el diagnóstico es anemia y se prescribe tratamiento de la afección que provoca la anemia, según indique el médico. 4. Conclusiones Un sistema experto de diagnóstico proporciona apoyo a las decisiones médicas, sin la necesidad de reemplazar lo indicado por el médico tratante, ya que este siempre tendrá la última palabra. El conocimiento del sistema experto se ha obtenido basado en la experiencia y consulta a los especialistas en el área médica y se ha procurado representar de la manera más exacta lo indicado por dichos especialistas. El sistema propuesto está en proceso de desarrollo y será parte de la asignatura Proyecto Informático II. En este escrito, de manera muy resumida y simplificada, se ha presentado la lógica utilizada para realizar procesos de diagnóstico utilizando el mecanismo de inferencia de un sistema experto. Referencias bibliográficas [1]. Joseph Giarratano, Gary Riley. “Sistemas Expertos: Principios y Programación”. International Thomson. Editores (1998). [2]. G. Guida, C Tasso. “Design and Development of Knowledge Based Systems”. England: John Wiley & Sons. 1994. 476 p. [3]. M. Henao Calad. “CommonKADS RT: Una Metodología para el Desarrollo de Sistemas Basados en el Conocimiento de Tiempo Real”. Tesis Doctoral. Universidad Polit Universidad Politécnica de Valencia 2002. [4]. Omar Soriano Zárate, Antonieta Abud Figueroa. “Gestión del Conocimiento utilización de XML- para bases de Conocimiento XML y derivados: Estándares para un paradigma de bases de Conocimientos”. -IST de Orizaba Veracruz – México. Energía y ComputaciónEdición 22. [5]. D. Waterman. “A Guide to Expert”. United States of America. 1986. 419p. [6]. John F. Sowa. “Architectures for intelligent systems". IBM Systems Journal 41:3, 2002, pp. 331-349. [7]. Baltasar Fernández Manjón. “Sistemas de ayuda inteligente para entornos informáticos complejos”. Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. No.12 (2001), pp. 59-67. ISSN: 1137-3601. © AEPIA. [8]. Durkin, J. (1994), “Expert Systems: Design and Development”. Maxwell Macmillan, New York. [9]. Frye M J, Olynick D M, Pinkney R B. “Development of an expert system for the fire protection requirements of the national building code of Canada”. Construction Informatics Digital Library. Paper w78-1992-215. [10]. Jorge Salvador Ierache. “Sistema Experto Aplicado al Control del Espacio Aéreo”. Reportes Técnicos en Ingeniería del Software. Vol. 5(2). Pág. 41-91. 2003 ISSN: 16675002. © CAPIS-EPG-ITBA. [11]. Sierra, E., Hossian, A. y García-Martínez, R. “Sistemas Expertos que Recomiendan Estrategias de Instrucción: Un Modelo para su Desarrollo”. Revista Latinoamericana de Tecnología Educativa. Volumen 1 N° 1. Páginas 19-30. Facultad de Educación. Universidad de Extremadura. ISSN: 1695-288X. 2003. [12]. Gervás, P., San Miguel, B. “Un sistema experto basado en reglas para la automatización de la elaboración de horarios para un conjunto de restricciones particulares”. III Jornadas de Transferencia Tecnológica de Inteligencia Artificial, Murcia, 16-19 noviembre 1999. [13]. Enrique Castillo, José Manuel Gutiérrez y Ali S. Hadi. “Sistemas Expertos y Modelos de Redes Probabilísticas”. Editorial Academia de Ingeniería (España). Madrid, España. 1998. ISBN 84-600-9395-6. [14]. Wilson Rafael Rios Ruiz. “Propiedad Intelectual de las Obras creadas, producidas o generadas mediante Ordenador (Los Sistemas de Inteligencia Artificial)”. Revista de Derecho Informático ISSN 1681-5726. Edita: Alfa-Redi-No. 052 - Noviembre del 2002. 83 REVISTARevista DE INVESTIGACIÓN Y DESARROLLO EN INGENIERÍA DE SISTEMAS Y COMPUTACIÓN | VOL. 2 | N° 1 | OCTUBRE 2014 de Investigación y Desarrollo [15]. John F. Sowa. “Knowledge Representation: Logical, Philosophical and Computational Foundations”. Brooks Cole Publishing Co., Pacific Grove, CA, ©2000. [16]. A. Nevado, C. de Mora, H. Pastor. “Control Adaptativo Predictivo Experto: Metodología y Aplicación Industrial”. I Seminario de Aplicaciones Industriales de Control Avanzado – SAICA 2005. [17]. Braunwald E. Harrison. “Principios de Medicina Interna”. Vol. I. 11na. Ed. Madrid: Mc Graw-Hill, 1989:1-14. 84 Vol. 02, N° 01. Junio 2014 83