UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN TRABAJO DE GRADUACIÓN PARA OPTAR POR EL TÍTULO DE INGENIERO EN CIENCIAS DE LA COMPUTACIÓN "DISEÑO Y DESARROLLO DE UN PROTOTIPO PARA UN SISTEMA DE REGISTRO, CONTROL Y APOYO EN EL DIAGNÓSTICO DE LOS PACIENTES, PARA UNA RED DE CLÍNICAS" PRESENTADO POR: CARLOS ERNESTO DÍAZ HENRÍQUEZ MARLON XAVIER SERRANO LEMUS CARLOS EDUARDO VELÁSQUEZ CASTRO ASESOR: ING. ANGEL SORIANO MARZO 2005 EL SALVADOR, CENTROAMÉRICA UNIVERSIDAD DON BOSCO RECTOR ING. FEDERICO MIGUEL HUGUET RIVERA SECRETARIO GENERAL LIC. MARIO RAFAEL OLMOS DECANO DE LA FACULTAD DE INGENIERIA ING. ERNESTO GODOFREDO GIRON UNIVERSIDAD DON SOSCO FACULTAD DE INGENERÍA ESCUELA DE INGENIERÍA EN COMPUTACIÓN COMITE EVALUADOR DEL TRABAJO DE GRADUACIÓN Tutor ~ROMERO Jur __ do Jurado AGRADECIMIENTOS Agradezco infii~ltamente a Dios por darme la vida y por llenarme de satisfacción al permitirme triunfar en esta etapa de mi vida, por darme sabiduría, perseverancia y fuerzas para no desmayar y a Don Bosco por transmitirme y heredarme su enseñanza en el proceso de estudio. Agradezco a mi padre, Julio Ernesto Díaz, y a mi madre, María del Rosario Henríquez, por sus inalcanzables sacrificios, consejos, preocupación, comprensión, por la formación que me han dado y, por sobre todas las cosas, por su amor, que me han permitido ser lo que soy y me han permitido lograr este importante triunfo, que me llena, tanto como a ellos, de mucha felicidad. Los amo mucho. Agradezco a mis hermanas Carolina y Gabriela, por su ayuda y preocupación a lo largo de todo este pesado camino, y por estar siempre pendientes de :-ni. Las amo. Agradezco a Georgina Gaytán, por ser la persona que estuvo en la etapa más delicada de este proceso y por formar parte de mi vida, por enseñarme a tener claros mis objetivos y a no perderlos, por el apoyo incondicional y por las palabras de aliento que me confortaron mucho. Te amo. Agradezco a mi familia, Abuelos, Tíos y Primos, que de alguna u otra forma siempre estuvieron pendientes de mi, brindándome palabras de aliento y ayuda para seguir adelante. Agradezco a mis siempre amigos, Meme, Erick, Martín y Roberto, que todo el tiempo me han brindado apoyo, confianza, por crecer conmigo en las buenas y las malas, y porque siempre han estado en el lugar y en el momento justo para darme palabras de aliento y brindarme su amistad incondicionalmente. Agradezco a mis compañeros de tesis y amigos, Eduardo y Marlon por permitirme formar parte del grupo de trabajo, por compartir tantos conocimientos, por cada uno de los sacrificios compartidos y por ser una fuente de apoyo incondicional. Agradezco a mis compañeros y amigos de universidad, que compartieron, de una u otra forma, muchos conocimientos, por la ayuda y por los momentos compartidos. Agradezco a mis compañeros de trabajo, por estar pendientes de mi, por brindarme apoyo, por regalarme palabras de aliento y por ayudarme a seguir adelante. Agradezco al Ing. Ángel Soriano, nuestro asesor, que brindó apoyo, ayuda, confianza y amistad, por estar pendiente del proceso y por transmitir sus conocimientos. Agradezco al Dr. Francisco Burgos y al Dr. Saúl Gómez, por brindarnos su apoyo y por resolver cada una de las inquietudes que se nos presentaron a lo largo del proceso. Agradezco a toJas aquellas personas, que de una u otra forma estuvieron en el momento indicado para brindarme su ayuda y apoyo. Carlos Ernesto Díaz Henríquez AGRADECIMIENTOS Agradezco de corazón a Dios y a la Virgen Santísima, por ser mis apoyos espirituales, porque no es sino gracias a su intercesión y misericordia que hoy estoy escribiendo la última fase de este triunfo profesional. Gracias Jesús de la Divina Misericordia por inspirarme la consagración a ti, porque en cada meta que logro, reconozco la acción de tu mano poderosa. Gracias a mis padres, Salmare Serrano y Ruth de Serrano, porque estoy seguro que el sacrificio más grande que llegue a hacer en mi vida no será ni la mitad de todos los sacrificios que ustedes han hecho por mi y mis hermanos y hermanas por más de treinta y cinco años. Gracias por sus consejos, apoyo y especial interés en mi formación académica y espiritual. A mis hermanos, iUn particular agradecimiento!: A Cristian, por haberme abierto los ojos antes de iniciar mis estudios universitarios y haberme orientado sobre lo más conveniente para mi en este aspecto, iAcá está e! fruto de tu consejo!. A Hemerson, por todas esas noches que tuviste que desvelarte para transportarnos, muchas gracias. Lourdes, por haber alegrado nuestra casa en momentos difíciles y por acompañarme siempre. A Nora, porque nuestra diferencia de edades ha sido el obstáculo más insignificante en nuestra relación de hermanos, gracias por tus consejos no sólo académicos, sino de vida. Agradezco a Dios por ello. A los doctores Saúl Gómez y Francisco Burgos, por su desinteresada ayuda en nuestra investigación. Gracias por apoyarnos y animarnos en el desarrollo de este trabajo. Al Ministerio de Alabanza Discípulos Misioneros de Jesús, de la Parroquia Inmaculada Concepción, por tener siempre las puertas abiertas para mi y por todos los momentos increíbles que hemos experimentado. Que Dios y su música nos mantengan unidos siempre. A mis compañeros de la Universidad: Gracias por compartir sus ideas conmigo y por todas las noches, días de asueto y de vacaciones que invertimos estudiando en grupo. El agradecimiento más sincero por ser amigos antes que compañeros. A mis compañeros de tesis, Eduardo y Ernesto, porque no es sino gracias al trabajo en equipo y a su empeño que hemos podido finalizar satisfactoriamente. Ha sido un verdadero gusto trabajar con ustedes no sólo en la tesis, sino a lo largo de toda la carrera. A mis amigos Alex, Juan Carlos, Celia, René, Cristina y muchos más, por el interés y apoyo mostrados en cada momento, gracias por compartir su tiempo conmigo, así como nuestras ideas. A mis compañeros de trabajo, por entender las veces que tenía que irme antes de la hora establecida y por compartir sus experiencias conmigo, lo valoro infinitamente. A FEPADE, por toda la ayuda económica recibida para el sostenimiento de mis estudios, la cual fue fundamental para poder culminarlos. Gracias por haberme ·'- dado esta oportunidad y por haber creído en mi. A nuestro asesor, Ing. Ángel Soriano, por sus recomendaciones y por estar siempre ayudándonos en el momento que lo necesitábamos. Al Ing. Milton Narváez, nuestro tutor, por haber estado siempre pendiente del proceso administrativo en la universidad, por sus orientaciones y constante comunicación. A todos aquellos que de una u otra forma nos apoyaron, iGracias! Marlon Serrano AGRADECIMIENTOS Hoy que doy un paso más en la vida, luego de mucho esfuerzo y dedicación; llega el momento de dar gracias a cada una de las personas que han hecho posible este momento. Comenzaré dándole gracias a DIOS que es el personaje principal de esta historia, por que todo lo que hasta hoy he logrado es gracias a El. No puedo olvidar a DON BOSCO que gracias a los sueños y aspiraciones que desde niño tenía, muchos jóvenes hemos logrado formar parte de su gran obra. A mis padres; gracias por su apoyo incondicional en el transcurso de estos años, soy consiente que gracias a la ayuda que me han brindado, he logrado concluir con éxito y satisfacción esta meta. A mis hermanos; les agradezco el tiempo que me han dedicado, pues siempre que necesite de su apoyo estuvieron allí para ayudarme. No puedo dejar de agradecer a mis compañeros; que más que compañeros se han convertido en verdaderos amigos debido a las incontables experiencias que a través del tiempo hemos compartido. A nuestro asesor; le agradezco el que me haya guiado en el desarrollo, porque gracias al conocimiento y esfuerzo compartido es que este trabajo ha sido todo un éxito. Desearía poder nombrar a todos y cada uno de los que directa o indirectamente han participado en esta grandiosa historia, pero faltarían páginas para expresar todo este agradecimiento que tengo para con ellos. Pero las siguientes palabras lo t d ············M h · t d 111111111111 expresan o o 111111111111 uc as gracias a o os .............. . Carlos Eduardo Velásquez Castro INDICE. INTRODUCCIÓN I I. MARCO REFERENCIAL ........................................................................................................ 1 1.1 ANTECEi)ENTES ..................................................................................................... 1 1.2 SITUACIÓN ACTUAL ............................................................................................. 3 1.3 DEFINICIÓN DEL TEMA ....................................................................................... 5 1.4 OBJETIVOS ............................................................................................................ 8 1.5 JUSTIFICACIÓN ..................................................................................................... 9 1.6 ALCANCES ............................................................................................................. 10 1.7 LIMITACIONES ...................................................................................................... 11 1.8 MARCO TEÓRICO 12 1.8.1 APLICACIONES EN INTERNET 12 1.8.2 SERVIDORES WEB .............................................................................. 13 1.8.3 REGULADOR DE VOLTAJE ................................................................. 15 1.8.4 SISTEMA DE ALIMENTACIÓN ININTERRUMPIDA ...................... 15 1.8.5 SISTEMA OPERATIVO LINUX RED HAT ........................................ 16 1.8.6 BASE DE DATOS 1.8. 7 FLUJOGRAMAS ------·------------------------. --------. --------. --. ------. --------. ------------- 1.8.8 DIAGRAMA DE FLUJO DE DATOS 1.8.9 CARACTERÍSTICAS Y VENTAJAS DE LAS TECNOLOGÍAS UTILIZADAS ·'- 1.8.9.1 RECURSOS TECNOLOGICOS NECESARIOS PARA EL FUNCIONAMIENTO DEL PROTOTIPO 16 17 18 20 DEL SISTEMA ....................................................................... 26 1.8.10 CONDICIONES ELÉCTRICAS, AMBIENTALES Y ESPACIALES ................................................................................... 27 1.8.11 MÉTODOLOGIA DE INVESTIGACIÓN 29 1.8.12 TÉCNICA DE PROGRAMACIÓN 30 1.8.13 SÍNDROME DE COLON IRRITABLE .............................................. 31 II. REQUERIMIENTO Y ANÁLISIS DE INFORMACIÓN ................................................... 34 2.1 IDENTIFICACIÓN Y RECOPILACIÓN DE INFORMACIÓN NECESARIA PARA EL EXPEDIENTE CLÍNICO DEL PACIENTE ................. 34 2.2 RECOLECCIÓN DE LA INFORMACIÓN NECESARIA PARA LA ELABORACIÓN DE LA HERRAMIENTA DE APOYO EN EL DIAGNÓSTICO DEL SÍNDROME DE COLON IRRITABLE ........................... 35 2.3 ELABORACIÓN DEL FORMATO ESTÁNDAR DEL EXPEDIENTE PARA UN PACIENTE ............................................................................................ 35 2.4 INTERACCIÓN DE LA HERRAMIENTA DE APOYO EN EL DIAGNÓSTICO CON EL REGISTRO DEL EXPEDIENTE 38 III. DISEÑO DEL PROTOTIPO DEL SISTEMA. .................................................................. 40 3.1 DIAGRAMAS DE FLUJO DE DATOS ................................................................. 40 3.2 ESTRUCTURA DE LA RED .................................................................................. .46 3.3 DICCIONARIO DE DATOS .................................................................................. 47 3.4 DIAGRAMA ENTIDAD-RELACIÓN 68 3.5 DISEÑO DE LAS INTERFACES GRÁFICAS DEL PROTOTIPO DEL SISTEMA Y DE LAS SALIDAS DEL MISMO (REPORTES) ................. 69 3.6 DESARROLLO DEL PROTOTIPO DEL SISTEMA 124 3.6.1 INSTALACIÓN DEL SOFTWARE A UTILIZAR Y CONFIGURACIÓN DEL SERVIDOR ................................................. 124 ·--- 3.6.2 INSTALACIÓN DE LA RED ................................................................. 126 3.6.3 REALIZACIÓN DEL MÓDULO DE REGISTRO DE EXPEDIENTES ................................................................................ 127 3.6.4 ELABORACIÓN DEL HISTORIAL ...................................................... 129 3. 7 INGRESO DE DATOS 134 3.8 PRUEBAS Y DEPURACIÓN ................................................................................. .135 3.9 RECURSOS PARA EL DESARROLLO 136 3.9.1 HARDWARE 3.9.2 SOFTWARE 3.9.3 HUMANOS 3.10 INFORMACIÓN OPERATIVA 136 137 137 138 IV. CONCLUSIONES ................................................................................................................ 140 V. RECOMENDACIONES ......................................................................................................... 141 FUENTES DE INFORMACIÓN ............................................................................................... 142 GLOSARIO ANEXOS INTRODUCCION. A medida pasa el tiempo, los avances de la ciencia han venido a formar parte del desarrollo cultural y tecnológico de nuestra sociedad, los cuales contribuyen a la ejecución de tareas cotidianas. Este fenómeno ha venido a situar a la Informática como una herramienta clave para la ejecución de actividades: Colegios y universidades utilizan sistemas de registro académico para tener un control más óptimo en la administración de calificaciones y pagos de sus estudiantes, bancos y otras entidades financieras llevan a cabo la gran mayoría de sus transacciones monetarias por medio de aplicaciones especialmente diseñadas para dichos propósitos. De igual forma, los hospitales y clínicas registran la información e historial clínico de sus pacientes haciendo uso de sistemas de este tipo; sin embargo, en el campo de la medicina, la computación es aplicada actualmente más allá del registro de información, de tal forma que hoy en día es aplicada al análisis de exámenes en laboratorio e incluso al diagnóstico de enfermedades, entre otros. , ... La presente investigación hace referencia al desarrollo de una herramienta informática que posee las características tecnológicas que suplen las necesidades de una red de clínicas, en cuanto al registro y control de información de los pacientes. Así mismo, es útil como apoyo al diagnóstico del Síndrome de Colon Irritable, para lo cual se han aplicado los principios y conocimientos del área de la computación. El contenido del documento está compuesto por diversas actividades, las cuales se han llevado a cabo con la finalidad de desarrollar la herramienta antes descrita. Para tal efecto, se ha dividido el mismo en las siguientes partes: • Definición del tema: Información general relativa al tema, desde los Antecedentes, Situación Actual, justificación y alcances planteados para el mismo. I • Levantamiento de requerimientos y análisis: Se especifica la forma como se recolectó y analizó la información que se utilizó posteriormente para la generación de las opciones con que cuenta el Prototipo del Sistema. • Diseño: Se presenta detalladamente el diseño de la base de datos, diagramas de flujo de datos y las interfaces que componen el Prototipo del Sistema, así como la estructura de la red utilizada para el desarrollo del proyecto. • Desarrollo: Detalla el proceso realizado en la instalación del software, configuración del servidor, instalación de la red y desarrollo del módulo de registro de pacientes en el Prototipo, así como el proceso de creación del módulo del historial del paciente. II l. MARCO REFERENCIAL 1.1 ANTECEDENTES. El uso de sistemas computacionales en el área de la medicina es algo que se hace cada vez más necesario. Actividades como el registro de pacientes y el control de expedientes se han convertido en procesos demasiado tediosos como para llevarse a cabo manualmente, especialmente en aquellas clínicas donde existe un alto volL1men de expedientes que deben administrarse. En vista de esto, muchas clínicas actualmente están haciendo uso de sistemas que les permitan tener un mejor control de los expedientes de sus pacientes y, por ende, brindarles una mejor atención. Organizaciones No Gubernamentales (ONG's) en algunos casos han apoyado a diferentes hospitales en la adquisición de este tipo de sistemas, con el fin de brindar un mejor tiempo de respuesta a los pacientes y, por ende, un mejor servicio. Ejemplo de ello es el apoyo económico de la Corporación Técnica Alemana en el año 2003 al Hospital ·'- Nueva Guadalupe en San Miguel, para el levantamiento de requerimientos y análisis para el desarrollo e implementación de un sistema de control de registro clínico en dicho hospital. 1 Hasta el momento, la mayoría de los sistemas que se utilizan en las clínicas están encaminados hacia actividades de control y registro, así como en la generación de reportes y control de inventarios de medicamentos; sin embargo, la información que se maneja es relacionada únicamente con los expedientes que existen o han sido creados en dichos centros asistenciales de salud; es decir, no existe una centralización de la información clínica de los pacientes, que permita a las clínicas trabajar con un expediente "único" para cada uno de ellos. 1 "Estudio preliminar para la elaboración e implementación del Subsistema de registro clínico para el SIBASI de Nueva Guadalupe", Proyecto de pasantías realizado a través de la Universidad Don Bosco en el año 2003. 1 El Instituto Salvadoreño del Seguro Social (ISSS), tiene implementado desde hace un poco más de siete años un sistema para los fines de uso del Departamento de Trabajo Social. Este sistema le permite a dicho departamento, tener acceso a información general de los asegurados (Nombre, dirección, teléfonos, etc.) desde cualquier lugar del país, ya que ellos utilizan esta información para llevar a cabo parte de sus actividades diarias. Hace algunos años, surgió en el ISSS la idea de crear un sistema con el fin de hacer más fácil y efectivo el proceso de reservación de citas a través de Internet; sin embargo, el proyecto no fue continuado ni llegó a ser desarrollado 2 • 2 Dr. Francisco Burgos Marroquín, Médico General Ministerio de Salud Pública y Asistencia Social, Instituto Salvadoreño del Seguro Social (ISSS). 2 1.2 SITUACIÓN ACTUAL Actualmente existe una diversidad de sistemas de información con fines específicos para satisfacer las necesidades de usuarios en diferentes sectores de la sociedad; un ejemplo de ello es el Paquete Estadístico para las Ciencias Sociales (SPSS por sus siglas en Inglés), el cual proporciona estadísticas potentes y gráficos reveladores, entre otras útiles e innovadoras características. La amplia gama de opciones de SPSS para llevar a cabo todo el proceso analítico, proporciona las respuestas que las hojas de cálculo y las bases de datos no pueden entregar. Con SPSS se puede generar información para la toma de decisiones de forma rápida (descubriendo factores claves, patrones y tendencias) utilizando potentes procedimientos estadísticos, para comprender y representar de forma efectiva sus resultados en tablas y gráficos de alta calidad y compartir sus resultados con otros, utilizando una gran variedad de métodos de generación de informes, incluyendo una publicación en la Web de forma segura. Durante los últimos 30 años, muchos profesionales han utilizado SPSS para hacer análisis de bases de datos y data mining (proceso posterior a la ·'- recopilación de los datos, consistente en su análisis sistemático y periódico, que transforma los datos en información útil y manejable para la toma de decisiones3), investigaciones de mercados, entre otros, dado que SPSS es un software ideal para resolver problemas reales de empresas e investigadores utilizando métodos estadísticos.4 En el campo de la medicina, el sistema SPSS es ampliamente utilizado por quienes se desempeñan en el área de la epidemiología (general, clínica, de campo entre otras), la investigación, la educación en salud y otras áreas, en donde se requiera de la computación estadística para el procesamiento y análisis de datos. Es tan importante el beneficio de este sistema en este entorno que en el transcurso del año 2004 se impartieron cursos dirigidos a todos los profesionales en las áreas anteriormente descritas, con el fin de introducirlo más 3 http://www.microsoft.com/spain/empresas/tecnologia/data mining.mspx; visitada 7 de julio de 2004. Empresa: Microsoft, desarrollo y distribución de software para computadoras. 4 La Prensa Gráfica, edición 8 de enero de 2004, pág. 46. 3 a fondo en el sector salud de nuestro país, para mejorar la obtención de estadísticas epidemiológicas a través de su uso. 5 La utilización de las computadoras para la obtención de diagnósticos médicos es cada vez más investigada e implementada en diferentes países. Por ejemplo, en Japón, el Neurocirujano Hiroaki Otose6, ha puesto a disposición de todos los usuarios de Internet una herramienta cuyo fin es facilitar los diagnósticos neurológicos. Esta herramienta hace uso de una interfaz gráfica sencilla a través de un navegador Web, planteando una serie de preguntas referentes a síntomas que los pacientes puedan presentar, se procesa la información que ha seleccionado el usuario y emite un diagnóstico, cuando aplica. 5 La Prensa Gráfica, edición 8 de enero de 2004, pág. 46. 4 1.3 DEFINICIÓN DEL TEMA. DISEÑO Y DESARROLLO DE UN PROTOTIPO PARA UN SISTEMA DE REGISTRO, CONTROL Y APOYO EN EL DIAGNÓSTICO DE LOS PACIENTES, PARA UNA RED DE CLÍNICAS. La finalidad fue desarrollar una herramienta capaz de administrar la información necesaria de los pacientes, para digitalizar los expedientes clínicos que estén disponibles en el entorno de sistema multiusuarios. Las personas que podrán hacer uso del prototipo del sistema serán los médicos de las clínicas, el personal administrativo de las mismas y pacientes en general que necesiten hacer reservaciones de citas, teniendo en cuenta que la forma en que interactuarán los 11suarios con el prototipo del sistema será sumamente distinta a comparación de los médicos, en dependencia de los permisos otorgados. La información que se registra en el expediente incluye, el historial del paciente, los medicamentos que le han sido recetados y los lugares en los cuales ·'- ha sido atendido; esto contribuirá a tener un banco de datos completo y, con base en éste, facilitar la toma de decisiones en el momento de emitir un diagnóstico. La forma como los pacientes pueden hacer sus citas es a través de Internet, previo registro de los mismos, se realizará como sigue: Cada paciente proporcionará el horario en que desea la cita, en caso de no haber disponibilidad el prototipo del sistema le mostrará horarios disponibles para que el paciente pueda seleccionar el que mejor le convenga. Las funciones de la Herramienta de apoyo en el diagnóstico, que trabaja en conjunto con el módulo de registro de expedientes son: 6 http://www.minc.ne.jp/~hotose/neurodiaq/neurodiaq.html; visitada 6 de enero de 2004. 5 1) Emitir diagnósticos de enfermedades de los pacientes en relación con el Síndrome de Colon Irritable, con base en los síntomas que presente. Esto le ayuda al médico a emitir el diagnóstico más adecuado según el historial .:línico del paciente y su sintomatología, el cual es almacenado posteriormente en el expediente. 2) Generar un listado de medicamentos sugeridos, para tratar los síntomas que presente el paciente, permitiendo al doctor seleccionar los más apropiados para tratar al paciente. Esta información se genera a partir de los datos existentes en el catálogo de medicamentos que el prototipo del sistema tiene almacenado. También, es posible la generación de estadísticas, basándose en la información que el prototipo del sistema tendrá registrada en el expediente clínico del paciente. Para tal efecto, se investigaron los diferentes tipos de datos estadísticos que se necesitan para la creación de los reportes que se generan de una forma detallada. Todas estas opciones del prototipo del sistema han sido desarrolladas para trabajar en ambiente Web, por lo que puede ser instalado en el Servidor Web, lo que da lugar a que un usuario autorizado pueda interactuar con el prototipo del sistema desde cualquier computadora que posea acceso a Internet. En la siguiente figura se muestra un esquema de la forma como el prototipo del sistema trabaja. 6 Doctores Expediente ~L /"" Í:i .. ¡,:, ~ ¡.fr~.•- Web Server Internet .=======i,rFc!,, ",7¡ ¡, Jr ~ I:;: - -] Computadora 1 ·~t, Usuarios Figura 1.1 Esquema del Funcionamiento del Prototipo del Sistema En la figura 1.1 se muestra cómo funciona el prototipo del sistema y cómo interactúan todas las partes involucradas. Como primer punto se observa al médico, quien es el que interactúa directamente con el expediente de los pacientes, es decir, lo alimenta o actualiza con información para que dicho expediente esté disponible en un servidor Web. El expediente puede ser accedido a través de Internet por los usuarios autorizados y pacientes previamente registrados, con el fin de hacer uso de cada una de las partes del prototipo del sistema a las cuales ellos tengan permiso. 7 1.4 OBJETIVOS. GENERAL Diseñar y desarrollar un Prototipo de un Sistema para una red de clínicas, que registre el expediente de sus pacientes, y permita dar apoyo en el diagnóstico de enfermedades, generando resultados estadísticos. ESPECIFICOS • Elaborar el formato electrónico del expediente clínico, con sus características generales, que se utilizará en el desarrollo del prototipo del sistema. • Clasificar y estructurar la información necesaria para que el prototipo del sistema sea capaz de dar apoyo al momento de emitir diagnósticos relacionados con el Síndrome de Colon Irritable y prescriba posibles medicamentos. • Investigar qué tipos de estadísticas son las más comunes y determinar cuáles de éstas podrán ser generadas por el prototipo del sistema. • Diseñar una base de datos, que se adapte a la información que se verá involucrada en los procesos identificados. • Crear las interfaces de usuario que permitan una buena visualización e interpretación de la información. • Desarrollar el prototipo del sistema con cada uno de sus módulos, los cuales interactuarán entre sí. 8 1.5 JUSTIFICACIÓN. A medida avanza la tecnología, las personas y las empresas optan por utilizarla como instrumento para la ejecución de actividades cotidianas, en vista que puede ayudar al manejo de información importante, útil para la realización de transacciones de forma automatizada y precisa. En el entorno de la atención de los pacientes en una red de clínicas, tener los expedientes disponible en formato digital, hace que se pueda mejorar la atención y que se ahorre tiempo a los pacientes, evitando el tedioso proceso de registro del expediente cada vez que asisten a una clínica distinta, ya que solo será necesario registrarlo una vez sin importar en qué clínica sea, permitiendo atender a un mayor número de pacientes. Otro punto importante que se logra con el desarrollo de herramientas informáticas, es facilitar el trabajo a los médicos a través de un mejor diagnóstico y una forma más optima de recetar medicamentos; dándole un valor agregado al -'- servicio prestado a los pacientes (esto les facilita, garantiza y da seguridad que el diagnóstico y los medicamentos prescritos son los adecuados). Se ha seleccionado el Síndrome de Colon Irritable debido que, la información que se ha obtenido de esta enfermedad fue proporcionada por un médico gastroenterólogo a quien se ha contactado7, además con la bibliografía recomendada. Tener un panorama claro de cómo está la situación actual en torno a la salud, es de mucha importancia, ya que permite el análisis y la toma de decisiones estratégicas en el momento oportuno. 7 Dr. Saúl Gómez, Hospital Nacional "Dr. Luis Edmundo Vásquez", Chalatenango. 9 1.6 ALCANCES. • Desarrollo de un prototipo de sistema, sobre plataforma LINUX, que permite la creación, control y mantenimiento de los expedientes de los pacientes de una red de clínicas, el cual puede ser utilizado y actualizado por el personal autorizado de cualquiera de estas clínicas. • Se cuenta con una herramienta de diagnóstico en el área de la Gastroenterología, específicamente para el Síndrome de Colon Irritable, la cual comprende un grupo de enfermedades. El módulo genera un listado de los posibles medicamentos que se puedan prescribir de acuerdo a los síntomas presentados. Por tratarse de un prototipo solo abarca el área antes mencionada, pero para poder implementarse en el futuro en otras áreas, bastará con recolectar y estructurar la información que se ingresará en la herramienta que dará el apoyo al diagnóstico. • La forma en que el Prototipo del sistema estará disponible para su uso por ., parte de las clínicas y de los pacientes es a través de Internet. • Los pacientes podrán hacer citas para consultas con cualquier médico disponible, di::sde donde se encuentren; siempre y cuando cuenten con una computadora con acceso a Internet. • Es posible la obtención de estadísticas sobre la atención a los pacientes (Ej.: Reporte de casos de Síndrome de Colon Irritable atendidos por mes). • La base de datos estará contenida en un servidor central y será respaldada por medio de copias de seguridad de toda la información, previniendo posibles pérdidas de la misma. 10 1.7 LIMITACIONES. • Los medicamentos que dicha herramienta genere son una muestra de todos los existentes para tratar las enfermedades y/o síntomas. • El prototipo del sistema se ha desarrollado para ser completamente funcional utilizando el navegador Internet Explorer, debido a los problemas que puedan surgir con otros tipos de navegadores, con respecto a la interpretación del lenguaje utilizado (VBScript solo es interpretado por Internet Explorer). • No se encarga de facturaciones ni control de ningún tipo de contabilidad que pueda existir. • El prototipo esta dividido o conformado en cuatro módulos: 1) Registro y control de expediente clínico. 2) Herramienta de apoyo para el diagnóstico de enfermedades ·'- gastrointestinales en la especialidad del Síndrome de Colon Irritable. 3) Reservación de citas. 4) Reportes estadísticos. 11 1.8 MARCO TEÓRICO. Este apartado contiene la información correspondiente a las definiciones, características y ventajas de las herramientas que se utilizarán a lo largo del proceso para el desarrollo y funcionamiento del prototipo de sistema. 1.8.1 APLICACIONES EN INTERNET. Las aplicaciones web son formularios pre-formateados que envían mensajes instantáneos, permitiendo a un usuario final acceder a la información contenida en él. Están diseñadas para interactuar con bases de datos con el fin de recibir, almacenar, organizar y distribuir información, creando herramientas poderosas a ser utilizadas en la administración consistente de la información. Las aplicaciones web son aplicaciones basadas en "cliente/servidor", que consiste en un servidor que sabe cómo proporcionar un servicio y un cliente que desea acceder al serviciú. Algunas ventajas de las aplicaciones en internet son: • A diferencia de programas desarrollados bajo lenguajes propietarios, no se hace necesario la compra de licencias de software para cada una de las computadoras en las cuales se utilizará el sistema. • Posibilidad de ejecutar las aplicaciones y tener acceso a los datos desde cualquier ordenador, u otra tecnología como Móvil, PDA8 , e-Book9 • en cualquier parte del mundo. 8 PDA: Agenda electrónica que habitualmente tiene capacidad para estar interconectada con el ordenador, permitiendo así transferir la información de uno a otro dispositivo. 9 e-Book: Dispositivo electrónico, que puede ser una computadora u otro sistema más específico, el cual almacena una gran cantidad de obras que un lector puede consultar. 12 1.8.2 SERVIDORES WEB. La información es obtenida de estos Servidores a través del navegador utilizado por los usuarios. En términos técnicos, los servidores Web soportan el Protocolo de Transferencia de Hyper texto conocido como HTTP (Hyper Text Transfer Protocol), el estándar de Internet para comunicaciones Web. Usando HTTP, un servidor Web envía páginas Web en HTML1º y CGI11 , así como otros tipos de scripts12 a los navegadores o browsers cuando éstos lo requieren. Cuando un usuario hace clic sobre un enlace (link) a una página Web, se envía una solicitud al servidor Web para localizar los datos nombrados por ese enlace. El servidor Web recibe esta solicitud y suministra los datos que le han sido solicitados (una página HTML, un script interactivo, una página Web generada dinámicamente desde una base de datos, etc.) o bien devuelve un mensaje de error. Seguridad. La seguridad en redes de telecomunicaciones está fundamentada en tres elementos: • La Integridad. Se refiere a que el contenido y el significado de la información no se altere al viajar por una red, no obstante el número y tipo de equipos que se encuentren involucrados; la infraestructura utilizada debe ser transparente para el usuario. • La Confiabilidad. Implica que el servicio debe estar disponible en todo momento. • La Confidencialidad. Es quizá la parte más estratégica del entorno, ya que contribuye a impedir que personas no autorizadas lean y conozcan la información que se transmite. 10 HTML: Lenguaje de etiquetas por hipertexto. Formato simple de documentos en hipertexto que usa etiquetas para indicar cómo una aplicación de visualización. 11 CGI: El CGI por sus siglas en inglés 'Common Gateway Interface' es de las primeras formas de programación web dinámica. En sí, es un método para la transmisión de información hacia un compilador instalado en el servidor. 12 Scripts: pequeño lenguaje de programación cuyo código se inserta dentro del documento HTML. 13 Los Servidores Web permiten a los clientes compartir datos, documentos y multimedia en formato Web. Aunque es parte de la tecnología Cliente-Servidor, el servidor Web aporta algunas ventajas adicionales, como acceso más simple a la información. El término cliente/servidor describe un sistema en el que una máquina cliente solicita a una segunda máquina llamada servidor que ejecute una tarea específica. El programa cliente cumple dos funciones distintas: Por un lado gestiona la comunicación con el servidor, solicita un servicio y recibe los datos enviados por aquél. Por otro, maneja la interfaz con el usuario; presenta los datos en el formato adecuado y brinda las herramientas y comandos necesarios para que el usuario pueda utilizar las prestaciones del servidor de forma sencilla. El programa servidor, en cambio, tiene que encargarse de procesar la petición y transmitir la información de forma eficiente. No tiene que atender al usuario. De esta forma, un mismo servidor puede prestar servicios a varios clientes al mismo tiempo. La mayoría de servidores añaden algún nivel de seguridad a sus tareas. Por ·'- ejemplo, si se accesa a alguna página y el navegador presenta una ventana de diálogo que pregunta el nombre de usuario y contraseña, se ha encontrado una página protegida por contraseñas. El servidor deja que el dueño o el administrador del servidor mantenga una lista de nombres y contraseñas para las personas a las que se les permite ver la página, y el servidor deja que sólo esas personas quienes saben la contraseña tengan acceso; a esto comúnmente se le llama autenticacié~ de usuario. Un servidor de páginas web muy utilizado es el servidor Web Apache, el cual está diseñado de forma modular; consiste en muchas porciones de código que hacen referencia a diferentes aspectos o funcionalidades del servidor Web. Esta modularidad trae muchas ventajas, con lo cual, cada desarrollador puede escribir su propia porción de código para cubrir una necesidad en particular. Su código, llamado módulo, puede ser integrado en el servidor Web. 14 1.8.3 REGULADOR DE VOL TAJE. Un regulador de voltaje es un dispositivo utilizado para mantener el voltaje de salida de una fuente de corriente directa en un valor constante. Su función consiste en proteger los aparatos eléctricos y electrónicos contra altos y bajos voltajes, además protege de igual forma las variaciones de voltaje que podrían resultar dañinas para las líneas telefónica que se conectan al Modem de una computadora o hacia aparatos de fax. 13 Los reguladores de voltaje deben ser conectados al tomacorriente, de forma que los equipos que se desean proteger deben conectarse directamente al regulador de voltaje. 1.8.4 SISTEMA DE ALIMENTACIÓN ININTERRUMPIDA. Un Sistema de Alimentación Ininterrumpida 14 (UPS por sus siglas en Inglés), es un dispositivo de seguridad de respaldo diseñado para suministrar una fuente de alimentación ininterrumpida en caso que se produzca una interrupción del suministro de energía. Un UPS se compone de una serie de baterías, un cargador de batería y un inversor de energía eléctrica. Las funciones de cada uno son las siguientes: • Inversor: convierten el voltaje de corriente directa de bajo nivel de las baterías en el voltaje de corriente alterna, normalmente suministrado por la línea de alimentación eléctrica, que necesita el equipo informático. • Cargador de batería: diseñado para mantener las baterías en condiciones óptimas durante los períodos en que el sistema de línea de alimentación eléctrica está funcionando normalmente. • Baterías: generalmente, cuanto más grande son las baterías en un UPS, mayor será el tiempo que pueda soportar los dispositivos conectados a él durante los cortes de energía. 13 www.cavarcomputacion.com/boeltin/regulador.htm. Empresa "CA V AR Computación", Diseño de Sitios en Internet y comercialización de equipo de cómputo, México. 14CD del Programa de la Academia de Redes de Cisco Systems "CCNA" (Cisco Certified Network Associate Currículum), Semestre I, Capítulo VIII. 15 1.8.5 SISTEMA OPERATIVO LINUX RED HAT. Red Hat es un sistema operativo que ofrece una interfaz gráfica más agradable. Esta interfaz ofrece temas, barras, menús y muchas más opciones gráficas. También contiene un buen número de aplicaciones actualizadas incluyendo la suitP. Open Office15, así como el navegador Mozilla 1.0.1. Se incluye una suite de herramientas para configurar diversos servicios del sistema incluyendo los servidores de Apache, Samba, ajustes de la red, Firewall 16, y los periféricos. 1.8.6 BASE DE DATOS. Una base de datos se define como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información. Las bases de datos proporcionan la infraestructura requerida para los sistemas de apoyo a la toma de decisiones y para los sistemas de información estratégicos, ya que estos sistemas explotan la inforcnación contenida en las bases de datos de la organización para apoyar el proceso de toma de decisiones o para lograr ventajas competitivas. a. Componentes principales de una base de datos. • Datos. Es toda la información que se encuentra almacenada en la base de datos; es decir, cada uno de los registros que la componen. • Hardware. Se refiere a los dispositivos de almacenamiento en donde reside la base de datos, así como a los dispositivos periféricos (unidad de control, canales de comunicación, etc.) necesarios para su uso. • Software. Está constituido por un conjunto de programas que se conoce como Sistema Manejador de Base de Datos (DMBS: Data Base 15 Open Office: Es una excelente suite de oficina totalmente gratuito, además es completamente compatible con todas las versiones de Microsoft Office. 16 Firewall: Router o servidor de acceso o varios routers o servidores de acceso designados como búfer entre cualquier red pública conectada y una red privada. 16 Management System). Este sistema maneja todas las solicitudes formuladas por los usuarios a la base de datos. b. Clases de usuarios relacionados con una Base de Datos: • • El programador de aplicaciones, quien crea programas de aplicación que utilizan la base de datos. El usuario final, quien accesa la Base de Datos por medio de un lenguaje de consulta o de programas de aplicación. • El administrador de la Base de Datos (DBA: Data Base Administrator), quien se encarga del control general del Sistema de Base de Datos. c. Ventajas de las bases de datos. • Globalización de la información. Permite a los diferentes usuarios considerar la información como un recurso corporativo que carece de dueños específicos. • Eliminación de información redundante. • Permite compartir información. Varios sistemas o usuarios pueden utilizar una misma entidad. • Permite mantener la integridad en la información. Solo se almacena la información correcta. • Independencia de datos. La independencia de datos implica un divorcio entre programas y datos; es decir, se pueden hacer cambios a la información que contiene la base de datos o tener acceso a la base de datos de diferente manera, sin hacer cambios en las aplicaciones o en los programas. 1.8.7 FLUJOGRAMAS. Un flujograma 17 es una representación gráfica de la secuencia e interrelación entre todos los pasos de un proceso complejo y que se reflejan en una secuencia de símbolos. Es aplicable a cualquier tipo de proceso por simple o 17 www.calidad.org!public/arti2002i I O I 6739183 renwal.htm; Fundación Latinoamericana para la Calidad, Chile. Se encarga de promover la excelencia en el desempeño individual y de organizaciones a nivel mundial 17 complicado que éste sea y permite entenderlo, analizarlo, mejorarlo o reestructurarlo. Los símbolos utilizados en este tipo de representación gráfica son los siguientes: a. Bloques: Representan acción o decisión. Un bloque de acción representa una actividad; mientras que un Bloque de decisión es una forma de expresar una consulta acerca del cumplimiento o no de una determinada condición o alternativa. Según sea la respuesta que se dé a dicha consulta (verdadero o falso) se seguirán diferentes caminos. El bloque Documento especifica una salida (reporte, documento, etc.) mientras que el bloque Inicio representa el punto de partida del procedimiento analizado. b. Líneas: Comunican a los bloques y determinan el orden secuencial en que deben ser considerados. Bloque de acción Bloque Documento ) Línea de flujo ( Inicio/Fin . Figura 1-2 - Símbolos utilizados en un Flujograma 1.8.8 DIAGRAMA DE FLUJO DE DATOS. El DFD18 (f")iagrama de Flujo de Datos), es una técnica gráfica que representa el flujo de la información a través de un sistema, que funciona como una red de procesos conectados entre si, además las transformaciones que se aplican a los datos al moverse desde la entrada hasta la salida de el sistema. 18 http://www.canalvisualbasic.net/db/tema2.asp, sitio particular dedicado a la publicación e intercambio de información sobre Visual Basic. 18 A continuación se describen los símbolos utilizados para construir un DFD: El proceso. El proceso muestra una parte del sistema que transforma entradas en salidas; es decir, muestra cómo es que una o más entradas se transforman en salidas. El proceso se representa gráficamente como un rectángulo con esquinas redondeadas. Generar Estadísticas Figura 1-3. Proceso Los nombres de los procesos son representativos con los que hacen en el software. El flujo. Un flujo se representa gráficamente por medio de una flecha que entra o sale de un proceso. El flujo se usa para describir el movimiento de bloques o paquetes de información de una parte del sistema a ,otra. Por ello, los flujos representan datos en movimiento. Parámetros ------. Figura 1-4. Flujo Los flujos realmente representan datos, es decir, caracteres, mensajes, números de punto flotante y los diversos tipos de información con los que se suele tratar en el sistema. El almacén. El almacén se utiliza para modelar un conjunto de paquetes de datos en reposo, o sea que representa el almacenamiento o depósito de los datos, además permite consulta o adición de los mismos. Expediente Figura 1-5. Almacén 19 Los almacenes de datos se implementan en tablas que pertenecen a una base de datos. El Terminador. Un terminador gráficamente se representa como un rectángulo. Los terminadores representan entidades externas con las cuales el sistema se comunica. Comúnmente un terminador es una persona o un grupo. Administración Figura 1-6. Terminador El terminador en este caso representa al usuario del sistema. Diagrama de Flujo de Datos por niveles. Deben evitarse DFD muy complejos y por eso se opta por diseñar un DFD global en una serie de niveles de modo que cada uno proporcione sucesivamente más detalles sobre una porción del nivel anterior. El DFD de primer nivel consta sólo de una burbuja, que representa el sistema completo; los flujos de datos muestran las interfaces entre el sistema y los terminadores externos (junto con los almacenes externos que pudiera haber). Este DFD especial Je conoce como Diagrama de Contexto. El DFD que sigue del diagrama de Contexto se conoce como la figura O. Representa la vista de más alto nivel de las principales funciones del sistema, al igual que sus principales interfaces. 1.8.9 CARACTERÍSTICAS Y VENTAJAS DE LAS TECNOLOGÍAS UTILIZADAS. Para lograr seleccionar la herramienta con la cual se va a desarrollar el prototipo del sistema, se han tomado en cuenta los siguientes criterios: 20 1. La experiencia en la utilización de estas herramientas de desarrollo que, se puede decir, son de dominio. 2. La utilización de software libre no genera costo en cuanto a su adquisición. Estos criterios harán más fácil y menos costoso el desarrollo del prototipo del sistema. Haciendo referencia a la utilización de software libre, es de enmarcar, específicamente, cuatro herramientas indispensables que en los últimos tiempos, gracias a su perfecta interacción entre sí, forman una plataforma de trabajo muy sólida y segura. Junto al sistema gestor de bases de datos MySQL19, se encuentra el lenguaje de ger.eración dinámica de contenidos web PHP20 y LINUX y además el servidor Apache, los cuales forman la plataforma LAMP21 (Sigla construida a partir de la combinación de palabras LINUX-Apache-MySQL-PHP), que, dada su potencia y gratuidad, viene empujando muy fuerte en el campo de los servidores en Internet. A continuación se detallan las herramientas (Software) a utilizar para el desarrollo de la aplicación, listando las características y ventajas que ofrecen cada una de ellas. LINUX Características • Es un sistema operativo de código abierto( open source), eficiente y tiene un excelente disefío. • Soporta el protocolo TCP/IP22 como otros protocolos. 19 MySQL: sistema de administración de bases de datos potente, cuya principal virtud es que es totalmente gratuito 20 PHP: lenguaje de programación orientado a servidor, es decir, la operación de compilación se da en el servidor en el que esté puesta una página web. 21 LAMP: Sigla construida a partir de la combinación de palabras LINUX-Apache-MySQL-PHP 22 TCP/IP: protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. 21 • Proporciona una interacción sencilla y transparente con otros sistemas. • Servidor de comunicaciones: puede trabajar como gateway23 , firewall, proxy24 o servidor de módems, entre otros, ofreciendo además otros servicios populares com0 caché WWW25 o autentificación de usuarios. Ventajas • Los sistemas de permisos hacen de LINUX un sistema robusto y no permiten daños del sistema de archivos más allá del propio usuario: Si un usuario resulta afectado, la mayor pérdida serán sus archivos, pero el ordenador y el sistema operativo no sufrirán ningún daño (a menos que este sea el root26 ). • Existe una buena comunicación entre programas, debido al diseño de LINUX basado en la "modularidad". Es decir, cada programa cumple una función sencilla (o compleja, pero una) y la cumple bien. A partir de ahí, se van "encadenando" los programas. • LINUX no se limita a ejecutar sus propias aplicaciones y programas, sino que se extiende y adapta a otras plataformas, esto lo hace por medio de programas de emulación para que dentro de LINUX se puedan correr aplicaciones y programas de otros sistemas operativos. • Al igual que UNIX27, está basado en un robusto sistema de permisos usuarios. • Otras de las ventajas que el sistema operativo LINUX tiene son la estabilidad del sistema, la confiabilidad, la seguridad y es liviano. APACHE Características • Independencia de plataforma, es decir que no importa el sistema operativo en el que funcione. 23 Gateway: En la comunidad IP, ténnino antiguo que se refiere a un dispositivo de enrutamiento. 24 Proxy: Aplicación o un dispositivo hardware que hace de intennediario entre los usuarios, nonnalmente de una red local, e Internet. 25 WWW: World Wide Web. Red de servidores de Internet de gran tamaño que suministra hipertexto y otros servicios 26 Root: Nombre asignaJ." al usuario "Administrador" de un sistema Linux. 27 UNIX: Sistema operativo desarrollado en 1969 en los laboratorios Bel!. .UNIX ha pasado por varias iteraciones desde sus comienzos. 22 • Permite personalizar la respuesta ante los posibles errores que se puedan dar en el servidor. • Es posible configurar Apache para que ejecute un determinado Script cuando ocurra un error en concreto. Ventajas • Fiabilidad. Alrededor del 90% de los servidores con más alta disponibilidad funcionan con Apache28 • • Apache es totalmente gratuito, y se distribuye bajo la licencia Apache Software License, que permite la modificación del código. • Extensibilidad, se pueden añadir módulos para ampliar las, ya de por sí, amplias capacidades de Apache. MYSQL Características • Gestor de bases de datos SQL (Structured Query Language). • Este gestor de bases de datos es un gestor usado en el mundo del software _.._ libre, debido a su gran rapidez y facilidad de uso. Esta gran aceptación es debida, en parte, a que existen infinidad de librerías y otras herramientas que permiten su uso a través de gran cantidad de lenguajes de programación, además de su fácil instalación y configuración. Ventajas • Consume muy pocos recursos, tanto de CPU como de memoria. • Posee mayor rendimiento, mayor velocidad tanto al conectar con el servidor como al servir peticiones de diferente índole. • Posee mejores utilidades de administración (backup, recuperación de errores, etc.). • Aunque falle, no suele perder información ni corromper los datos. • Posee mejor integración con PHP. • Posee un mejor control de acceso, en el sentido de qué usuarios tienen acceso a qué tablas y con qué permisos. 28 http://www.ciberaula.com/curso/apache/que es/; Empresa: Asociación Española de Internet, Giro: Educación 23 PHP Características • PHP es un lenguaje interpretado de alto nivel, integrado en páginas HTML y ejecutado en el servidor. Ventajas • Se ejecuta a través de una interfaz que le resulta familiar al usuario del cliente web. • No es necesario tener que instalar algún software adicional en la estación del cliente para usar un programa de PHP aparte del propio navegador web. • La ejecución de un programa PHP se puede realizar desde un cliente web de cualquier plataforma; el usuario puede escoger su sistema operativo y su cliente web preferidos. • El programa se ejecuta en un servidor al cual se puede acceder desde cualquier puesto de una red. • Al tener el código ejecutable albergado en un servidor, este código está protegido tanto de la manipulación de los usuarios como de la presencia de virus. • La integración del PHP es muy buena con Apache. HTML Características • HTML es el lenguaje con el que se definen las páginas web. Básicamente se trata de un conjunto de etiquetas que sirven para definir la forma en la que presenta el texto y otros elementos de la página. Ventajas • Puede incorporar abundante información descargada de Internet: Hasta sitios completos. • Es universal. Puede leerse prácticamente con cualquier computador y cualquier navegador. • Su lectura no tiene costos adicionales. 24 • Los archivos se leen directamente en su equipo. Pueden ser grandes y leerse más rápidamente. VBSCRIPT Características • Lenguaje de script que, incorporado a las etiquetas Html permite aumentar la presentación y la interactividad de las páginas Web. • VBScript lleva la ejecución de secuencias de comandos en una variedad de entornos: en clientes Internet Explorer y servidores Internet Information Server. Los scripts son interpretados y ejecutados por el navigador (lado cliente) sin tener que utilizar recursos del servidor. • VBscript recoge la lógica y la sintaxis de Visual Basic. Se puede considerar VBscript como un subconjunto de Visual Basic. Ventajas • Es muy intuitivo y fácil de usar. • Posee una alta :olerancia a errores de sintaxis. ·'- • El código es cómodo para depurar, ya que no es necesario volver a compilar tras un cambio. • No es necesario disponer de un compilador, ya que el intérprete ( que forma parte del navegador) ejecuta el script. • El mantenimiento es fácil y rápido, por parte del autor o de otro programador. • Se puede ejecutar inmediatamente según se carga la página, o en función de eventos. • El código puede ser externo, o estar embebido en el HTML de la página. Nota: El navegador que las computadoras clientes utilizarán es Internet Explorer, debido a que la mayoría de PC's cuentan con dicho navegador. Además este navegador soporta el lenguaje Script que el prototipo del sistema utilizará. 25 1.8.9.1 RECURSOS TECNOLÓGICOS NECESARIOS PARA EL FUNCIONAMIENTO DEL PROTOTIPO DEL SISTEMA. Hardware. Las siguientes especificaciones son lo mínimo con lo que se debe contar: Servidor. ($1,800.00) • Microprocesadcr de 2.00 GHz • 512 MByte de Memoria RAM • Disco Duro de 40 Gbyte • MODEM 56 K V.90 • Acceso a Internet • Tarjeta de red Intel EthernetExpress(TM) PRO/10+ (PnPEnabled) • Sistema Operativo Linux Red Hat Adquisición de un servicio de Hosting ($40.00 mensuales). • 3 Gb de espacio en disco. • 100 Gb de Tráfico. • Soporte para PHP, MySql. • Respaldo de Información. • Seguridad garantizada. • Soporte técnico de 24 Horas los 7 Días a la semana. PC ($450.00). • Pentium III de 1.00 GHz • 20 GByte de disco rígido • 128 Mb de memoria RAM • Modem 56 K V.90 • Acceso a Internet • Tarjeta de red Intel EthernetExpress(TM) PRO/10+ (PnP Enabled) • Sistema Operativo Windows 98 • Internet Explorer 6.0 en adelante 26 SWITCH. • El número de puertos depende de la cantidad de PC's que se tengan. CABLES UTP. • Categoría SE. UPS. • Depende de los Watts de la fuente de las PC's. Nota: Los componentes antes descritos, dependen de la cantidad de PC's que puedan formar parte en una red y el número de clínicas que puedan existir, excepto por el servidor. Software. • PHP: Generador de Contenidos Web. • MySQL: Base de Datos. • Apache: Servidor Web. • Sistema Operativo Windows: Versión 98 o superior con Internet Explorer versión 6.0, máquinas clientes. • Sistema Operativo LINUX: Red Hat, para servidor. Adquisición de servicio de Internet para cada una de las clínicas para poder accesar al prototipo del sistema. 1.8.10 CONDICIONES ELÉCTRICAS, AMBIENTALES Y ESPACIALES. Así como las condiciones técnicas, deben tomarse en cuenta ciertos aspectos para el correcto funcionamiento del sistema. Entre ellas, una de las más importantes es la consideración del espacio físico que se asigne, dentro de las instalaciones, al equipo que se utilice para dar servicio dentro de una clínica. Es de recordar que el equipo involucra, entre otros, equipos delicados como lo son 27 los Switches29 , además de la máquina que funcione como el servidor en el cual se almacenará la aplicación. Teniendo en cuenta lo anterior, el lugar que se asigne para la instalación debe ser lo suficientemente amplio como para permitir futuros mantenimientos de los equipos (3 metros cuadrados). De igual forma, este lugar debe ser de acceso restringido únicamente a personal debidamente autorizado, para evitar cualquier clase de incidentes que puedan surgir por el acceso de personal ajeno a la manipulación de los equipos. Es de tener en cuenta que, de existir, todo el equipo puede ser instalado en el mismo rack (distribuidor) que, en algunos lugares, se utiliza para la ubicación de las centrales telefónicas y, desde el cual, se distribuyen las líneas de extensiones hacia los diversos puntos de un edificio. 30 El equipo puede funcionar sin problemas bajo condiciones de temperatura ambiental normal (18° a 20° C). Para obtener estas condiciones en un clima caluroso, es necesario emplear un sistema de aire acondicionado, con la finalidad de que los equipos operen en condiciones de temperatura normal. Es importante el asegurar que no existan vibraciones mecánicas cerca del sitio, como plantas de emergencia, subestaciones eléctricas o cuartos de máquina, que a la larga pueden interferir en la transmisión de datos a través de la red. Adicionalmente, los rayos solares no deben incidir directamente sobre los equipos, y no deben existir en el sitio goteras o filtraciones de humedad. Los tomas que se utilicen para la conexión del equipo deben estar debidamente polarizados con una resistencia máxima de 5 ohmios, y proveer un voltaje de 110V; esto con el fin de garantizar una mayor seguridad para el funcionamiento del equipo. 31 El uso de UPS32 y/o reguladores de voltaje será de 29 Switch: dispositivo para interconectar equipos dentro de una red. 3° CD del Programa de 13 Academia de Redes de Cisco Systems "CCNA" (Cisco Certified Network Associate Currículum), Semestre I, Capítulo VIII. 31 http://d!rti.ssa.e:ob.mx/nonnatividad1CT-sitios.doc; Dirección de Tecnología de Información de la Secretaría de Salud de México. 32 UPS: Equipo de protección y suministro temporal de energía eléctrica. 28 vital importancia en este aspecto. El UPS puede ubicarse en el Servidor central y por cada estación de trabajo, de ser requerido. Lo más recomendable, es utilizar un UPS con las siguientes características como mínimo: • Capacidad de respaldo de 14 a 25 minutos • Proveer L;n voltaje de llOV (V= Voltios). • Capacidad de batería de 12V (V = Voltios). 1.8.11 METODOLOGÍA DE LA INVESTIGACIÓN Con el objetivo de recopilar y estructurar la información que servio como punto de partida para la elaboración del Prototipo del sistema, se realizaron una serie de actividades individuales, de las cuales en conjunto se extrajo la información necesaria. La recopilación inicial de la información se ---realizó por medio de investigación bibliográfica y con entrevistas directas con médicos en las clínicas, unidades de salud y hospitales que se visitaron. Durante estas entrevistas, se obtuvieron los modelos de los formularios que cada una de estas instituciones utiliza en los expedientes de los pacientes. En adición a las entrevistas, la observación directa de procesos fue también útil para estructurar la forma en la cual un médico atiende a los pacientes, así como las diversas situaciones en las cuales se ve involucrado el expediente en el proceso de la consulta. La recolección de los diferentes modelos de formatos de hojas de expediente llevó a realizar una comparación entre los mismos, resaltando las diferencias y similitudes entre ellos, con lo cual al final se obtuvo un formato de expediente en el Prototipo elaborado acorde a la información que se consideró más importante de cada uno de los formularios. 29 El proceso de entrevistas directas con los médicos fue de gran ayuda en el momento de establecer los reportes que el Prototipo generaría, ya que se consideró la información que los doctores consideraron y expresaron como la más utilizada y necesaria a la hora de obtener reportes derivados de las consultas de los pacientes. En igual forma, la información proporcionada en las clínicas y unidades de salud visitadas fueron el punto de partida para el análisis de los procesos que se siguen con los expedientes hoy en día en este tipo de instituciones, para luego construir con ello los diagramas de la forma en que se ejecutarían dichos procesos ayudados por el prototipo del Sistema. Cada una de estas actividades será descrita en mayor detalle en el próximo capítulo. 1.8.12 TÉCNICA DE PROGRAMACIÓN. Las técnicas de programación aplicadas para el desarrollo del prototipo del sistema, son: a. La técnica de programación estructurada, que es una técnica en la cual el prototipo del sistema se desarrolla haciendo uso de tres estructuras lógicas de control: • Secuencia: Sucesión simple de dos o más operaciones. • Selección: bifurcación condicional de una o más operaciones. • Interacción: Repetición de una operación mientras se cumple una condición. Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir las partes del prototipo, que manejará cualquier tarea de procesamiento de información. El prototipo del sistema esta compuesto de segmentos, los cuales puedan estar constituidos por unas pocas instrucciones o por una página o más de codificación. Cada segmento tiene solamente una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no tienen instrucciones que jamás se ejecuten, se denominan programas propios. Cuando varios 30 programas propios se combinan utilizando las tres estructuras básicas de control mencionadas anteriormente, el resultado es también un programa propio. o Ventajas • Los programas son más fáciles de entender. La estructura del programa es más clara puesto que las instrucciones están más ligadas o relacionadas entre sí, por lo que es más fácil comprender lo que hace cada función. • Reducción del esfuerzo en las pruebas. • Detectar y corregir errores más fácilmente. • Reducción de los costos de mantenimiento. • Los programas quedan mejor documentados internamente. b. La programación modular, que es uno de los métodos utilizados para realizar sistemas completos, consiste en dividir el prototipo del sistema en partes más pequeñas, !!::imadas módulos. De esta manera, en lugar de resolver una tarea compleja y tediosa, se resuelven otras más sencillas y a partir de estas se llega a una solución. Esta técnica se usa mucho y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down. o Ventajas • Disminuye la complejidad del algoritmo. • Facilidad en la depuración: comprobación individual de los programas. • División de la programación entre el equipo de programadores (reducción del tiempo de desarrollo). • Programas más fáciles de modificar. 1.8.13 SÍNDROME DE COLON IRRITABLE. "El Síndrome de Colon Irritable33 es un problema del intestino grueso (Colon). 33 Tomado de http://www.percano.eom.mx/prescripcionmedica/2000/octubre/colon.htm 31 Otro nombre para la misma enfermedad es Colon espástico o IBS (por sus siglas en inglés). El colon irritable puede ser muy doloroso, pero no causa la muerte. No se sabe por qué se produce el colon irritable. La mayor parte de los síntomas son resultado de una contracción dolorosa del músculo (espasmo) en la parte inferior del colon. A veces puede retardar los movimientos de vientre y causar problemas de estreñimiento. También puede acelerar los movimientos de vientre y causar diarrea. El colon irritable se puede desencadenar en ciertas personas al comer cierto tipo de comidas o puede ser causado por estrés. Entre sus síntomas están: sufrir de calambres dolorosos y dolor en el abdomen, estar estreñido o tener diarrea, tener muchos gases, hinchazón, sensación de que el recto está lleno. No hay ningún análisis que revele la presencia de colon irritable. El profesional médico puede encargar los siguientes análisis para buscar otras causas que expliquen los síntomas: - Análisis de sangre. - Análisis de materia fecal para verificar que no haya sangre o signos de infección. - Rayos X. - Una placa radiográfica que se toma después de haber colocado un líquido especial en el recto. Es muy recomendable el no comer ni tomar leche ni productos lácteos. A veces la leche causa síntomas de colon irritable. Los doctores no han encontrado todavía una cura para el colon irritable. No obstante, puede ayudar lo siguiente: - Ingerir alimentos bajos en grasas y especias, y altos en fibra. - Tratar de reducir el estrés. - Tomar los medicamentos que el médico indique, según el diagnóstico. El paciente puede llegar a tener síntomas ocasionales Síndrome Colon Irritable durante el resto de su vida". 33 II. REQUERIMIENTO Y ANÁLISIS DE INFORMACIÓN En este capítulo se presenta la información correspondiente a la primera y segunda etapa del ciclo de vida de un sistema informático34 , que se han aplicado en el proceso de realización del prototipo de sistema, describiendo asimismo las actividades que se llevaron a cabo para la obtención de la información requerida. 2.1 IDENTIFICACIÓN Y RECOPILACIÓN DE INFORMACIÓN NECESARIA PARA EL EXPEDIENTE CLÍNICO DEL PACIENTE. Un expediente clínico puede diferir en contenido de una clínica a otra, dependiendo primordialmente de los tratamientos o exámenes a los cuales un paciente sea sometido, es decir, depende en gran medida del cuadro clínico que presenta el paciente. Es por ello que, para poder representar en el Prototipo del Sistema el expediente como tal, se tuvo que investigar formatos de expedientes de diversas fuentes. El expediente es una colección de formatos que los médicos utilizan dependiendo de la información que deban registrar sobre sus pacientes. Para realizar una mejor investigación y recopilación de información concerniente al expediente, se procedió a obtener modelos de estos formatos, que permitieron hacer comparaciones entre los mismos (ver anexo #1). De esta forma, se obtuvieron formatos utilizados en las Clínicas del Seguro Social en el Municipio de Apopa, Unidad de Salud de San Miguelito y Hospital Dr. Luis Edmundo Vásquez de Chalatenango. Con esta información, se procedió a la revisión de cada uno de los formatos, haciendo comparaciones en cuanto a similitudes y diferencias entre ellos. Esta comparación sirvió posteriormente para definir un formato único que 34 SENN, James A. Análisis y Diseño de Sistemas de Infonnación. 2ª. Edición. Editorial McGraw-Hill, México. 34 es el que se utiliza en el Prototipo del Sistema, y el cual se describirá más adelante con detalles. 2.2 RECOLECCIÓN DE LA INFORMACIÓN NECESARIA PARA LA ELABORACIÓN DE LA HERRAMIENTA DE APOYO EN EL DIAGNÓSTICO DEL SÍNDROME DE COLON IRRITABLE. Esta activid:=id se ha realizado gracias a la colaboración de dos doctores (un médico general y un especialista en el área), pertenecientes a entidades hospitalarias diferentes, quienes han dado el apoyo a la realización del prototipo del sistema y la bibliografía que se ha recomendado. La información que se ha proporcionado por parte de ambos médicos corresponde al origen del síndrome de colon irritable, las causas y los diferentes síntomas de dicha enfermedad, así como también los tratamientos que se deben seguir y los medicamentos que se deben suministrar. Para obtener dicha información se sostuvieron varias reuniones, en las cuales se trataron diferentes puntos acerca de dicho tema, aclarando muchos puntos importantes que se ven involucrados con esta enfermedad. Con respecto a la bibliografía que los doctores han recomendado, se ha proporcionado una lista de libros35 , de los cuales se ha recolectado la información necesaria con respecto al tema. 2.3 ELABORACIÓN. DEL FORMATO ESTÁNDAR DEL EXPEDIENTE PARA UN PACIENTE. El formato estándar del expediente para la aplicación, está conformado por diferentes partes, las cuales se obtuvieron de la unificación de distintos formatos de expedientes que se lograron revisar y analizar. Esta información se ha tratado de consolidar para que el expediente contenga la mayoría de datos importantes y relevantes, que se ven involucrados al momento de registrar la información 35 Ver Fuentes de Información, Apartado Bibliografía, página 142. 35 correspondiente a dicho expediente. A continuación se explicarán las partes que lo conforman para tener un mayor entendimiento de la información que éste manejará. (Ver Anexo 1). • Encabezado Esta sección registra el lugar y la fecha en la que el paciente asiste a una consulta: o Clínica: Este campo almacena la información correspondiente a la clínica en donde se está registrando al paciente. o Fecha de Inscripción: Guarda la fecha de inscripción del paciente. • Datos Personales La sección registra la información que identifica a una persona como un paciente: • Nombre • Primer Apellido • Segundo Apellido • Sexo • Tipo de Documento de identificación • Número de Documento • Fecha de Nacimiento • Estado Civil • Datos del Domicilio La sección registra la información que identifica la ubicación del paciente: • Dirección • Departamento • Municipio • Teléfono de Residencia • Teléfono Celular • Correo Electrónico 36 • Datos Laborales Guarda la información relacionada a la profesión u oficio que ejerce el paciente ( en caso que aplique): • Nombre de la Empresa • Departamento • Municipio • Teléfono de la Empresa • Datos del Responsable Permite guardar información de la persona responsable del paciente: • Nombre de la Persona Responsable • Dirección de la Persona Responsable • Departamento • Municipio • Teléfono de Residencia • Teléfono Celular • Estado del Paciente Además, este expediente contiene un historial clínico que se irá alimentando a medida el paciente vaya teniendo consultas, en el cual se ingresará información que es de suma importancia para diagnosticar una enfermedad y para emitir algún tipo de tratamiento. Este historial clínico esta compuesto por las siguientes partes: • Antecedentes Familiares • Antecedentes Personales • Síntomas • Enfermedades • Medicamentos • Exámenes de Laboratorio 37 2.4 INTERACCIÓN DE LA HERRAMIENTA DE APOYO EN EL DIAGNÓSTICO CON EL REGISTRO DEL EXPEDIENTE. Para definir la forma en que la herramienta de apoyo en el diagnóstico interactúa con el expediente clínico del paciente, se han tomado en consideración dos puntos clave: 1. La información generada por la herramienta de apoyo en el diagnóstico, se relaciona con el expediente clínico, donde dicha información corresponde a los diagnósticos y medicamentos sugeridos para cada paciente, los cuales son incluidos en el historial clínico del paciente. 2. La parte del expediente clínico del paciente que se actualiza con la información generada, no se debe dejar completamente a la herramienta de apoyo en el diagnóstico, ya que no es su objetivo el sustituir el criterio profesional del médico, sino facilitarle un soporte en esta actividad. A continuación definimos la forma cómo la herramienta de apoyo en el diagnóstico interactúa con el expediente clínico del paciente: La herramienta de apoyo en el diagnóstico genera como resultado una lista de diagnósticos sugeridos, donde cada diagnóstico está compuesto por el nombre de la enfermedad y medicamentos, con una dosis sugerida para tratar dicha enfermedad y/o sus síntomas. Con los diagnósticos sugeridos por la herramienta de apoyo, el siguiente paso es la selección del diagnóstico más adecuado, decisión que debe ser tomada por el doctor. Una vez el médico tome la decisión, es decir, ha seleccionado el diagnóstico más adecuado, se procede a llenar el historial clínico del paciente. En la figura 2.1 se ilustra el procedimiento en que se lleva a cabo dicha interacción: 38 Herramienta de Apoyo en el Diagnósticos Diagnóstico - sugeridos 1 Doctor Enfermed Medicame ad, ntos osis) (Incluye d '. Historial clínico 1 Figura 2-1. Interacción entre la Herramienta de Apoyo y el Expediente La herramienta de apoyo en el diagnóstico actualiza el expediente del paciente, pero dicha actualización no se realiza de forma directa, ya que se necesita de intermediario al médico, quien es el que toma la decisión acerca del diagnóstico del paciente. 39 III. DISEÑO DEL PROTOTIPO DEL SISTEMA. Este capítulo aborda la tercera etapa del ciclo de vida de un sistema informático36 , el cual muestra el diseño de las diferentes partes que el prototipo de sistema posee, así como los procesos que se ven involucrados al momento de la utilización del mismo. 3.1 DIAGRAMAS DE FLUJO DE DATOS. Creación y Alimentación del Expediente Clínico. Paciente lnfo. General, Síntomas, Antecedentes, Diagnóstico, Medicamento, Tratamiento, Examen Físico Expediente Síntomas, Exa en Físico, Antecedentes---"'----__, ------Diagnóstico, Tratamiento, Medicamentos lnfo. General, Síntomas, Antecedentes Diagnóstico, Medicamento, Tratamiento Doctor lnfo. General, Síntomas, Antecedentes : Creación Y -_______ ¡ Alimednetación Diagnóstico, Medicamentos _. 14------- Diagnóstico, Trataminelo, Cita, 1 Síntomas, Enfermedades y Medicamentos Expediente __________ ., Clinico Cita Herremienta de Diagnóstico Parámetros ------'f'- Síntomas, Enfermedades, Medicamentos / Estadísticas Fecha, Hora, Doctor·----------- Administración Figura 3-1 Creación y Alimentación del Expediente. Citas 36 SENN, James A. Análisis y Diseño de Sistemas de Información. 2ª. Edición. Editorial McGraw-Hill, México. 40 El prototipo del Sistema se ha creado de manera que diversos entes, denominados agentes externos, proporcionen información a un módulo central del mismo; el cual, a su vez, tome datos de dichos agentes para llevar a cabo los procesos que serán descritos posteriormente en este mismo apartado. Los agentes externos que se interrelacionan e intervienen en la creación y actualización del expediente son los siguientes: • Paciente: Proporciona la información con la cual se crea el punto central del Prototipo del Sistema, siendo en este caso el expediente. El expediente se registra inicialmente con los datos generales del paciente, y se va alimentando con la información generada por los demás agentes externos. • Doctor: Cuando se cuenta con un expediente, sea este recién creado o ya existente, éste se va actualizando con la información obtenida por el doctor en las consultas con el paciente. El médico obtiene esta información entrevistando al paciente y realizando chequeos físicos, lo cual le ayuda a determinar los síntomas que presenta. Los síntomas y los resultados del los chequeos físicos son ingresados al Prototipo del Sistema, los cuales pasan a ser parte del historial clínico del paciente. Todo este proceso es el que determina, en su momento, el diagnóstico del paciente, y los medicamentos que deben ser recetados. Otra actividad importante que realiza el doctor, es almacenar y actualizar información (sobre enfermedades, síntomas y medicamentos) en la base de datos, para uso de la herramienta de diagnóstico. • Personal administrativo: Por medio del personal administrativo se crean los registros de los nuevos expedientes, y son los que solicitan, de igual forma, las estadísticas que el Prototipo del Sistema proporciona. Los agentes externos hacen uso de información almacenada en diversas estructuras para poder realizar los procesos que se les atribuyen, así como también envían sus resultados a estructuras similares para ser registradas en el 41 prototipo del sistema. Estas estructuras, denominas Almacenes de datos, se describen a continuación: • Herramienta de apoyo en el diagnóstico: Toma la información proporcionada por el doctor a la hora de realizar una consulta con un paciente, la procesa y determina si puede sugerir o no un posible diagnóstico, tomando como base los síntomas expuestos por el paciente y detallados por el doctor. • Expediente: Se va almacenando toda la información relativa al paciente, desde sus datos generales hasta las enfermedades diagnosticadas y los medicamentos recetados. Estos últimos parámetros ( enfermedades y medicamentos) pueden ser introducidos por el propio doctor, o ser tomados de los resultados emitidos por la herramienta de diagnóstico, en los casos que aplique. • Citas: Se registran todas aquellas citas que se han programado para un paciente en un horario y con un doctor en específico, con el fin de llevar un orden en el proceso de emisión de una consulta. Alimentación del Expediente Clínico . Consultar Herramienta ., [ Entre~is_ta J>----Síntomas---­ ,----1~ _ con Medico _ ~--.----r Síntomas, Antecedentes Paciente Receta Médica, Próxima Cita Emitir Diagnostico Diagnóstico no Encontrado Diagnósticos Sugeridos Herramienta de Apoyo Citas Diagnóstico Seleccionar Diagnóstico y '----------Receta Médica, Próxima Cita-------------, Medicamentos L Sugeridos Diagnóstico. + .Diagnóstico.-------------/ Expediente Figura 3-2 Alimentación del Expediente clínico. 42 El proceso inicia con la actividad de la consulta, donde el paciente proporciona la información sobre los síntomas, antecedentes personales y familiares al doctor ( estos dos últimos datos son proporcionados solamente la primera vez que se realiza la consulta). Luego, el doctor ingresa en la herramienta de apoyo en el diagnóstico los síntomas que el paciente le dice que padece y los que son encontrados en el examen físico, para que dicha herramienta busque o consulte los posibles diagnósticos que se pueden apegar a los síntomas que el paciente padece ( donde el diagnóstico esta conformado por la enfermedad y los medicamentos para tratar la enfermedad y sus síntomas), para que, por medio de esta consulta, se genere un resultado. A partir de este momento, se pueden generar dos situaciones, la primera es que la herramienta no puede sugerir ningún diagnóstico, en tal caso el doctor debe emitir un diagnóstico, recetar los medicamentos y programar la próxima cita, según su criterio. Esto puede ser debido a que no exista ninguna enfermedad relacionada con los síntomas que presenta el paciente. La segunda situación, es cuando la herramienta de apoyo sugiere posibles diagnósticos, para tal caso el doctor debe seleccionar el diagnóstico más adecuado junto con los medicamentos y de igual manera, que la situación anterior, se procede a programar la próxima cita. Al final, la información que la herramienta sugiere o que el doctor determina, en cuanto al diagnóstico, es almacenada en el expediente del paciente, y los datos de la próxima cita serán almacenados en el registro de citas. 37 Reservación de Citas. El proceso inicia al momento de querer programar una cita, donde la cita puede ser programada por el paciente o el doctor. En este caso el prototipo de sistema verificará la fecha, la hora y/o doctor, datos que se proporcionan para 37 Este proceso se ha creado basado en observación directa del proceso de consultas médicas en clínicas del ISSS, así como en Unidades de Salud. 43 dicha programación. Luego de verificar los datos, se pueden dar las siguientes situaciones: La primera es que la solicitud sea denegada por el hecho que la fecha y hora de reserva no estén disponibles, por lo cual el prototipo del sistema proporciona datos que corresponden a los horarios y/o doctores que se encuentran disponibles para que el paciente pueda decidir que horario y/o que doctor lo atenderá en la cita que está programando. Posteriormente que el paciente o el doctor hayan seleccionado dichos parámetros, se lleva a cabo la reservación de la cita para que sea almacenada en el registro de citas y al mismo tiempo le confirme al paciente los datos especificados anteriormente. La segunda situación se da cuando se han verificado los parámetros de reservación que lleva la solicitud y dicha solicitud es aceptada para que se pueda proceder a la reservación de la cita para que puedan ser almacenados en el registro de citas y al mismo tiempo le confirme al paciente los datos especificados en la solicitud. Verificar Solicitud SoHcit,d Aceptada Reservar Cita Datos do la c,,-.¡'--__ c_i_tª __ Solicitud Denegada Reserva Confirmada------~ Fecha, Hora, Doctor Mostrar Horarios y/o Drs. Paciente o Doctor Disponibles f---------'1~-Fecha, Hora, Dr. seleccionado Fecha, Hora, Dr. Disponible Figura 3-3 Reservación de Citas. Paciente 44 Creación de expediente. Paciente -Datos Generales Crear Expediente Datos del Paciente Figura 3-4 Creación de expedientes. Expediente Al crear un nuevo expediente, el paciente proporciona sus datos generales al personal admi,-:istrativo encargado del registro y creación de expedientes, quienes introducen dicha información en el prototipo del sistema. Con esto, el expediente queda registrado para su posterior uso y alimentación. Generación de Reportes Estadísticos. lnforrrn1cion l l Expediente Figura 3-5 Generación de Reportes estadísticos En este proceso se ve involucrado el personal administrativo, el cual pasa una serie de parámetros al prototipo del sistema, donde estos son utilizados para filtrar la información que se esté solicitando. Toda la información ( datos generales, enfermedades, medicamentos, etc.) que se necesita para generar los reportes estadísticos se encuentra almacenada en el expediente clínico de los pacientes. 45 Alimentación de ~a Herramienta de Apoyo en el diagnóstico. El encargado de iniciar este proceso es el doctor, quien es la persona que proporciona los datos ( enfermedades, síntomas y medicamentos) para almacenarlos en la herramienta de apoyo en el diagnóstico, con el fin de actualizar la información que ésta posea, para que sea utilizada al momento de sugerir un diagnóstico. Doctor Enfermedad, Síntomas, Medicamentos Actualizar Herramienta de Apo o Datos Relacionados Herramienta de Apoyo Figura 3-6 Alimentación de la Herramienta de Apoyo en el Diagnóstico. 3.2 ESTRUCTURA DE LA RED. La estructura de la red que se usa para el desarrollo del proyecto se basa en una LAN (Red de Área Local), y la topología que se utiliza es de ESTRELLA38 • Especificaciones: • 4 Hosts. • Área del lugar: 16 metros cuadrados. La topología utilizada es la de ESTRELLA ya que consta de los siguientes elementos: • Un Host central (Servidor) • Nodo central (Switch), que se encarga de gestionar y controlar la comunicación entre los hosts, a través de este circula todo el tráfico de la red. 38 Topología de LAN en la que los puntos finales de una red se encuentran conectados a un switch central común mediante enlaces punto a punto. 46 • Tres Estaciones de Trabajo39 , clientes que hacen uso de la red. Sei:ver 1 1 D Workstation Workstation Workstation Figura 3-7 Ilustración de la topología de red. Ventajas • Gran facilidad de instalación. • Posibilidad de desconectar elementos de red sin causar problemas. • Facilidad péi:-a la detección de fallo y su reparación. Desventajas • Requiere más cable que la topología de bus. • Un fallo en el concentrador provoca el aislamiento de todos los nodos a él conectados. 3.3 DICCIONARIO DE DATOS El siguiente recuadro reúne los datos de todas las tablas que componen la base de datos que se ha creado para el Prototipo del Sistema. 39 Estación de trabajo (\.v0rkstation): Computadora que no provee ningún servicio de red en un ambiente Cliente/Servidor 47 1. Antecedentesf Esta tabla contiene los antecedentes familiares del paciente Campo Tipo de Dato Descripción Id Int (10) Identificador único del antecedente familiar Id_historial Int (10) Identificador de la consulta para relacionar el antecedente familiar con una consulta Antf_notas Text Contiene el detalle del antecedente familiar 2. Antecedentesp Esta estructura contiene los antecedentes personales del paciente Campo Tipo de Dato Descripción Id Int (10) Identificador único del antecedente personal Id_historial Int (10) Identificador de la consulta para relacionar el antecedente personal con una consulta Antp_notas Text Contiene el detalle del antecedente personal 3. Clinica Contiene la información de cada una de las clínicas Campo Tipo de Dato Descripción Id Int (10) Identificador único de la clínica Clin_codigo Varchar (10) Código para identificar a una clínica Clin - nombre Varchar (255) Nombre de la clínica Clin_direlición Text Dirección de la clínica Clin_telefono Varchar (7) Teléfono de la clínica 48 Clin_email Varchar (100) Dirección de e-mail de la clínica Clin_representante Varchar (255) Nombre del representante de la clínica Id_departemento Int (2) Identificador del departamento donde se encuentra ubicada la clínica Id_municipio Int (2) Identificador del municipio donde se encuentra ubicada la clínica Del Int (1) Utilizado para eliminar una clínica de forma lógica 4. Departamento Esta tabla contiene los departamentos utilizados para ubicar las direcciones Campo Tipo de Dato Descripción Id Int (2) Identificador único del departamento Depa_codigo Char (10) Código para identificar a un departamento Depa_nombre char (255) Nombre del departamento Del Int ( 1) Utilizado para eliminar un departamento de forma lógica 49 s. Documento Esta estructura contiene los diferentes tipos de documento con que una persona se puede identificar Campo Tipo de Dato Descripción Id Int (2) Identificador único del documento Docu_codigo Char(l0) Código para identificar a un documento Docu_nombre Char(255) Nombre del documento Del Int (1) Utilizado para eliminar un documento de forma lógica 6. Dosis Contiene los tipos de dosis que utilizaran para prescribir medicamentos Campo Tipo de Dato Descripción Id Int (10) Identificador único de la dosis Dosi_codigo Char(l0) Código para identificar a una dosis Dosi_nombre Char(255) Nombre de la dosis Del Int ( 1) Utilizado para eliminar una dosis de forma lógica 7. Enfermedad Esta tabla contiene las enfermedades utilizadas por la herramienta de apoyo al diagnostico y para la alimentación del historial Campo Tipo de Dato Descripción Id Int (10) Identificador único de la dosis Enfe_codigo Char(l0) Código para identificar a una enfermedad Enfe_nombre Char(255) Nombre común de la enfermedad 50 Enfe_no m brecientifico Char (255) Nombre científico de la enfermedad Del Int ( 1) Utilizado para eliminar una enfermedad de forma lógica 8. Enfermedadmedicamento Esta estructura contiene las relación entre una enfermedad y cuales son los medicamentos para tratar la enfermedad, utilizada para la herramienta de apoyo al diagnostico Campo Tipo de Dato Descripción Id Int (10) Identificador único de la relación enfermedad- medicamento Id_enfermedad Int (10) Identificador de la enfermedad para relacionarla con el medicamento Id_medicamento Int (10) Identificador del medicamento para relacionarlo con la enfermedad enfm_frecuencia Int (5) Número de veces que se debe ingerir o aplicar el medicamento relacionado enfm_cantpresentacion Int (5) Cantidad de medicamento recomendada Id_dosis Int (10) Identificador de la dosis para relacionarlo con el medicamento que se utiliza para la enfermedad relacionada 9. Enfermedadsintoma Contiene las relación entre una enfermedad y cuales son los síntomas que identifican a la enfermedad, utilizada para la herramienta de apoyo al diagnostico Campo Tipo de Dato Descripción Id Int (10) Identificador único de la relación enfermedad-síntoma Id_enfermedad Int (10) Identificador de la enfermedad para relacionarla con el síntoma Id_sintoma Int (10) Identificador del síntoma para relacionarlo con la enfermedad 10. Estadocivil En esta tabla se registran los diferentes estados civiles existentes Campo Tipo de Dato Descripción Id Int (1) Identificador del registro, es la llave primaria de la tabla. Esci_codigo Char (10) Este campo servirá para la asignación del código que identificará un estado civil. Esci nombre Char(255) En este campo se registrará el - nombre del estado civil. Del Int (1) Este campo representará de forma lógica si un registro contenido en la tabla está eliminado. 52 11. Examenlab En esta estructura se registran los diferentes exámenes de laboratorio que se practicar Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. exam_codigo Char (10) Este campo servirá para la asignación del código que identificará un examen. exam - nombre Char(255) En este campo se registrará el nombre del examen. Del Int ( 1) Este campo representará de forma lógica si un registro contenido en la tabla está eliminado. 12. Historial En esta tabla se registran la historia clínica de cada uno de los pacientes al momento de realizarse una consulta Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. hist_fecha Date Este campo servirá para la asignación de la fecha en al que se registra un nuevo historial. Id - usuario Int (10) En este campo se registrará el identificador del usuario que está almacenando los datos. Id_paciente Int (10) En este campo se registrará el identificador del paciente. hist_temperatura Int (10) Este campo registrará los datos de la temperatura del paciente. 53 hist_pulso Int (10) Este campo registrará los datos del pulso del paciente. hist_respiracion Int (10) Este campo registrará los datos de la respiración del paciente. hist_peso Int (10) Este campo registrará los datos del peso del paciente. hist_estatura Int (10) Este campo registrará los datos de la estatura del paciente. hist_presionarterial Int (10) Este campo registrará los datos de la presión arterial del paciente. hist_motivoconsulta Text Este campo registrará el motivo por el cual el paciente pasa consulta. hist_examenfisico Text Este campo registrará los datos del examen físico del paciente. hist_tratamiento Text Este campo registrará los datos del tratamiento que debe seguir el paciente. hist_estado Int(l) Este campo indicará el estado de la consulta, si está finalizada o está en proceso. 13. Historialenfermedad En esta estructura se registran las diferentes enfermedades que un paciente puede tener al momento de realizarse una consulta Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. id_h istoria 1 Int (10) En este campo se registrará el identificador del historial que se ha almacenado, con el cual va a tener relación. Id_enfermedad Int (10) En este campo se registrará el identificador de la enfermedad, con la cual va a tener relación. 14. Historialexamenlab Acá se registran los diferentes exámenes de laboratorio que se le pueden realizar a un paciente para que se puedan almacenar como información al momento de realizarse una consulta Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. Id_historial Int (10) En este campo se registrará el identificador del historial que se ha almacenado, con el cual va a tener relación. Id_examenlab Int (10) En este campo se registrará el identificador del examen de laboratorio, con la cual va a tener relación. Hiex_resultado Text En este campo se registrará el resultado que el examen de laboratorio ha presentado. 15. Historialmedicamento En esta tabla se registran los diferentes medicamentos que se le pueden recetar a un paciente al momento de realizarse una consulta Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. Id_historial Int (10) En este campo se registrará el identificador del historial que se 55 ha almacenado, con el cual va a tener relación. Id_medicamento Int (10) En este campo se registrará el identificador del medicamento, con la cual va a tener relación. Id_dosis Int (10) En este campo se registrará el identificador de la dosis, con la cual va a tener relación el medicamento recetado. hime_frecuencia Int (5) En este campo se registrará la frecuencia con la cual se debe de suministrar el medicamento. hime_cantpresentacion Int (5) En este campo se registrará la cantidad que posee la presentación del medicamento. 16. Historialsintoma En esta estructura se registran las diferentes síntomas que un paciente puede tener al momento de realizarse una consulta Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. Id historial Int (10) En este campo se registrará el - identificador del historial que se ha almacenado, con el cual va a tener relación. Id_síntoma Int (10) En este campo se registrará el identificador del síntoma, con la cual va a tener relación. 56 17. Medicamento Acá se registran los diferentes medicamentos que se agreguen al Prototipo del Sistema. Campo Tipo de Dato Descripción Id Int (10) Identificador del registro, es la llave primaria de la tabla. medi_codigo Char(l0) Este campo servirá para la asignación del código que identificará un medicamento. medi_nombre Char (255) En este campo se registrará el nombre del medicamento. Id_presentacion Int (10) En este campo se registrará el identificador de la presentación del medicamento Del Int (1) Este campo representará de forma lógica si un registro contenido en la tabla está eliminado. 18. Municipio En esta tabla se registran los diferentes municipios existentes correspondientes a cada uno de sus departamentos respectivos Campo Tipo de Dato Descripción Id Int (2) Identificador del registro, es la llave primaria de la tabla. Muni_codigo Char (10) Este campo servirá para la asignación del código que identificará un municipio. Muni - nombre Char (255) En este campo se registrará el nombre del municipio. id_departamento Int (2) En este campo se registrará el identificador del departamento 57 al cual pertenece el municipio almacenado Del Int ( 1) Este campo representará de forma lógica si un registro contenido en la tabla está eliminado. 19. Paciente Esta estructura contiene todos aquellos campos que, generalmente, están incluidos en los formatos de expedientes de los pacientes de una clínica. Estos campos hacen referencia, sobre todo, a datos generales del paciente: Campo Tipo de Dato Descripción Id Int (10) Identificador único de registros de la tabla Paciente Id_clinica Int, (10) Hace referencia al identificador asignado a la clínica en la cual el paciente está inscrito Paci_fechainscripcion Date Fecha en la que se abrió expediente para el paciente por primera vez. Paci_codigo Varchar (12) Este número es un correlativo que forma parte del número de expediente, el cual está formado por: Código_clínica-Año- Paci_correlativo Paci_nombre Varchar (255) Nombres del paciente Paci_apellidol Varchar (255) Primer apellido del 58 paciente Paci_apellido2 Varchar (255) Segundo apellido del paciente Paci_sexo Int (1) Sexo del paciente Id_docu mento Int (2) Código identificador del documento que presenta el paciente al momento de registrarse (Ej.: DUI). Este es el código de registro del documento en la tabla. Paci_n u merodoc Varchar (25) Código del documento que presenta el paciente. Ej.: Si presenta DUI, en este campo se almacenará el número de su DUI. Paci_fechanac Date Fecha de nacimiento del paciente. Id_estadocivil Int ( 1) Estado civil actual Id_departamento Int (2) Código identificador del departamento en el cual vive el paciente Id_municipio Int (2) Identificador del municipio del departamento en el cual vive el paciente Paci_direccion Text Dirección de vivienda del paciente Id_departamentol Int (2) Código identificador del departamento donde vive el paciente 59 Id_municipiol Int (2) Código identificador del municipio donde vive el paciente. Paci_telefono Varchar (7) Teléfono de la residencia del paciente Paci_celular Varchar (7) Número del teléfono celular del paciente Paci_email Varchar (100) Dirección de correo electrónico del paciente Paci_empresa Varchar (255) Lugar de trabajo del paciente Paci_telempresa Varchar (7) Teléfono de la empresa donde trabaja el paciente. Paci_nombreresponsable Varchar (255) Nombre de la persona responsable por el paciente Paci_respondireccion Text Dirección de vivienda del responsable del paciente Id_departamento2 Int (2) Código identificador del departamento donde vive el responsable Id_municipio2 Int (2) Código identificador del municipio donde vive el responsable Paci_respontelefono Varchar (7) Teléfono de vivienda de la persona responsable del paciente Paci_responcelular Varchar (7) Número de teléfono celular de la persona responsable del paciente Paci_activo Int ( 1) Estado del paciente en la 60 j clínica: Activo, inactivo. 20. Presentación Acá se almacena los registros que corresponden a la presentación de los medicamentos; por ejemplo: Inyección, tabletas, jarabe, etc. Campo Tipo de Dato Descripción Id Int (10) Identificador único de registros de la tabla Presentación. Pres_codigo Char (10) Código único asignado a la presentación del medicamento Pres_nombre Char (255) Nombre de la presentación del medicamento (Ej.: Inyección, tabletas, etc.) Del Int ( 1) Campo que indica si alguno de los registros de la tabla ha sido eliminado por el usuario 21. Reservación Esta tabla es la que contiene la información correspondiente a las reservaciones de citas médicas realizadas por los pacientes. Campo Tipo de Dato Descripción Id Int (10) Identificador único de registros de la tabla Reservación