Prototipo de sistema experto para el apoyo en la detección de enfermedades renales y del tracto urinario

PROTOTYPE SYSTEM FOR SUPPORT IN THE DETECTION OF RENAL AND URINARY TRACT DISEASES

Jesús Abrego1

Manuel Espinoza1

Josué Muñoz1

Cristian Pinzón2*

1Licenciatura en Ingeniería en Sistemas Computacionales
Centro Regional de Veraguas
Universidad Tecnológica de Panamá,

2Facultad de Ingeniería en Sistemas Computacionales
Centro Regional de Veraguas
Universidad Tecnológica de Panamá

Resumen Se considera la enfermedad renal crónica (ERC), como una disminución progresiva de la función de los riñones de forma irreversible, a diferencia de la insuficiencia renal aguda en la que el daño presentado por los riñones es reversible. Los sistemas expertos actúan como asistentes y auxiliares complejos de gran utilidad, brindando ayuda efectiva en aquellos trabajos que requieren precisión, rapidez y alto conocimiento. Se presenta un prototipo de sistema experto, basado en una plataforma para el desarrollo de la interfaz gráfica integrada a un lenguaje de programación de reglas para asistir a las decisiones de un médico de medicina general para realizar un diagnóstico temprano y preciso de ERC. El sistema recomienda un diagnóstico de acuerdo a los síntomas que presenta el paciente.

Palabras claves Enfermedades renales, prototipo, sistema experto, vías urinarias.

Abstract Chronic kidney disease (CKD), as a progressive decrease in kidney function irreversibly, is a difference in acute renal failure in which damage to the kidneys is reversible. The expert systems act as assistants and complex auxiliaries of great utility, offering effective help in the works that require precision, speed and high knowledge. A prototype of an expert system is presented, based on a platform for the development of the graphic interface integrated in a programming language of rules to assist the decisions of a doctor of general medicine to generate an early and accurate diagnosis of ERC. The system recommends a diagnosis according to the symptoms presented for the patient.

Keywords Kidney diseases, prototype, expert system, urinary tract.

* Corresponding author: [email protected]

1. Introducción

Se considera la enfermedad renal crónica (ERC), como una disminución progresiva de la función de los riñones de forma irreversible, a diferencia de la insuficiencia renal aguda en la que el daño presentado por los riñones es reversible [1].

En los últimos años las enfermedades crónicas no transmisibles como el cáncer, diabetes, enfermedades cardiovasculares o enfermedad renal crónica han sido las responsables del 60% de la mortalidad adulta en el mundo, valor que puede superar el 80% en los países en vías de desarrollo [2]. A nivel global, tanto la incidencia como la prevalencia de la ERC se han incrementado de forma paulatina en los últimos años. Latinoamérica en su conjunto y Panamá como país, no son excepciones a esta tendencia.

La diabetes, la causa más frecuente de ERC, es responsable de aproximadamente un 45% de los pacientes en terapia de diálisis, mientras que a la hipertensión se le atribuyen cerca del 30% de los casos [3]. Aunque la ERC puede progresar hasta el estado de insuficiencia renal crónica terminal (IRCT), es también un factor de riesgo importante para las cardiopatías. Los indicadores mencionados revelan que las ERC pueden llegar a afectar a pacientes con problemas cardíacos pudiendo así agravar su situación ya claramente delicada.

Por mandato de la Organización Mundial de la Salud, y debido a que Panamá pertenece a la organización panamericana de salud, se está poniendo más atención en lo que respecta a su desarrollo y presencia en cada país, motivado por el hecho de que son la causa de muerte de más de 40 millones de personas en el mundo, número que se espera se incremente en el próximo quinquenio.

En Panamá, el crecimiento del número de pacientes con esta enfermedad, en los últimos años ha sido alarmante y muchos se encuentren en la etapa final de la ERC, sin embargo, la cantidad de personas en la región que teniendo indicación para diálisis la alcanzan es de más o menos el 10%. Esta inequidad nefrológica es debido a la carencia de lugares donde ofrecer diálisis, lo que eleva la mortalidad de estos pacientes.

La población panameña en tratamiento de diálisis, en los últimos cinco años, prácticamente se ha duplicado. Estos pacientes están distribuidos tanto en la capital como en el interior del país [4].

Especialmente en provincias centrales se registran focos con alta prevalencia de pacientes renales, haciendo énfasis en la provincia de Coclé, la cual fue objeto del primer estudio que se hizo en el país, tendiente a determinar la prevalencia de ERC en una zona específica de la geografía nacional.

Con este escenario, se hace urgente dotar a los hospitales, consultorios y los médicos de herramientas que garanticen la detección temprana de ERC. En la actualidad nuestros hospitales carecen de herramientas tecnológicas de apoyo para el diagnóstico, por lo tanto, la solución presentada en este artículo plantea un sistema experto como apoyo en la detección temprana de las ERC.

2. Descripción del problema

Como se mencionó con anterioridad, el mandato de la Organización Mundial de la Salud (OMS) es poner especial atención al creciente aumento de casos de enfermedades renales, porque debido a estas enfermedades las personas que deben pasar por el proceso de tratamiento ven agravada su salud y su estado emocional debido a lo doloroso que es un tratamiento de diálisis.

Una de las principales causas del incremento en el número de casos de pacientes con enfermedades renales es un diagnóstico no especializado y tardío debido a la falta de especialistas. En Panamá, principalmente en las áreas de provincias centrales, no se cuenta con el personal suficiente para poder atender el creciente número de pacientes que diariamente acude a las instituciones de salud para poder atenderse.

Un diagnóstico efectivo debe indicar el tratamiento adecuado al paciente. Este diagnóstico lo realiza un especialista, sin embargo, el país solo cuenta con 90 especialistas en urología y en Veraguas solo hay 3 especialistas. Quienes realizan el diagnóstico inicial actualmente son los médicos de medicina general.

Las principales causas de las enfermedades renales son la Diabetes Mellitus, la Hipertensión arterial, la Glomerulonefritis (inflamación de las unidades de filtración del riñón a consecuencia de infecciones) [3], y otras causas que son desconocidas, pero a nivel mundial se ha generado evidencia científica que relaciona a diferentes químicos tóxicos presentes en nuestro ambiente generados por el tabaco, la industria agrícola como los agroquímicos, y por la evidente contaminación ambiental que estamos causando.

Panamá, no escapa a esta situación. La Asociación Panameña de Nutricionistas Dietistas (APND) plantea su preocupación por el incremento de esta enfermedad. Según estadísticas de la Caja de Seguro Social hay más de 2,200 pacientes en tratamiento de diálisis y mensualmente un promedio entre 35 a 40 nuevos pacientes ingresan a esa entidad de salud para recibir atención y la estadística marca 12 defunciones por mes. Paciente con edades promedios de 50 años, y en su mayoría del sexo masculino; sin embargo, lo más preocupante es que en los últimos años también ha aumentado el número de niños y adolescentes con enfermedades crónicas en los riñones y algunos han necesitado tratamiento de diálisis [5].

Según la CSS, el costo por tratamiento de hemodiálisis es muy alto, ascendiendo a más de B/. 2,200.00 mensuales por paciente, lo que representa un problema de salud pública; pero más importante que el costo que esta enfermedad demanda del Estado es la afectación a la calidad de vida; a la productividad laboral de los panameños que la padecen y los efectos en el círculo familiar [5].

¿Cuáles son los componentes y arquitectura de un sistema experto que apoye al médico de medicina general a dar un diagnóstico efectivo en casos de enfermedades renales y del tracto urinario?

En este sentido se presenta un sistema experto de apoyo al médico, que en muchos casos no es especialista, para que logre identificar de forma temprana los casos de ERC que llegan a los hospitales.

3. Tecnologías implicadas

A continuación, se presentan y se describen cada de una de las tecnologías que dan soporte al sistema experto propuesto en este artículo de investigación.

3.1 CLIPS

CLIPS es un lenguaje de programación basado en reglas de encadenamiento progresivo escrito en C, útiles para crear sistemas expertos y otros programas donde una solución heurística es más fácil de implementar y mantener que un algoritmo solución [5].

La herramienta de CLIPS ofrece grandes ventajas como[6]:

Modularidad: Cada regla es una unidad del conocimiento que puede ser añadida, modificada o eliminada independientemente del resto de las reglas.

Uniformidad: Todo el conocimiento es expresado de la misma forma.

Naturalidad: Las reglas son la forma natural de expresar el conocimiento en cualquier dominio de aplicación.

Explicación: La traza de ejecución permite mostrar el proceso de razonamiento.

El sistema experto propuesto utiliza CLIPS para generar los hechos y reglas que fueron suministrados por el experto.

3.2 JESS

JESS es un entorno de motor de reglas y secuencias de comandos escrito enteramente en Oracle's® Java ™. El uso de JESS, se puede construir un software de Java que tiene la capacidad de razonamiento usando el conocimiento que se suministra en forma de reglas declarativas. JESS es pequeño, ligero, y uno de los motores de reglas más rápidas disponibles. Su potente lenguaje de script le da acceso a todas las API de Java [7].

3.3 NetBeans

Es una herramienta que brinda un entorno de desarrollo para que los programadores puedan escribir, compilar, depurar y ejecutar programas.

Java es un lenguaje de programación de propósito general, su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo [8].

Ventajas:

El manejo de la memoria se hace automáticamente.

Lenguaje Multiplataforma: El código que escrito en Java es leído por un intérprete, por lo que su programa funcionará en cualquier plataforma.

Programación Orientada a Objetos: Paradigma muy utilizado hoy en día que facilita y organiza mucho la programación.

Fácil de aprender.

4. Diseño de prototipo

El diseño del sistema es una de las etapas más importantes en todo proyecto, ya que muestra el modelo gráfico que ejemplifica como será y funcionará el sistema con todas sus conexiones y funcionalidades.

4.1 Diseño conceptual

En la siguiente gráfica se muestra el esquema de funcionamiento del sistema.

image

Figura 1. Diagrama conceptual del funcionamiento del sistema.

4.2 Diseño gráfico

En las siguientes figuras se muestra el diseño de las diferentes interfaces que el usuario tendrá disponible para interactuar con el sistema.

image

Figura 2. Interfaz de inicio.

image

Figura 3. Representación del funcionamiento.

En la figura 2 se presenta el diseño gráfico de la interfaz de inicio del prototipo el cual contiene botones de acceso rápido para realizar consultas al sistema. En la figura 3 se aprecia un diseño gráfico de todos los componentes que conforman el sistema final.

4.3 Metodología

Para el desarrollo del sistema se aplicó la metodología CommonKADS, diseñada para el análisis y la construcción de sistemas basados en conocimiento (SBC) de forma análoga a los métodos empleados en ingeniería de software [9]. Esta metodología permitió definir el estado del problema e identificar las tareas a realizar por el sistema.

La metodología orienta el desarrollo de todo el sistema desde la recolección de información hasta el desarrollo final del prototipo. Consta de tres etapas fundamentales en las que se dividen las tareas para la fabricación del SBC:

Nivel Contextual

Nivel Conceptual

Nivel Computacional

El primer nivel consta de 3 modelos: el organizacional, de tareas y de agentes. El segundo nivel es el conceptual formado por los modelos de conocimiento y de comunicación. Finalmente, el nivel computacional que consta del modelo de diseño.

MODELOS DE LA METODOLOGÍA COMMONKADS

NIVEL: Contextual. TIPO DE MODELO: Modelo de organización.

FORMULARIO: OM – 1: Descripción y posibilidades de mejora.

Problemas y Organización

Problemas:

Debido a la falta de especialistas en el área la atención al paciente se retrasa.

Los médicos de medicina general no cuentan con el conocimiento adecuado.

Contexto Organizacional

Objetivos:

Conocer en forma detallada el diagnóstico que brinda el experto en el área para así plantear soluciones a situaciones que requieran un uso del conocimiento bajo restricciones de tiempo.

Metas: Mejorar e invertir en tecnologías apropiadas para cada uno de los consultorios de medicina general.

Misión: Ofrecer a cada uno de los pacientes un diagnóstico rápido y certero.

Visión: Ser una herramienta tecnológica en el área de la medicina para brindar el apoyo a médicos de medicina general y así brindar un diagnóstico inmediato

Soluciones

Implementar un SBC que posea el conocimiento necesario y que sea capaz de retroalimentarse para facilitar al área de medicina general realizar los diagnósticos pertinentes.

Figura 4. Modelo de organización Common KADS.

En la figura. 4 se presenta el formulario OM1 del nivel contextual en el cual se detalla el modelo de organización donde se detalla el contexto del proyecto.

5. Funcionamiento

En cuanto al funcionamiento del sistema se utilizó la plataforma de programación NetBeans IDE para crear la interfaz mediante el uso de componentes de formularios Java, que permitiesen la facilidad de interacción con el usuario. Se utilizó la herramienta CLIPS para desarrollar el código, que implementa el uso de reglas que le indican al sistema que acción realizar de acuerdo a algún hecho que se presente por alguna acción del usuario.

La conexión de Java + CLIPS se realizó importando la librería JRK en NetBeans. Esta conexión permite instanciar la clase RETE y poder trabajar JESS en Java. El método Batch permite hacer la llamada del código CLIPS para trabajar en la plataforma NetBeans.

Este código CLIPS contiene las reglas del SBC. Una vez el usuario realice una acción en la interfaz gráfica, Java hará el llamado del código CLIPS a través del método Batch y realiza la ejecución de las reglas.

Una clase controlador en el proyecto de java es la encargada de recibir los valores de los métodos ocurridos en la clase de manejador de eventos, esta clase eventos es la encargada de suscribirse al disparo de las reglas del código CLIPS y presentarlas dinámicamente en la interfaz de usuario. Cada vez que el usuario, en este caso el médico de medicina general, realiza una acción en la interfaz gráfica se invoca a la clase RETE el cual es el motor de inferencias de JESS para el lenguaje de programación en Java.

6. Resultados

Como resultados se compara el sistema experto propuesto con el sistema experto para el entrenamiento y la asistencia en el diagnóstico en un centro de diálisis, un SBC similar que va enfocado a la viabilidad de aplicación de Diálisis [10].

Tabla 1. Resultados de comparación

SED

Sistema Propuesto (PROADERTU)

Diagnosticar la viabilidad de aplicación de Diálisis.

Diagnosticar enfermedades e infecciones en riñones y tracto

urinario.
Diagnosticar la modalidad terapéutica que mejor se adapte

al paciente.
Diferenciar el tipo de enfermedad que afecten al sistema urinario.

Desarrollado bajo la

metodología I.D.E.A.L.
Desarrollado bajo la metodología

COMMONKADS.
Basado en el conocimiento de un experto en nefrología.

Basado en el conocimiento de un experto en nefrología.

Se emplea pseudo-reglas y tablas de decisión para la representación de conocimiento.

Se emplea reglas y un árbol de decisión para la representación de conocimiento.

Conocimiento mediante un mapa de conocimientos (MC).

Conocimiento mediante el motor de inferencia RETE.

Como se presenta en la tabla 1 comparativa, los sistemas expertos están siendo utilizados en el área médica con resultados significativos. El sistema experto propuesto es planteado para la detección de enfermedades renales y de tracto urinario.

image

Figura 5. Fragmento de las reglas.

En la figura 5 se muestra un extracto de las reglas en CLIPS. Como resultado se generó una base de conocimiento sobre las enfermedades renales y tracto urinario, que estará disponible para su evaluación y utilización en otros sistemas.

7. Sumario

Debe tenerse en cuenta el papel que juega el primer nivel de atención en el tratamiento de pacientes crónicos porque al ser el primer contacto de atención genera la responsabilidad de educar al paciente y crearle conciencia de la importancia del adecuado control y de cumplir al pie de la letra las medidas generales con el propósito de evitar, o en su caso retardar, la aparición de complicaciones propias de su enfermedad.

¿Qué aporta el sistema propuesto al problema?

Se elabora una herramienta tecnológica disponible para los médicos de medicina general para apoyar en la detección temprana de enfermedades del tipo.

El sistema tiene características de escalabilidad para poder implementarles nuevas funcionalidades que permitan flexibilizar o expandir su uso.

Aparte de ser una herramienta de apoyo contribuye al entrenamiento de médicos generales, convirtiéndose en una potencial herramienta que permite evaluar las decisiones tomadas frente a una situación.

Aplica para el área de ingeniería en conocimiento un marco metodológico a través de la metodología COMMONKADS, asegurando el desarrollo y posterior crecimiento del sistema experto.

El prototipo de la aplicación está desarrollado y fue evaluado por un médico especialista en el área de urología y nefrología, quién recomendó su puesta en marcha a futuro como herramienta de apoyo en los hospitales.

RECONOCIMIENTOS

Deseamos agradecer al Dr. José Ayarza, especialista en urología, por brindar la información necesaria para el desarrollo y validación del proyecto. A la Dra. Bionelis Bustamante, por habernos brindado información importante y vital.

También al profesor, Dr. Cristian Pinzón como asesor del proyecto y la Prof. María Luisa Vélez por su constante apoyo durante la redacción del mismo.

REFERENCIAS

J. C. Flores, M. Alvo, H. Borja, J. Vega, and C. Zúñiga, “Sociedad Chilena de Nefrología Enfermedad renal crónica : Clasificación , identificación , manejo y complicaciones Clinical guidelines on identification , management and complications of chronic kidney disease,” pp. 137–177, 2010.

M. I. Mex, “Artículo original Enfermedad renal crónica: prevención y detección temprana en el primer nivel de atención,” pp. 148–153, 2013.

C. C. Apmc, “Revista Médica de Panamá - Digitalizado por Infomedic International - Index www.revistasmedicas.org - Derechos reservados . Revista Médica de Panamá - Digitalizado por Infomedic International - Index www.revistasmedicas.org - Derechos reservados .,” vol. 35, no. 2, pp. 20–21, 2015.

P. De Coclé, F. Rodríguez, C. Cuero, E. Delgado, I. Camargo, and R. Tuñón, “Revista Médica de Panamá digitalizado por infomedic Artículo original Diagnóstico de la Enfermedad Renal Crónica y Factores de Riesgo Asociados en Áreas Seleccionadas de la,” pp. 31–38.

Devsaran, “CLIPS,” 2017. [Online]. Available: http://www.clipsrules.net/?q=AboutCLIPS.

A. Ba, “Lenguajes basados en reglas.” Sandia National Laboratories, “JESS ®, the Rule Engine for the JavaTM Platform,” Mon Nov 25 10:14:20 PST 2013. [Online]. Available: http://www.jessrules.com/.

Oracle Corporation, “NetBeans IDE,” 2017. [Online]. Available: https://netbeans.org/. [Accessed: 21-Jun-2017].

T. Matsuhisa, “C OMMON -K NOWLEDGE R ESOLVES M ORAL H AZARD Moral Hazard Common-Knowledge,” pp. 2192–2196.

M. Pariso, M. Panizzi, and J. Ierache, “Sistema Experto para el entrenamiento y la asistencia en el diagnóstico en un Centro de Diálisis.”