
Sistema Recomendador Diabetes
Información del documento
Autor | Alberto Felipe Carrillo De Comas |
instructor | José Ignacio Hidalgo Pérez |
Escuela | Universidad Complutense De Madrid |
Especialidad | Sistemas Informáticos |
Tipo de documento | Memoria De Proyecto |
city | Madrid |
Idioma | Spanish |
Formato | |
Tamaño | 1.95 MB |
Resumen
I.Sistema de Formación Online para Pacientes con Diabetes Mellitus
Este proyecto desarrolla un sistema online para ayudar a pacientes recién diagnosticados con Diabetes Mellitus. El sistema integra un curso de formación en Moodle, una plataforma de e-learning de código abierto, con un sistema de recomendaciones basado en la herramienta de razonamiento basado en casos jColibri. La información del paciente, incluyendo datos de glucemia y analíticas, se obtiene a través de la integración con Google Health, utilizando su API. El objetivo es mejorar el control de la diabetes, prevenir complicaciones y aumentar la calidad de vida de los pacientes.
1. Necesidad de un Sistema de Soporte para Pacientes con Diabetes Mellitus
El documento comienza estableciendo la prevalencia de la Diabetes Mellitus como una enfermedad compleja con un tratamiento igualmente complejo. Muchos pacientes, tras el diagnóstico, presentan un desconocimiento significativo sobre la enfermedad, lo cual dificulta su control y aumenta el riesgo de complicaciones. Esta situación, a pesar de los avances médicos en el control de la glucemia e incluso con la llegada de tecnologías como el páncreas artificial, sigue siendo un problema de salud pública importante, con millones de muertes anuales atribuibles a la diabetes. Se destaca que, aunque se conocen las causas y el tratamiento, la falta de conocimiento y el impacto de factores de riesgo como hábitos de vida poco saludables (dieta y ejercicio) o el estrés, contribuyen a la persistencia de altas tasas de mortalidad. Por lo tanto, se argumenta la necesidad crucial de un sistema de soporte que facilite la comprensión de la enfermedad y el manejo efectivo de su tratamiento, haciendo énfasis en la accesibilidad a través de internet, dado el nivel de familiaridad actual con la navegación web y la disponibilidad de dispositivos móviles.
2. Descripción del Sistema Propuesto
Se presenta un sistema diseñado para asistir a pacientes recién diagnosticados con diabetes, facilitando su primer contacto con la enfermedad y ayudando a resolver problemas derivados de ella. El sistema integra dos componentes principales: un curso de formación online y un sistema de recomendaciones. El curso online, alojado en una plataforma de aprendizaje electrónico, proporciona información formativa sobre diferentes aspectos de la diabetes, incluyendo evaluaciones a través de tests para monitorizar la adquisición de conocimiento. El sistema de recomendaciones, por otro lado, utiliza datos y mediciones de las analíticas del historial del paciente para ofrecer consejos y contenidos formativos personalizados. El objetivo final es empoderar al paciente para que mantenga una buena salud y mejore su calidad de vida. Se destaca el uso de herramientas y tecnologías para llevar a cabo este ambicioso proyecto.
3. Tecnologías Utilizadas y Desarrollo del Proyecto
El proyecto se basa en el uso de diversas tecnologías. La plataforma elegida para el curso online es Moodle, un LMS (Learning Management System) de código abierto, seleccionado por su facilidad de uso, escalabilidad y la familiaridad previa del equipo con la herramienta. Para el sistema de recomendaciones, se utiliza jColibri, una herramienta de software libre basada en razonamiento basado en casos. La integración de datos se realiza a través de la API de Google Health, permitiendo acceder al historial médico del paciente. Otras herramientas y tecnologías utilizadas incluyen NetBeans (IDE), Hibernate (ORM), phpMyAdmin, y Java como lenguaje de programación. La elección de Software Libre se justifica por la reducción de costos y la flexibilidad que ofrece para un proyecto en fase experimental. Se mencionan las dificultades encontradas en la integración de jColibri en NetBeans, ya que la documentación se centra en su uso con Eclipse. El proyecto es colaborativo, con la participación de otros grupos de trabajo, generando la necesidad de futuras integraciones entre los diferentes componentes del sistema.
II.Recopilación de Datos y Generación de Informes Parte A
La Parte A del proyecto, desarrollada por otro grupo, se centra en la creación de interfaces para la recolección de datos de glucemia de diferentes glucómetros y su almacenamiento en Google Health. Se utiliza una API de Java para la interacción con la base de datos. Un estudiante diabético participó en esta parte del proyecto.
1. Objetivo y Alcance de la Parte A
La Parte A del proyecto, realizada por un grupo separado y con la colaboración de un estudiante diabético, se centra en la creación de un entorno para la obtención de datos y la generación de informes relacionados con la diabetes. Su objetivo principal es desarrollar interfaces que permitan la recolección de información de glucosa en sangre desde diferentes modelos de glucómetros. Esta información, junto con datos introducidos manualmente por el usuario sobre análisis médicos relevantes, se almacena de forma persistente en la base de datos sanitaria de Google Health. Para lograr esta integración, se utiliza una API de código abierto proporcionada por Google, accesible para desarrolladores. La descripción destaca la naturaleza de la parte A como un módulo de entrada-salida, con datos de glucemia e información médica como entrada, y datos ordenados en Google Health como salida. Se resalta la importancia de la API de Java en este proceso de conexión y gestión de datos.
2. Funcionalidades y Tecnologías
El desarrollo de la Parte A implicó la creación de diversas interfaces de entrada-salida. La entrada de datos incluye medidas de glucemia (cantidad de insulina en sangre) obtenidas de varios modelos de glucómetros y datos ingresados manualmente por el usuario que complementan el historial médico del paciente. La salida es la información procesada y organizada para su almacenamiento en la base de datos de Google Health. Se utiliza una API en Java que facilita la conexión a la base de datos y la gestión de la información. El documento resalta el uso de la API de Java como elemento clave en la interacción con Google Health. No se profundiza en los detalles técnicos específicos de la API o las interfaces de usuario, sugiriendo que esta información será detallada en otras secciones. Se deja claro que la participación de un estudiante diabético en el desarrollo de esta parte fue esencial. El sistema desarrollado ofrece una API en Java con los servicios necesarios para conectarse a esta base de datos y obtener la información requerida.
III.Sistema Recomendador con jColibri
El sistema recomendador, que constituye la Parte B del proyecto, utiliza jColibri para ofrecer recomendaciones personalizadas a los pacientes basadas en su historial médico de Google Health y su progreso en el curso Moodle. La integración con jColibri requirió la configuración del conector a través de Hibernate y el mapeo de la base de casos mediante archivos XML. El sistema genera recomendaciones de seguimiento del paciente y sugerencias sobre el curso online de educación diabetica.
1. jColibri El Sistema Recomendador
El núcleo del sistema de recomendaciones se basa en jColibri, una herramienta de software libre que utiliza técnicas de razonamiento basado en casos (CBR). La elección de jColibri se justifica por su gratuidad y por el conocimiento previo del equipo con la herramienta. Se destaca la facilidad de parametrización que ofrece jColibri para representar las recomendaciones en el contexto de la diabetes. Sin embargo, se mencionan inconvenientes en su implementación, específicamente en la configuración del conector a través de Hibernate, el mapeo de la base de casos con archivos XML, y la integración con el entorno de desarrollo NetBeans (a diferencia de Eclipse, para el cual la documentación es más completa).
2. Funcionalidades del Sistema Recomendador
El sistema de recomendaciones tiene dos funcionalidades principales: el primero, un 'Diabetic Monitoring Recommender' que utiliza datos de Google Health (historial del paciente) para evaluar la información y generar recomendaciones de seguimiento; y segundo, un 'e-Learning Recommender', que realiza recomendaciones basadas en la información suministrada por el curso de formación en Moodle. Estos recomendadores utilizan la información del historial médico del paciente (glucemia y analíticas) del conector GHConnector y una base de casos almacenados, para generar recomendaciones de seguimiento semanales. Se menciona que inicialmente las recomendaciones fueron programadas de forma mecánica y sencilla (comparaciones sistemáticas), pero posteriormente se integraron con la herramienta jColibri para aplicar técnicas de inteligencia artificial, sentando las bases para un futuro desarrollo más complejo, incluyendo un modelo de 'doctor virtual'. El conector MoodleConnector permite el acceso a la información del curso en Moodle, aunque las recomendaciones sobre la formación se realizan de forma mecánica y no a través de jColibri.
3. Integración con Otras Bases de Datos
El sistema se integra con diferentes fuentes de datos externas. Además de Google Health, se utilizan dos bases de datos adicionales, almacenadas en un servidor virtual proporcionado por el Departamento de Arquitectura de Computadores y Automática (DACYA) de la Facultad de Informática de la UCM, accesibles remotamente con permisos de administrador y a través de phpMyAdmin. El acceso a estas bases de datos se realiza mediante conectores específicos (GHConnector, jColibriConnector, MoodleConnector). El GHConnector permite la integración con la API de Google Health, mientras que jColibriConnector facilita el acceso a la base de casos de recomendaciones previas. La información de los usuarios, incluyendo datos personales, historial de mensajes y control de evaluaciones, se almacena en una base de datos 'SSII'. Se enfatiza que la conexión a la base de datos de Google Health se realiza para usuarios con perfil de médico, obviando la necesidad de almacenar sus credenciales en la base de datos propia del proyecto.
IV.Plataforma de e learning en Moodle
La plataforma de educación online se implementó utilizando Moodle, una plataforma de Software Libre elegida por su accesibilidad y la familiaridad del equipo con la herramienta. El contenido del curso, incluyendo tests de evaluación, es gestionado por un especialista endocrino. Los tutoriales se crearon para facilitar el uso tanto a médicos como a pacientes. Se almacenan bases de datos adicionales en un servidor virtual proporcionado por el Departamento de Arquitectura de Computadores y Automática (DACYA) de la Facultad de Informática de la UCM, accesibles a través de phpMyAdmin.
1. Elección de Moodle como Plataforma de e learning
Para el desarrollo del curso de formación online, se optó por Moodle, un sistema de gestión de aprendizaje (LMS) de software libre. Esta decisión se fundamentó en varios factores: el ahorro en costos al evitar la adquisición de licencias, la familiaridad del equipo con la plataforma (al ser utilizada en el Campus Virtual de la UCM), y la conveniencia de una herramienta de código abierto para un proyecto en fase experimental con potencial de implantación en un centro médico. Aunque se reconocen las ventajas de las plataformas comerciales en cuanto a posibilidades de personalización y parametrización, se consideró que Moodle ofrecía funcionalidades suficientes para las necesidades del curso. Otras plataformas de software libre como Sakai o Claroline fueron descartadas en favor de Moodle.
2. Contenido y Estructura del Curso Moodle
El curso de formación online en Moodle está diseñado para brindar educación terapéutica a pacientes diabéticos. La gestión de contenidos, temario y tests de evaluación recae en un especialista endocrino, mientras que el equipo del proyecto se encarga del diseño interno del curso. El curso incluye diversos recursos: foros de discusión, tutoriales, material didáctico en formato PDF, y cuestionarios para evaluar el aprendizaje del alumno. La estructura del curso facilita el acceso a los diferentes elementos: una sección principal muestra los recursos del curso, y otra sección ofrece acceso a cuestionarios, foros, tutoriales y un glosario. Se menciona la necesidad de elaborar tutoriales visuales para la formación de médicos y pacientes en la gestión y uso del curso. La creación de un glosario, foros de comunicación, cuestionarios para evaluar el aprendizaje y la posibilidad de subir contenidos multimedia, son características que hacen de esta plataforma una opción ideal para impartir educación a los pacientes.
3. Aspectos Técnicos e Implementación
La implementación del curso en Moodle incluyó su parametrización, publicación y alojamiento en un servidor de la Facultad de Informática de la UCM. Para la parametrización se utilizó phpMyAdmin v.5, y el servidor virtual elegido fue Debian. Se menciona la utilización de un servidor virtual proporcionado por el Departamento de Arquitectura de Computadores y Automática (DACYA) de la Facultad de Informática para la fase experimental. Sin embargo, se reconoce que durante las pruebas se detectaron tiempos de acceso elevados, lo que sugiere la necesidad de una inversión en una máquina física dedicada para una eventual fase de producción. El servidor virtual del departamento DACYA ofreció la oportunidad de realizar pruebas, pero la experiencia arrojó la necesidad de un sistema de alojamiento más eficiente si el proyecto llega a la fase de producción.
V.Herramientas y Tecnologías
El desarrollo del proyecto utilizó diversas tecnologías: Java, NetBeans (IDE), Hibernate (ORM), phpMyAdmin, Google Health API, y el sistema de razonamiento basado en casos jColibri. El proyecto se beneficia del uso de Software Libre para reducir costes y promover la colaboración.
1. Entorno de Desarrollo y Lenguajes de Programación
El desarrollo del proyecto utilizó Java como lenguaje de programación principal, aprovechando su potencia y el soporte de una amplia comunidad de programadores, además de ser un proyecto OpenSource desde la versión 6. Se menciona que en 2005 Java era utilizado en uno de cada cuatro proyectos, superando ampliamente a su competidor más cercano (C++). La amplia disponibilidad de máquinas virtuales Java en computadoras y dispositivos móviles se destaca como una ventaja significativa. Para facilitar el desarrollo en Java, se eligió NetBeans como entorno de desarrollo integrado (IDE), resaltando su capacidad y utilidad comparada con otras opciones como Eclipse. Se utilizaron librerías necesarias para las conexiones con la API de Google y el curso Moodle, incluyendo la interfaz JDBC (Java Database Connectivity).
2. Herramientas de Gestión de Bases de Datos
Para la gestión de las bases de datos, se empleó phpMyAdmin v.5, una herramienta OpenSource descrita como esencial para la administración remota de bases de datos MySQL. Se destaca su interfaz gráfica, escrita en PHP, que simplifica la interacción con la base de datos sin necesidad de escribir código SQL. Su intuitividad, amplia disponibilidad en servicios de hosting a nivel mundial y la recepción de numerosos premios, son resaltadas como ventajas significativas. La herramienta Hibernate, un sistema de mapeo objeto-relacional (ORM) para Java, se utilizó para facilitar el mapeo de atributos entre la base de datos relacional y el modelo de objetos de la aplicación. Se menciona el uso de archivos declarativos XML para establecer las relaciones entre la base de datos y los objetos.
3. Herramientas Específicas del Proyecto
Además de las herramientas generales de desarrollo, el proyecto hizo uso de herramientas específicas para sus objetivos. Para el sistema de recomendaciones, se empleó jColibri, una herramienta desarrollada por el Grupo de Investigación GAIA de la Facultad de Informática de la UCM, que permite realizar recomendaciones mediante razonamiento basado en casos. La integración de jColibri con el resto del sistema requirió un esfuerzo considerable, especialmente en la configuración del conector a través de Hibernate y la integración en el entorno NetBeans. La API de Google Health fue fundamental para la integración con el historial médico del paciente y para la obtención de datos de glucemia. Finalmente, Moodle fue la plataforma escogida para la creación del curso de formación online, usando phpMyAdmin para la gestión de la base de datos asociada al curso.
VI.Futuras Mejoras
El proyecto se encuentra en fase experimental y requiere futuras mejoras, incluyendo la integración más estrecha entre las Partes A y B, la expansión de la base de casos para jColibri, y la mejora del rendimiento del servidor virtual Moodle. La creación de una base de datos robusta de casos de pacientes reales o ficticios es crucial para la fiabilidad del sistema. La colaboración con el especialista endocrino es clave para la actualización y mejora continua del contenido del curso en Moodle.
1. Integración entre la Parte A y la Parte B
Una de las principales áreas de mejora futura se centra en la integración más coherente entre la Parte A (recopilación de datos) y la Parte B (sistema recomendador). Aunque existió comunicación entre los dos grupos de trabajo para utilizar la API desarrollada en la Parte A, la naturaleza independiente y paralela del desarrollo implica un esfuerzo significativo para integrar ambas partes a través de una misma interfaz. Se sugiere que la integración de las funcionalidades de la Parte B en la aplicación de la Parte A podría resultar más conveniente, dado su potencial para una presentación de información más atractiva. Esta integración podría simplificar la gestión de usuarios, evitando la necesidad de almacenar datos de médicos en la base de datos de la Parte B, ya que su verificación podría realizarse directamente a través de la conexión a Google Health.
2. Mejora del Sistema Recomendador y la Base de Casos
Para lograr recomendaciones más fiables y precisas, se requiere la creación de una base de casos más completa y robusta para jColibri. Esto implica la necesidad de un número significativo de pacientes/alumnos que utilicen la aplicación y mantengan sus datos de análisis actualizados, al menos semanalmente, para permitir la generación de recomendaciones de seguimiento. Se destaca la importancia de la participación activa del médico, quien deberá introducir manualmente casos relevantes de historiales de pacientes reales o ficticios para enriquecer la base de datos y mejorar la capacidad predictiva del sistema. Se indica que la herramienta del sistema recomendador, en su fase experimental, se basó en comparaciones sistemáticas de datos de forma mecánica y sencilla, pero posteriormente se integró con la herramienta jColibri para mejorar esta funcionalidad.
3. Mejoras en el Curso Moodle y el Servidor
En relación al curso implementado en Moodle, las futuras mejoras incluirían la adición de más contenidos y el desarrollo de nuevos tests y preguntas, responsabilidades que recaen en el profesor o médico. El temario, los tests y los foros temáticos ya están diseñados y organizados, pero se necesita la colaboración del profesor para la actualización y subida de contenidos. Las pruebas realizadas en el servidor virtual proporcionado por el departamento DACYA revelaron tiempos de acceso elevados, lo que indica una reducción en el rendimiento del sistema, especialmente con un número considerable de usuarios. Por lo tanto, se considera necesaria una inversión en una máquina física dedicada para el alojamiento del curso en caso de que el proyecto pase a la fase de producción.