UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD … · implementaciÓn del sistema de historias clÍnicas...
Transcript of UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD … · implementaciÓn del sistema de historias clÍnicas...
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
IMPLEMENTACIÓN DEL SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS (FUNAVI)
TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE
INGENIERO EN INFORMÁTICA
AUTOR: DINA GABRIELA FLORES PINTA
TUTOR: ING. MSC. RENÉ ALFONSO CARRILLO FLORES
QUITO – 15 DE SEPTIEMBRE
2016
ii
DEDICATORIA
A Dios, por darme la oportunidad de vivir y por estar conmigo en cada paso que doy,
por iluminar mi mente y por haber puesto en mi camino a aquellas personas que han
sido mi soporte y compañía durante todo el periodo de estudio.
Mi madre Carmen Pinta, por darme la vida, quererme mucho, creer en mí y porque
siempre me apoyaste. Mi padre Segundo Flores que sé que desde el cielo me sigue
apoyando y guiando mi camino, a mis hermanas que fueron un pilar fundamental en mi
vida muchas gracias. Mi novio Edison quien me apoyo y alentó para continuar, cuando
parecía que me iba a rendir gracias.
iii
AGRADECIMIENTO
Primero agradecer a mi familia, a mis padres Carmen y Segundo, a mis hermanas a mi
novio Edison que me han apoyado en este proyecto de vida, además de entregarme los
valores que han sido mi base para afrontar la vida con dignidad. ¡Gracias Familia
Querida!!!
iv
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
Yo, DINA GABRIELA FLORES PINTA, en calidad de autor del trabajo de
Integración “IMPLEMENTACIÓN DEL SISTEMA DE HISTORIAS
CLÍNICAS ODONTOLÓGICAS (FUNAVI)”, por la presente autorizo a la
UNIVERSIDAD CENTRAL DEL ECUADOR hacer uso de todos los
contenidos que me pertenecen o parte de los que contiene esta obra, con fines
estrictamente académicos o de investigación.
Los derechos que como autores me corresponden, con excepción de la presente
autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en
los artículos 5, 6, 8; 19 y demás pertinentes de la Ley de Propiedad Intelectual y
su Reglamento.
Asimismo, autorizo a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este trabajo de investigación en el repositorio
virtual, de conformidad a lo dispuesto en el Art. 144 de la Ley Orgánica de
Educación Superior.
Quito, 15 de Septiembre del 2016.
Dina Gabriela Flores Pinta
CI. 1721833927
Telf: 0979203577
v
CERTIFICACIÓN DEL TUTOR
Yo, RENÉ ALFONSO CARRILLO FLORES en calidad de tutor del trabajo de
titulación “IMPLEMENTACIÓN DEL SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS (FUNAVI)”, elaborado por la estudiante DINA GABRIELA
FLORES PINTA de la Carrera de Ingeniería Informática, Facultada de Ingeniería
Ciencias Físicas y Matemática de la Universidad Central del Ecuador, considero que el
mismo reúne los requisitos y méritos necesarios en el campo metodológico y en el
campo epistemológico, para ser sometido a la evaluación por parte del jurado
examinador que se designe, por lo que lo APRUEBO, a fin de que trabajo integrador
sea habilitado para continuar con el proceso de titulación determinado por la
Universidad Central del Ecuador.
Quito, 15 de Septiembre de 2016.
ING. RENÉ ALFONSO CARRILLO FLORES, M.SC.
CC: 1720948700
vi
ACEPTACIÓN DEL USUARIO
vii
viii
ix
CONTENIDO
DEDICATORIA ............................................................................................................... ii
AGRADECIMIENTO ..................................................................................................... iii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ............................................... iv
CERTIFICACIÓN DEL TUTOR ..................................................................................... v
ACEPTACIÓN DEL USUARIO .................................................................................... vi
LISTA DE TABLAS ...................................................................................................... xii
LISTA DE FIGURAS ................................................................................................... xiii
RESUMEN .................................................................................................................. xviii
ABSTRACT .................................................................................................................. xix
INTRODUCCIÓN ............................................................................................................ 1
1. DEFINICIÓN DEL PROBLEMA ............................................................................ 2
1.1. Planteamiento del problema ............................................................................... 2
1.2. Formulación del problema ................................................................................. 3
1.3. Interrogantes de la Investigación ....................................................................... 3
1.4. Objetivo de la Investigación .............................................................................. 3
Objetivos General ....................................................................................... 3 1.4.1.
Objetivos Específico ................................................................................... 3 1.4.2.
1.5. Alcance y Limitaciones ..................................................................................... 4
1.6. Justificación ....................................................................................................... 5
2. MARCO TEÓRICO .................................................................................................. 5
2.1. Herramientas a utilizar ....................................................................................... 5
2.2. Metodología XP ................................................................................................. 6
Características de la metodología XP ......................................................... 6 2.2.1.
x
JEE 6 ........................................................................................................... 8 2.2.2.
Omnifaces ................................................................................................... 9 2.2.3.
Bootstrap ....................................................................................................... 9 2.2.4.
JQuery ....................................................................................................... 10 2.2.5.
2.3. Herramientas de Desarrollo ............................................................................. 10
Eclipse Indigo ........................................................................................... 11 2.3.1.
MySQL ..................................................................................................... 11 2.3.2.
Power Designer ........................................................................................ 12 2.3.3.
Visio ......................................................................................................... 12 2.3.4.
3. ANÁLISIS Y DISEÑO ........................................................................................... 14
3.1. Casos de uso ..................................................................................................... 14
Caso De Uso Módulo De Administración ................................................ 14 3.1.1.
Caso De Uso Módulo De Paciente ........................................................... 16 3.1.2.
Caso De Uso Módulo De Citas Médicas .................................................. 19 3.1.3.
Caso De Uso Módulo De Formatos Mail ................................................. 20 3.1.4.
3.2. Diagrama de secuencias ................................................................................... 21
Diagrama de secuencias diagnóstico al paciente. ..................................... 21 3.2.1.
Diagrama de secuencias cita médica. ....................................................... 22 3.2.2.
Diagrama de secuencias ficha médica. ..................................................... 22 3.2.3.
Diagrama de secuencias registrar un usuario con un perfil determinado . 23 3.2.4.
3.3. Modelo Entidad – Relación ............................................................................. 23
Modelo lógico .......................................................................................... 24 3.3.1.
Modelo Físico ........................................................................................... 25 3.3.2.
Diccionario de base de datos .................................................................... 26 3.3.3.
3.4. Arquitectura del sistema .................................................................................. 34
Arquitectura de despliegue ....................................................................... 34 3.4.1.
xi
Arquitectura de desarrollo ........................................................................ 35 3.4.2.
3.5. Resultados y Discusiones ................................................................................. 36
Resultados ................................................................................................. 36 3.5.1.
Discusión .................................................................................................. 54 3.5.2.
4. MARCO ADMINISTRATIVO .............................................................................. 55
4.1. Recursos ........................................................................................................... 55
4.2. Recursos del Centro Médico ............................................................................ 56
4.3. Recursos de Autor ............................................................................................ 56
4.4. Costos ............................................................................................................... 56
4.5. Cronograma De Actividades ............................................................................ 57
5. CONCLUSIONES Y RECOMENDACIONES ...................................................... 62
5.1. Conclusiones .................................................................................................... 62
5.2. Recomendaciones ............................................................................................ 63
GLOSARIO .................................................................................................................... 64
BIBLIOGRAFÍA ............................................................................................................ 65
ANEXOS ........................................................................................................................ 67
xii
LISTA DE TABLAS
Tabla 2.1 Descripción Del Perfil Del Usuario .................................................................. 5
Tabla 4.1 Caso De Uso De Administración De Perfiles................................................. 15
Tabla 4.2 Caso De Uso De Administración De Usuarios............................................... 16
Tabla 4.3 Caso De Uso De Pacientes ............................................................................. 17
Tabla 4.4 Caso de uso de Historias Clínicas .................................................................. 18
Tabla 4.5 Caso De Uso De Medicamentos ..................................................................... 18
Tabla 4.6 Caso De Uso De Citas Odontológicas ............................................................ 20
Tabla 4.7 Caso De Uso De Formatos Mail ..................................................................... 21
Tabla 4.8 Descripción De Las Tablas Con Sus Atributos Correspondientes ................. 33
Tabla 4.9 Historia de usuario cita médica ..................................................................... 40
Tabla 4.10 Historia usuario historia clínica .................................................................... 40
Tabla 4.11 Historia de usuario paciente ......................................................................... 41
Tabla 4.12 Historia de usuario odontólogos y asistentes................................................ 41
Tabla 4.13 Persistencia ................................................................................................... 44
Tabla 4.14 Etiquetas html y jsf ....................................................................................... 48
Tabla 4.15 Nombre de usuario ....................................................................................... 49
Tabla 4.16 Nuevo Usuario .............................................................................................. 50
Tabla 4.17 Nuevo perfil .................................................................................................. 50
Tabla 4.18 Nuevo paciente ............................................................................................. 51
Tabla 4.19 Buscar pacientes ........................................................................................... 51
Tabla 4.20 Historia clínica.............................................................................................. 52
Tabla 4.21 Historia clínica.............................................................................................. 53
Tabla 4.22 Parámetros Mail............................................................................................ 53
Tabla 4.23Comparación de la arquitectura MVC ........................................................... 54
Tabla 5.1 Recursos del Proyecto .................................................................................... 56
Tabla 5.2 Costos ............................................................................................................. 57
xiii
LISTA DE FIGURAS
Figura 2.1 Características De La Metodología XP (Marin, 2007) ................................... 6
Figura 2.2 Fases De La Metodología XP ......................................................................... 7
Figura 2.3 Muestra La Arquitectura De La Aplicación .................................................... 9
Figura 3.1 Diagrama De Caso De Uso Módulo De Administración .............................. 14
Figura 3.2 Diagrama Del Caso De Uso Módulo De Pacientes ....................................... 16
Figura 3.3 Diagrama Del Caso De Uso Módulo De Citas Odontológica ....................... 19
Figura 3.4 Diagrama del caso de uso módulo de Formatos Mail ................................... 20
Figura 3.5 Diagrama De Secuencias Diagnóstico .......................................................... 21
Figura 3.6 Diagrama De Secuencias Cita Médica .......................................................... 22
Figura 3.7 Diagrama De Secuencias Ficha Médica ........................................................ 22
Figura 3.8 Diagrama De Secuencias Perfil De Usuario ................................................. 23
Figura 3.9 Diagrama Modelo-Vista-Controlador ........................................................... 35
Figura 3.10 Arquitectura Modelo-Vista -Controlador .................................................... 36
Figura 3.11 Modelo Odontograma ................................................................................. 36
Figura 3.12Vista Pacientes ............................................................................................. 37
Figura 3.13 Aplicación vista paciente ............................................................................ 37
Figura 3.14Vista lista pacientes ...................................................................................... 38
Figura 3.15 Aplicativo vista lista pacientes .................................................................... 38
Figura 3.16 Vista usuarios .............................................................................................. 38
Figura 3.17Aplicativos vista usuario .............................................................................. 38
Figura 3.18 Controlador consulta cita médica ............................................................... 39
Figura 3.19 Aplicativo controlador consulta cita médica ............................................... 39
Figura 3.20 Arquitectura metodología XP (Catillo, 2008) ............................................. 39
Figura 3.21 Codificación front citas medicas ................................................................. 46
Figura 4.1 Cronograma De Actividades ......................................................................... 61
Figura 6.1 Instalador jdk-6u21-windows-i586.exe......................................................... 68
Figura 6.2 Ventana De Bienvenida A La Instalación De JDK6 ..................................... 69
xiv
Figura 6.3 Componentes De JDK ................................................................................... 69
Figura 6.4 Progreso De La Instalación ........................................................................... 70
Figura 6.5 Fin De La Instalación .................................................................................... 70
Figura 6.6 Propiedades De Windows ............................................................................. 71
Figura 6.7 Configuración Del Sistema ........................................................................... 71
Figura 6.8 Variable de entorno ....................................................................................... 72
Figura 6.9 Variables De Usuario .................................................................................... 72
Figura 6.10 Variables Del Sistema ................................................................................. 72
Figura 6.11 Valor De La Variable ................................................................................. 73
Figura 6.12 Instalador del MySQL ................................................................................. 73
Figura 6.13 Ventana De Bienvenida De MySQL ........................................................... 73
Figura 6.14 Componentes De MySQL ........................................................................... 74
Figura 6.15 Pantalla De Instalador MySQL ................................................................... 74
Figura 6.16 Configuración Del Servidor ........................................................................ 75
Figura 6.17 Instalación De La Configuración Del Server .............................................. 75
Figura 6.18 Tipo De Server ............................................................................................ 76
Figura 6.19 Tipo De Base De Datos ............................................................................... 76
Figura 6.20 Almacenamiento De Datos ......................................................................... 77
Figura 6.21 Cantidad De Conexiones En La Configuración .......................................... 77
Figura 6.22 Configuración De Puertos ........................................................................... 78
Figura 6.23 Configuración De Caracteres ...................................................................... 78
Figura 6.24 Instalación De Servicio De Windows ......................................................... 79
Figura 6.25 Password Del Administrador Del Servidor MYSQL .................................. 79
Figura 6.26 Inicio De Una Instancia Del Servicio De MYSQL ..................................... 80
Figura 6.27 Instalación Del Utilitario De MYSQL ........................................................ 80
Figura 6.28 Ventana De Aceptación De Términos......................................................... 81
Figura 6.29 Directorio De Instalación ............................................................................ 81
Figura 6.30 Tipo De Instalación ..................................................................................... 82
Figura 6.31 Descripción De Producto De MYSQL ........................................................ 82
xv
Figura 6.32 Ventana De Logueo De MySQL Administrator ......................................... 83
Figura 6.33 Ventana De MySQL Administrator ............................................................ 83
Figura 6.34 Ventana Restore .......................................................................................... 84
Figura 6.35 Script De La Base De Datos........................................................................ 84
Figura 6.36 Base De Datos clinicaodontologica ............................................................ 85
Figura 6.37 Instalar JBOSS ............................................................................................ 85
Figura 6.38 Verificar Carpetas De jboss-6.1.0.Final.rar ................................................ 86
Figura 6.39 Archivo run.bat ........................................................................................... 86
Figura 6.40 Consola De Jboss Abierta Desde El CMD .................................................. 87
Figura 6.41 Consola De Administración De JBOSS ...................................................... 87
Figura 6.42 Archivo De Data Source ............................................................................. 88
Figura 6.43 Contenido Del Archivo Data Source........................................................... 88
Figura 6.44 Pantalla De Inicio Del Sistema ................................................................... 88
Figura 6.45 Parámetros_app De La Base De Datos ....................................................... 89
Figura 6.46 Instalador De Eclipse Indigo ....................................................................... 89
Figura 6.47 Carpeta Por Defecto Que Asigna Eclipse Índigo ........................................ 90
Figura 6.48 Ventana De Importación De Proyectos ....................................................... 90
Figura 6.49 Abrir Proyectos Existentes .......................................................................... 91
Figura 6.50 Buscar Los Proyectos .................................................................................. 91
Figura 6.51 Escoger El Proyecto Respectivo ................................................................. 92
Figura 6.52 Proyectos Cargados ..................................................................................... 92
Figura 6.53 Ingreso Al Sistema ..................................................................................... 93
Figura 6.54 Pantalla Principal ........................................................................................ 93
Figura 6.55 Menú Principal ............................................................................................ 94
Figura 6.56 Administración ............................................................................................ 94
Figura 6.57 Administración De Usuarios ....................................................................... 94
Figura 6.58 Nuevo Usuario ............................................................................................ 95
Figura 6.59 Usuario Creado ........................................................................................... 96
Figura 6.60 Usuario Modificado .................................................................................... 96
xvi
Figura 6.61 Mensaje De Eliminación Del Usuario ........................................................ 97
Figura 6.62 Eliminación De Usuario .............................................................................. 97
Figura 6.63 Usuario Inactivo .......................................................................................... 98
Figura 6.64 Administración De Perfiles ......................................................................... 98
Figura 6.65 Nuevo Perfil ................................................................................................ 99
Figura 6.66 Perfil Creado ............................................................................................... 99
Figura 6.67 Perfil Actualizado ..................................................................................... 100
Figura 6.68 Perfil Eliminado ........................................................................................ 100
Figura 6.69 Pacientes .................................................................................................... 101
Figura 6.70 Administración De Pacientes .................................................................... 101
Figura 6.71 Nuevo Paciente.......................................................................................... 102
Figura 6.72 Paciente Creado ......................................................................................... 102
Figura 6.73 Paciente Creado ......................................................................................... 103
Figura 6.74 Mensaje De Eliminación ........................................................................... 103
Figura 6.75 Eliminación De Usuario ............................................................................ 104
Figura 6.76 Administración De Historias Clínicas ....................................................... 104
Figura 6.77 Lista De Pacientes ..................................................................................... 105
Figura 6.78 Creación De La Ficha Médica .................................................................. 105
Figura 6.79 Creación De La Ficha Médica .................................................................. 106
Figura 6.80 Creación De Historias Clínicas ................................................................. 106
Figura 6.81 Estilo De Vida ........................................................................................... 107
Figura 6.82 Odontograma ............................................................................................. 107
Figura 6.83 Información Del Odontograma ................................................................. 108
Figura 6.84 Archivos .................................................................................................... 109
Figura 6.85 Recetas ...................................................................................................... 109
Figura 6.86 Diagnóstico y Tratamiento ........................................................................ 110
Figura 6.87 Listado de Historias Clínicas .................................................................... 110
Figura 6.88 Actualización De Historias Clínicas ......................................................... 111
Figura 6.89 Acceso Rápido A La Información Del Paciente ....................................... 111
xvii
Figura 6.90 Administración De Medicamentos ............................................................ 112
Figura 6.91 Nuevo Medicamento ................................................................................. 112
Figura 6.92 Medicamento Creado ................................................................................ 113
Figura 6.93 Modificación Del Medicamento ............................................................... 113
Figura 6.94 Eliminación De Medicamentos ................................................................. 114
Figura 6.95 Administrador De Citas Medicas .............................................................. 114
Figura 6.96 Calendario De Citas Médicas .................................................................... 115
Figura 6.97 Ingreso De Pacientes Para Una Cita Médica............................................. 115
Figura 6.98 Creación De Citas Médicas ....................................................................... 116
Figura 6.99 Administrador De Formatos Mail ............................................................. 116
Figura 6.100 Formatos Mail ......................................................................................... 117
xviii
RESUMEN
“IMPLEMENTACIÓN DEL SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS (FUNAVI)”
Autor: Dina Gabriela Flores Pinta
Tutor: René Alfonso Carrillo Flores
El proyecto muestra el desarrollo de un Sistema de Historias Clínicas Odontológicas
para el Centro Médico FUNAVI. En la actualidad los procesos son manuales, lo que
implica que la atención al paciente sea lenta.
Para mejorar los procesos de la clínica se ha realizado un sistema web de Historias
Clínicas Odontológicas para que el manejo de los procesos sean automatizados, entre
los procesos tenemos (citas médicas, aperturas de fichas médicas, historias clínicas).
La automatización, permitirá mejorar los procesos de la clínica lo que implica una mejor
atención a los pacientes, puesto que el acceso a la información sería mucho más rápido.
PALABRAS CLAVES: SISTEMA DE HISTORIAS CLÍNICAS ODONTOLÓGICA /
CENTRO MÉDICO FUNAVI / JAVA / JBOSS / MYSQL / ECLIPSE INDIGO.
xix
ABSTRACT
IMPLEMENTATION OF AN ODONTOLOGICAL CLINICAL HISTORY
SYSTEM (FUNAVI)
Autor: Dina Gabriela Flores Pinta
Tutor: René Alfonso Carrillo Flores
The present project describes the development of an Odontological Clinical History
system used at FUNAVI Medical Center. Nowadays the process for administering this
kind of systems is manual, which leads to an inadequate customer service.
In order to improve such processes the Medical Center has implemented a web system
to automate the clinical history procedures, among these procedures there are: Medical
Appointments, Opening of Medical Records, Clinical History.
This automation will allow a better customer service through a faster information access
which will speed up the process times at all stages.
KEYWORDS: DENTAL MEDICAL RECORDS SYSTEM / MEDICAL CENTER
FUNAVI / JAVA / JBOSS / MYSQL / ECLIPSE INDIGO.
I CERTIFY that the above and foregoing is a true and correct translation of the original
document in Spanish.
Lcdo. Diego Mauricio Manotoa Toapanta
Certified Translator
ID: 1710738483 (1005-14-1279868 SENESCYT)
1
INTRODUCCIÓN
Debido a los avances tecnológicos, la clínica FUNAVI se ha visto en la necesidad de
automatizar sus procesos, con lo cual el personal odontológico y administrativo
desarrollan sus actividades de manera efectiva y eficiente, dado que cuenta con
información en tiempo real y de manera confiable, automatizando la atención de los
paciente ya que cuenta con la información de las historia clínica odontológicas.
Los procesos de automatización que lleva a cabo la clínica son: apertura de fichas
médicas, historia médica odontológica y citas médicas para ello se tomaron en cuenta
los módulos de: administración, pacientes, citas médicas y formato de mail.
El sistema no proporciona la atención de turnos para los pacientes desde la web ya que
se encuentra diseñado para el uso interno del centro médico, específico para la
especialidad de odontología. Para ello se emplea el uso de la metodología XP.
Extreme Programming Explained(XP)
Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave
para el éxito en desarrollo de software, promoviendo el trabajo en equipo,
preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima
de trabajo. XP se basa en realimentación continua entre el cliente y el equipo de
desarrollo, comunicación fluida entre todos los participantes, simplicidad en las
soluciones implementadas y coraje para enfrentar los cambios. XP se define como
especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y
donde existe un alto riesgo técnico (Boliviana, 2003).
¿Qué es programación extrema o XP?
Metodología liviana de desarrollo de software.
Conjunto de prácticas y reglas empleadas para desarrollar software.
Basada en diferentes ideas acerca de cómo enfrentar ambientes muy cambiantes.
En vez de planificar, analizar y diseñar para el futuro distante, hacer todo esto un
poco cada vez, a través de todo el proceso de desarrollo.
2
Objetivos
Establecer las mejores prácticas de Ingeniería de Software en los desarrollo de
proyectos.
Mejorar la productividad de los proyectos.
Garantizar la Calidad del Software desarrollando, haciendo que este supere las
expectativas del cliente.
1. DEFINICIÓN DEL PROBLEMA
1.1. Planteamiento del problema
En la actualidad el Centro Medico FUNAVI no posee Sistemas Informáticos siendo de
su interés la automatización de: aperturas de fichas médicas, historias clínicas
odontológicas y citas médicas.
En las actividades de aperturas de fichas médicas y de historias clínicas odontológicas
se ingresa la información del paciente, las que se lleva a cabo en formularios físicos,
provocando pérdida de tiempo debido a que es un proceso largo y tedioso, en la
actividad de citas médicas se asigna turnos de acuerdo a cómo va llegando el paciente,
esto causa molestia debido a que el tiempo de espera de los pacientes es a veces casos
extensos el proceso inicia cuando el paciente se acerca al personal de servicio para
solicitarle una cita, el personal encargado revisa la agenda del odontólogo para emitirle
una respuesta al paciente, si la cita médica se lleva acabo, se procede a la apertura de
fichas médicas, la asistente toma nota de los datos personales y los archiva en una
carpeta física, la cual es entregado al odontólogo asignado para la atención, llena el
formulario de historias clínicas con preguntas que aportan significativamente con
diagnóstico y su posterior tratamiento, una vez que concluida la revisión, el odontólogo
dependiendo del caso informa al paciente que necesita más de un cita para lo cual se le
asigna un día y hora específicos, presentándose un problema, dado que le odontólogo no
puede asegurar al paciente su cita, pues no sabes si está o no desocupado causando que
el paciente espere su turno o que regrese al día siguiente.
3
1.2. Formulación del problema
Para solucionar la problemática de Centro Medico FUNAVI se propone automatizar los
procesos administrativos de fichas médicas, historias clínicas odontológicas y citas
médicas, los cual permitirán el ingreso de los datos de los pacientes a una base de datos,
y cuando lleguen los pacientes a solicitar nuevas citas médicas odontológicas no será
necesario llenar los formularios y procederá inicialmente a registrar en el sistema,
ahorrando tiempo y esfuerzo que puede ser aprovechado en otras actividades
1.3. Interrogantes de la Investigación
Dentro del trabajo a realizarse se desea contestar las siguientes interrogantes.
¿En que beneficia al centro médico odontológico, la creación de una aplicación
web?
¿Qué herramientas de software se requieren para el diseño e implementación de
aplicación web de un centro médico odontológico?
1.4. Objetivo de la Investigación
Objetivos General 1.4.1.
Analizar, Desarrollar e implementar un SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS para el Centro Médico FUNAVI.
Objetivos Específico 1.4.2.
Establecer los requerimientos necesarios para la construcción del sistema.
Determinar el procedimiento a seguir en cada actividad relacionada con el
SISTEMA DE HISTORIAS CLÍNICAS ODONTOLÓGICAS.
Analizar, diseñar y desarrollar los módulos que conforman el sistema.
Realizar pruebas con el personal administrativo para verificar el correcto
funcionamiento del sistema.
Implementar cada uno de los módulos del sistema.
4
1.5. Alcance y Limitaciones
La implementación del sistema se realizará en las instalaciones del Centro Médico
FUNAVI, será un sistema web el cual permitirá tener acceso desde cualquier
computadora conecta a la red interna del centro médico.
El SISTEMA DE HISTORIAS CLÍNICAS ODONTOLÓGICAS (FUNAVI), constará
de los siguientes módulos:
Módulo de Administración.- Creación de nuevos perfiles y usuarios para el ingreso al
sistema.
Módulo de Paciente.- Creación de nuevos pacientes, historias clínicas y la creación de
nuevos medicamentos.
Módulo de Citas Médicas.- Permitirá al odontólogo o asistente agendar citas médicas,
siempre y cuando tenga la disponibilidad de la fecha y de la hora requerida por el
paciente.
Módulo de Formatos mail.- Permitirá al administrador configurar los formatos de mail
para la confirmación de citas médicas, creación de odontólogos, creación de pacientes y
creación de usuarios.
A continuación se presenta los perfiles y módulos que serán manejados en el desarrollo
del sistema.
Perfil Descripción
Administrador
La persona encargada de la administración del sistema se encargada
de los siguientes módulos.
Usuario.
Perfiles.
Formato mail.
Asistente
La persona encargada de la Asistencia del sistema se encargara de
los siguientes módulos.
Pacientes.
Citas médicas.
Medicamentos.
5
Odontólogo
El odontólogo se encarga de los siguientes módulos.
Historia clínica.
Citas médicas.
Medicamentos.
Pacientes.
Tabla 1.1 Descripción Del Perfil Del Usuario
1.6. Justificación
El presente proyecto permitirá construir un sistema de atención médica odontológico,
automatizado para la gestión y administración de los procesos del centro médico.
Con la IMPLEMENTACIÓN DEL SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS (FUNAVI), se facilitará el manejo de la información, permitiendo
ahorro de tiempo y una mejor atención a los pacientes.
2. MARCO TEÓRICO
En este capítulo se va explicar la tecnología que se va a utilizar para el desarrollo del
Sistema de Historias Clínicas Odontológicas.
2.1. Herramientas a utilizar
Extreme Programming Explained.
JEE6.
Omnifaces.
Bootstrap.
Jquery.
6
2.2. Metodología XP
Características de la metodología XP 2.2.1.
Figura 2.1 Características De La Metodología XP (Marin, 2007)
Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.
Pruebas unitarias continuas: frecuentemente repetidas y automatizadas,
incluyendo pruebas de regresión.
Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo
por dos personas en un mismo, el código es revisado y discutido mientras se escribe.
Frecuente integración del equipo de programación con el cliente o usuario: se
recomienda que un representante del cliente trabaje junto al equipo de desarrollo.
Corrección de todos los errores antes de añadir nueva funcionalidad: Hacer
entregas frecuentes.
Refactorización del código: es decir, rescribir ciertas partes del código para aumentar
su legibilidad y mantenibilidad pero sin modificar su comportamiento.
7
Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo
de cada módulo en grupos de trabajo distintos, este método promueve el que todo el
personal pueda corregir y extender cualquier parte del proyecto.
Simplicidad en el código: es la mejor manera de que las cosas funcionen. Cuando todo
funcione se podrá añadir funcionalidad si es necesario. La programación extrema
apuesta que es más sencillo hacer algo simple y tener un poco de trabajo extra para
cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.
La simplicidad y la comunicación son extraordinariamente complementarias: con
más comunicación resulta más fácil identificar qué se debe y qué no se debe hacer.
Cuanto más simple es el sistema, menos tendrá que comunicar sobre éste, lo que lleva a
una comunicación más completa, especialmente si se puede reducir el equipo de
programadores.
2.2.1.1. Fases de metodología
Figura 2.2 Fases De La Metodología XP
Fase: Planificación del proyecto.
o Historias de usuario.
o Planificación de entregables.
o Iteraciones:
o Velocidad del proyecto.
o Programación en pareja.
o Reuniones diarias.
8
Fase: Diseño.
o Diseños simples.
o Glosarios de términos.
o Riesgos.
o Funcionalidad extra.
o Tarjetas C.R.C.
Fase: Codificación.
o Disponibilidad del Cliente.
o Programación dirigida por las pruebas.
o Programación por Parejas.
o Integraciones Permanentes.
Fase: Pruebas.
o Test de aceptación.
JEE 6 2.2.2.
A continuación se expone una breve introducción de las herramientas que se usarán para
el desarrollo del sistema.
Plataforma JEE6: Es una plataforma abierta que utiliza un modelo de aplicaciones
distribuidos multicapas basada en componentes, centradas en un servidor y habilitado
para la web, esta permite desarrollar, desplegar y manejar aplicaciones empresariales,
aplicaciones web y aplicaciones móviles.
Arquitectura de la aplicación JEE6: Las aplicaciones JEE6, son generalmente
considerados como aplicaciones de tres niveles ya que se constituyen en tres niveles,
cliente, servidor JEE6 y el servidor de base de datos como se visualiza en la Figura 2.3
9
Figura 2.3 Muestra La Arquitectura De La Aplicación
2.2.2.1. Tecnologías de la plataforma
Las tecnologías que forman parte de la aplicación JEE son:
Enterprise JavaBeans (EJB).
Java Server Face (JSF).
Tecnologia XML.
JPA, JDBC API.
Omnifaces 2.2.3.
Es una librería de componentes para Java Server Faces (JSF) de código abierto que
cuenta con un conjunto de componentes enriquecidos que facilitan la creación de las
aplicaciones web. Permite la integración con otros componentes.
Bootstrap 2.2.4.
Ofrece una serie de plantillas CSS y ficheros Javascript que nos permiten
integrar el framework de forma sencilla y potente en nuestros proyectos webs.
Permite crear interfaces que se adapten a los diferentes navegadores, tanto de
escritorio como tablets y móviles a distintas escalas y resoluciones.
Se integra perfectamente con las principales librerías Javascript, por ejemplo
JQuery.
Ofrece un diseño sólido usando LESS y estándares como CSS3/HTML5.
10
Es un framework ligero que se integra de forma limpia en nuestro proyecto
actual.
Funciona con todos los navegadores, incluido Internet Explorer
usando HTMLShim para que reconozca los tags HTML5.
Dispone de distintos layout predefinidos con estructuras fijas a 940 píxeles de
distintas columnas o diseños fluidos.
JQuery 2.2.5.
jQuery es una librería JavaScript open-source, que funciona en múltiples navegadores, y
que es compatible con CSS3. Su objetivo principal es hacer la programación “scripting”
mucho más fácil y rápida del lado del cliente. Con jQuery se pueden producir páginas
dinámicas así como animaciones parecidas a Flash en relativamente corto tiempo.
(DUARTE, 2013)
Ventajas
jQuery es flexible y rápido para el desarrollo web.
Viene con licencia MIT y es Open Source.
Tiene una excelente comunidad de soporte.
Tiene Plugins.
Bugs son resueltos rápidamente.
Excelente integración con AJAX.
2.3. Herramientas de Desarrollo
Las herramientas utilizadas para el desarrollo del sistema son las siguientes:
Eclipse Indigo.
MySQL.
Power Designer.
Visio.
11
Eclipse Indigo 2.3.1.
Es una plataforma de software compuesto por un conjunto de herramientas de
programación de código abierto multiplataforma para desarrollar lo que el proyecto
llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-
liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para
desarrollar entornos de desarrollo integrados.
Características
Dispone de un Editor de texto con resaltado de sintaxis.
La compilación es en tiempo real.
Tiene pruebas unitarias con JUnit.
Control de versiones con CVS.
Integración con Ant.
Asistentes (wizards) para creación de proyectos, clases, tests, etc.
Refactorización.
MySQL 2.3.2.
Es un sistema de gestión de bases de datos relacional desarrollado bajo licencia
dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base
datos open source más popular del mundo, y una de las más populares en general junto
a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
Características
Escrito en C y en C++.
Probado con un amplio rango de compiladores diferentes.
Funciona en diferentes plataformas.
Proporciona sistemas de almacenamientos transaccionales y no transaccionales.
Un sistema de reserva de memoria muy rápido basado en threads.
Un sistema de privilegios y contraseñas que es muy flexible y seguro, y que
permite verficación basada en el host.
12
Power Designer 2.3.3.
Herramienta para el análisis, diseño inteligente y construcción sólida de una base de
datos y un desarrollo orientado a modelos de datos a nivel físico y conceptual, que da a
los desarrolladores Cliente/Servidor la más firme base para aplicaciones de alto
rendimiento.
Características
Herramienta Líder en Modelamiento Empresarial.
Permite visualizar, analizar y manipular metadatos, logrando una efectiva
arquitectura empresarial de información.
Brinda un enfoque basado en modelos, el cual permite alinear al negocio con la
tecnología de información, facilitando la implementación de arquitecturas
efectivas de información empresarial.
Brinda potentes técnicas de análisis, diseño y gestión de metadatos a la empresa.
Trabaja con más de 60 bases de datos relacionales.
Ventajas:
Permite trabajar con gran número de bases de datos.
Alinea el negocio y la tecnología de información para mejorar la productividad.
Brinda soportes abiertos a ambientes heterogéneos.
Es altamente personalizable.
Desventajas:
Falta de simbología E/R.
En otros sistemas operativos como Linux, MONO6, todavía no está a par con el
que corre bajo Windows.
Sus nuevas tecnologías puedan que no se definan en el estándar ECMA y
queden como propiedad de Microsoft. (Tenezaca, 2012)
Visio 2.3.4.
Es un software de dibujo vectorial para Windows. Las herramientas que lo componen
permiten realizar diagramas de oficinas, diagramas de bases de datos diagramas de flujo
de programas, UML, y más, que permiten iniciar al usuario en los lenguajes de
13
programación. Visio es una herramienta dedicada a la creación de Vectores los cuales
podemos realizar para crear diferentes tipos de trabajos, por ejemplo algunos de los
siguientes:
Diagramas de Flujo sencillas.
Diagramas de Ingeniería.
Programación de Trabajo.
Procesos de Red.
Características
Plantilla De Generación De Ideas: se puede exportar un diagrama de generación
de ideas (basado en la plantilla) a un documento de Word en formato de
esquema para organizar y comunicar de forma sencilla las ideas generadas en las
reuniones.
Posibilidad De Agregar Imágenes Y Relaciones Con Líneas De Puntos A Los
Organigramas: se puede importar imágenes de empleados en los organigramas y
presentar las estructuras importantes de informes.
Posibilidad De Generar Un Calendario A Partir De Datos De Outlook: se puede
importar en Visio los datos del calendario de Outlook para su visualización y
consulta de forma sencilla.
Plantilla Mejorada De Escala De Tiempo: la nueva funcionalidad de Visio
permite dividir múltiples escalas de tiempo.
Categoría De Creación De Diagramas De Procesos Empresariales: se puede
tener acceso a herramientas específicas para prácticamente cualquier trabajo de
documentación de procesos empresariales.
14
3. ANÁLISIS Y DISEÑO
3.1. Casos de uso
En este capítulo se detallaran los casos de usos que explican el funcionamiento del
sistema IMPLEMENTACIÓN DEL SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS (FUNAVI).
Caso De Uso Módulo De Administración 3.1.1.
Figura 3.1 Diagrama De Caso De Uso Módulo De Administración
Casos de uso Administración de perfiles CU1
Actores Administrador, Sistema.
Tipo Primario.
Referencias
Precondición El administrador debe tener su usuario y contraseña para
poder ingresar al sistema.
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar los perfiles de usuario que se maneja para el
acceso al sistema.
Resumen Describe la creación, modificación y eliminación de los
perfiles de usuario.
Curso Normal
1. El Administrador ingresa el tipo
de perfil y guarda la
información.
2. El sistema almacenará en la base de
datos la información, y retorna el
listado de todos los perfiles existentes.
3. El Administrador puede
modificar la información de un
perfil si es necesario.
4. El sistema actualiza la información en
la base de datos y retorna el listado de
los perfiles existentes.
15
5. El Administrador puede
eliminar un perfil nuevo si es
necesario.
6. El sistema eliminará el perfil nuevo
escogido y retorna el listado de los
perfiles restantes.
Cursos Alternos
Si el perfil seleccionado está relacionado con algún usuario el sistema notificará al
administrador que no se puede eliminar el registro.
Otros Datos
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
Comentario
Para crear un usuario es obligatorio ingresar los perfiles.
Tabla 3.1 Caso De Uso De Administración De Perfiles
Casos de uso Administración de Usuario CU2
Actores Administrador, Sistema.
Tipo Primario.
Referencias
Precondición El administrador debe tener su usuario y contraseña para
poder ingresar al sistema CU1.
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar los usuario que van a tener permisos para
ingresar al sistema.
Resumen Describe la creación, modificación y eliminación de los
usuarios.
Curso Normal
1. El Administrador ingresa la
información del usuario
dependiendo de tipo de perfil
que se le asigna, para luego
crear el usuario y la contraseña
con el que ingresará al sistema.
2. El sistema almacenará en la base de
datos la información de los usuarios, y
luego muestra el listado de los
usuarios existentes.
3. El Administrador puede escoger
el listado de usuarios existentes
para su modificación si fuera
necesario.
4. El sistema actualizará la información
en la base de datos y retorna el listado
de los usuarios existentes.
5. El Administrador puede escoger
el listado de usuarios existentes
para su eliminación si fuera
necesario,
6. El sistema eliminará el usuario
escogido y retorna el listado de los
usuarios restantes.
16
Cursos Alternos
Si el usuario seleccionado está relacionado, el sistema notificará al administrador que no
se puede eliminar el registro.
Otros Datos
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
Comentario
Solo tendrán acceso los usuarios que estén registrados.
Tabla 3.2 Caso De Uso De Administración De Usuarios
Caso De Uso Módulo De Paciente 3.1.2.
Figura 3.2 Diagrama Del Caso De Uso Módulo De Pacientes
Casos de uso Pacientes CU3
Actores Odontólogo, Asistente y Sistema.
Tipo Primario.
Referencias
Precondición CU1,CU2
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar la información de los pacientes.
Resumen Describe la creación, modificación y eliminación de los
pacientes.
Curso Normal
1. El Odontólogo o Asistente 2. El sistema almacenará en la base de
17
ingresa la información del
paciente y guarda la
información.
datos la información del paciente, y
retorna el listado de todos los
pacientes existentes.
3. El Odontólogo o Asistente
puede modificar la información
de un paciente si es necesario.
4. El sistema actualiza la información en
la base de datos y retorna el listado de
los pacientes existentes.
5. El Odontólogo o Asistente
puede eliminar un paciente si es
el caso.
6. El sistema eliminará el paciente
escogido y retorna el listado de los
pacientes restantes.
Cursos Alternos
Si el paciente seleccionado está relacionado con alguna historia Clínica el sistema
notificará al Odontólogo o Asistente que no se puede eliminar el registro.
Otros Datos
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
Comentario
Tabla 3.3 Caso De Uso De Pacientes
Casos de uso Historias Clínicas CU4
Actores Odontólogo, Sistema.
Tipo Primario.
Referencias
Precondición CU1,CU2
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar la información de las Historias Clínicas.
Resumen Describe la creación y modificación de las Historias
Clínicas.
Curso Normal
1. El Odontólogo ingresa la
Historia Clínica del paciente y
guarda la información.
2. El sistema almacenará en la base de
datos la información de la Historia
Clínica, y retorna la información.
3. El Odontólogo puede modificar
la información de la Historia
Clínica del paciente si es
necesario.
4. El sistema actualiza la información en
la base de datos y retorna la
información actualizada.
Cursos Alternos
Otros Datos
18
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
Comentario
Es obligatorio crear un paciente para poder tener un Historia Clínica.
Tabla 3.4 Caso de uso de Historias Clínicas
Casos de uso Medicamentos CU5
Actores Odontólogo, Asistente y Sistema.
Tipo Primario.
Referencias
Precondición CU1,CU2
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar la información de los Medicamentos.
Resumen Describe la creación, modificación y eliminación de los
medicamentos.
Curso Normal
1. El Odontólogo o Asistente
ingresa los medicamentos y
guarda la información.
2. El sistema almacenará en la base de
datos la información de los
medicamentos, y retorna la
información.
3. El Odontólogo o Asistente
puede modificar la información
de los medicamentos si es
necesario.
4. El sistema actualiza la información en
la base de datos y retorna la
información actualizada.
5. El Odontólogo o Asistente
puede eliminar la información
de los medicamentos si es el
caso.
6. El sistema eliminará la información
de la base de datos y retornará la
información con los medicamentos
existentes.
Cursos Alternos
Otros Datos
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
Comentario
Tabla 3.5 Caso De Uso De Medicamentos
19
Caso De Uso Módulo De Citas Médicas 3.1.3.
Figura 3.3 Diagrama Del Caso De Uso Módulo De Citas Odontológica
Casos de uso Citas Odontológica CU6
Actores Odontólogo, Asistente y Sistema.
Tipo Primario.
Referencias
Precondición CU1,CU2,CU3,C4
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar la información de los Medicamentos.
Resumen Describe la creación de las citas Odontológicas.
Curso Normal
1. El Odontólogo o Asistente
ingresa la cita odontológica y
guarda la información.
2. El sistema almacenará en la base de
datos la información de la cita
odontológica, y retorna la
información.
Cursos Alternos
Si existe otro paciente que necesita tener una cita con el mismo odontólogo a la misma
hora el sistema no dejará ingresar esa hora, mostrará las horas en las que el odontólogo
no tenga citas.
Otros Datos
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
20
Comentario
Para la creación de citas odontológicas, se debe de crear previamente un paciente y un
médico odontólogo para poderles relacionar.
Tabla 3.6 Caso De Uso De Citas Odontológicas
Caso De Uso Módulo De Formatos Mail 3.1.4.
Figura 3.4 Diagrama del caso de uso módulo de Formatos Mail
Casos de uso Formatos Mail CU7
Actores Administrador, Sistema.
Tipo Primario.
Referencias
Precondición CU1,CU2
Poscondición Ingresar al sistema.
Autor Dina Flores Fecha:2/07/2016 Version:1
Propósito Administrar la información de los Medicamentos.
Resumen Describe la modificación del formato de mail.
Curso Normal
1. El Administrador puede
modificar los parámetros para
conexión con el servidor de
correos, y los formatos de mail
para la creación de usuarios,
creación de odontólogos,
creación de asistentes, creación
de pacientes y citas médicas.
2. El sistema actualiza la información en
la base de datos y retorna la
información actualizada.
Cursos Alternos
21
Otros Datos
Frecuencia esperada Rendimiento
Importancia Alta Urgencia Alta
Estado Estabilidad Alta
Comentario
Es necesario tener una cuenta de la empresa para poder enviar los respectivos mails
Tabla 3.7 Caso De Uso De Formatos Mail
3.2. Diagrama de secuencias
Este diagrama se compone de 4 elementos los cuales son (Acción, objetos, mensajes,
métodos).
Diagrama de secuencias diagnóstico al paciente. 3.2.1.
Figura 3.5 Diagrama De Secuencias Diagnóstico
22
Diagrama de secuencias cita médica. 3.2.2.
Figura 3.6 Diagrama De Secuencias Cita Médica
Diagrama de secuencias ficha médica. 3.2.3.
Figura 3.7 Diagrama De Secuencias Ficha Médica
23
Diagrama de secuencias registrar un usuario con un perfil determinado 3.2.4.
Figura 3.8 Diagrama De Secuencias Perfil De Usuario
3.3. Modelo Entidad – Relación
24
Modelo lógico 3.3.1.
Relationship_1
Relationship_2 Relationship_3Relationship_4
Relationship_7
Relationship_8
Relationship_9
Relationship_10
Relationship_13
Relationship_14
Relationship_15
Relationship_16
Relationship_17
Relationship_18
Relationship_19
Relationship_20
Relationship_21
Relationship_22
Relationship_23
Relationship_24
Relationship_25
Relationship_26
MEDICO
ID_MEDICO
NOMBRES
APELLIDOS
CI
FECHA_NACIMIENTO
DIRECCION
TELEFONO
ESPECIALIDAD
FOTO
<pi> Serial
Variable characters (100)
Variable characters (100)
Variable characters (11)
Date
Variable characters (100)
Number
Variable characters (30)
Variable characters (30)
Variable characters (1024)
<M>
IDENTIFICADOR_MEDICO <pi>
PACIENTE
ID_PACIENTE
NOMBRES
APELLIDOS
CI
FECHA_NACIMIENTO
OCUPACION
DIRECCION
TELEFONO
FOTO
<pi> Serial
Variable characters (100)
Variable characters (100)
Variable characters (11)
Date
Variable characters (50)
Variable characters (100)
Number
Variable characters (30)
Variable characters (1024)
<M>
IDENTIFICADOR_PACIENTE <pi>
USUARIO
ID_USUARIOS
USUARIOS
CLAVE
<pi> Serial
Variable characters (30)
Variable characters (30)
<M>
IDENTIFICADOR_USUARIOS <pi>
ROL
ID_ROL
ROL
DESCRIPCION
<pi> Serial
Variable characters (30)
Variable characters (500)
<M>
IDENTIFICADOR_ROL <pi>
PERMISOS
ID_PERMISOS
PERMISOS
DESCRIPCION
MENU
ID_MENU
<pi> Serial
Variable characters (50)
Variable characters (500)
Variable characters (50)
Variable characters (100)
<M>
IDENTIFICADOR_PERMISOS <pi>
ROL_PERMISOS
ID_ROL_PERMISOS <pi> Serial <M>
IDENTIFICADOR_ROL_PERMISO <pi>
GENERO
ID_GENERO
GENERO
<pi> Serial
Variable characters (20)
<M>
IDENTIFICADOR_GENERO <pi>
ESTADO_CIVIL
ID_ESTADO_CIVIL
ESTADO_CIVIL
<pi> Serial
Variable characters (20)
<M>
IDENTIFICADOR_ESTADO_CIVIL <pi>
CITA_MEDICA
ID_FECHA_MEDICA
FECHA_HORA
<pi> Serial
Date & Time
<M>
IDENTIFICADOR_CITA_MEDICA <pi>
ESTADO_CITA_MEDICA
ID_ESTADO_CITA
ESTADO
<pi> Serial
Variable characters (30)
<M>
IDENTIFICADOR_ESTADO_CITA_MEDICA <pi>
CABECERA_HISTORIA_CLINICA
ID_HISTORIA_CLINICA
ENFERMEDADES_FAMILIARES
ANTECEDENTES_PATOLOGICOS
ALERGIAS
MARCAPASOS
INTERVECIONES_QUIRUJICAS
CIRUJIAS_PLASTICAS
<pi> Serial
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
<M>
IDENTIFICADOR_CAB_HISTORIAS_CLINICAS <pi>
RECETA
ID_RECETA
CANTIDAD
INDICADORES
<pi> Serial
Number
Variable characters (1024)
<M>
IDENTIFICADOR_RECETA <pi>
DETALLE_HISTORIA_CLINICA
ID_DET_HISTORIA_CLINICA
FECHA
ACTIVIDAD_FISICA
HABITOS_ALIMENTICIOS
MEDICACION_ACTUAL
TRATAMIENTO_ANTERIORES
DIAGNOSTICO
OBSERVACIONES
PRESION
SANGRA_EXCESIVAMENTE
PROBLEMA_SANGUINEO
VIH
MEDICAMENTO_RETROVIRAL
EMBARAZADA
TOMANDO_PASTILLAS_ANTICONSEPTIVAS
LIMITACIONES_ABRIR_CERRAR_BOCA
RUIDO_MANDIBULA_ABRIR_CERRAR_BOCA
HERPES_O_AFTAS_RECURRENTES
MUERDE_UNAS
FUMA
CIGARRILLOS_DIARIOS
CONSUME_ALIMENTOS_CITRICOS
MUERDE_OBJETOS_CON_LOS_DIENTES
<pi> Serial
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (20)
Boolean
Variable characters (1024)
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Integer
Boolean
Variable characters (100)
<M>
IDENTIFICADOR_DETALLE_HISTORIAS_CLINICA <pi>MEDICINA
ID_MEDICINA
DESCRIPCION
<pi> Serial
Variable characters (500)
<M>
IDENTIFICADOR_MEDICINA <pi>
TIPO_SANGRE
ID_TIPO_SANGRE
TIPO
<pi> Serial
Variable characters (30)
<M>
IDENTIFACADOR_TIPO_SANGRE <pi>
PARAMETROS_MAIL
ID_PARAMETROS_MAIL
MAIL_CREACION_USUARIO
MAIL_CREACION_PACIENTE
MAIL_CREACION_MEDICO
MAIL_CREACION_CITA
CUENTA_ENVIO
HOST_SMTP
PUERTO_SMPT
CONTRASENIA
<pi> Serial
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
Integer
Variable characters (1024)
<M>
Identifier_1 <pi>
HORAS_CITAS
ID_HORAS_CITAS
HORAS
<pi> Serial
Variable characters (30)
<M>
IDENTIFIACADOR_HORAS_CITAS <pi>
PARAMETROS_APP
ID_PARAMETROS_APP
SERVIDOR_LOCAL
DIRECTORIO_FOTOS
SERVIDOR_FOTOS
<pi> Serial
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
<M>
IDENTIFICADOR_APP <pi>
ARCHIVO_ADJUNTO
ID_ARCHIVO_ADJUNTO
PATH
TIPO_ARCHIVO
NOMBRE_ARCHIVO
<pi> Serial
Variable characters (1024)
Variable characters (1024)
Variable characters (1024)
<M>
IDENTIFICAR_ARCHIVO_ADJUNTO <pi>
DIENTE
ID_DIENTE
NOMBRE_DIENDE
<pi> Serial
Variable characters (500)
<M>
IDENTIFICADOR_DIENTE <pi>
ODONTOGRAMA
ID_ODONTODIGRAMA
DIENTE_AUSENTE
DIENTE_A_EXTRAER
CARIES
OBTURACION
CORONA
TRAMO
<pi> Serial
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
<M>
IDENTICADOR_ODONTOGRAMA <pi>
TRATAMINETO
ID_TRATAMINETO
NOMBRE_TRATAMINETO
<pi> Serial
Variable characters (300)
<M>
Identifier_1 <pi>
ODONTOGRAMA_TRATAMIENTO
ID_ODONTOGRAMA_TRATAMIENTO <pi> Serial <M>
IDENTIFICADOR_ODONTOGRAMA_TRATAMIENTO <pi>
25
Modelo Físico 3.3.2.
MEDICO
ID_MEDICO
ID_GENERO
ID_ESTADO_CIVIL
ID_USUARIOS
NOMBRES
APELLIDOS
CI
FECHA_NACIMIENTO
DIRECCION
TELEFONO
ESPECIALIDAD
FOTO
int
int
int
int
varchar(100)
varchar(100)
varchar(11)
date
varchar(100)
numeric(8,0)
varchar(30)
varchar(30)
varchar(1024)
<pk>
<fk3>
<fk2>
<fk1>
PACIENTE
ID_PACIENTE
ID_ESTADO_CIVIL
ID_GENERO
ID_TIPO_SANGRE
NOMBRES
APELLIDOS
CI
FECHA_NACIMIENTO
OCUPACION
DIRECCION
TELEFONO
FOTO
int
int
int
int
varchar(100)
varchar(100)
varchar(11)
date
varchar(50)
varchar(100)
numeric(8,0)
varchar(30)
varchar(1024)
<pk>
<fk1>
<fk2>
<fk3>
USUARIO
ID_USUARIOS
ID_ROL
USUARIOS
CLAVE
int
int
varchar(30)
varchar(30)
<pk>
<fk>
ROL
ID_ROL
ROL
DESCRIPCION
int
varchar(30)
varchar(500)
<pk>
PERMISOS
ID_PERMISOS
PERMISOS
DESCRIPCION
MENU
ID_MENU
int
varchar(50)
varchar(500)
varchar(50)
varchar(100)
<pk>
ROL_PERMISOS
ID_ROL_PERMISOS
ID_PERMISOS
ID_ROL
int
int
int
<pk>
<fk2>
<fk1>
GENERO
ID_GENERO
GENERO
int
varchar(20)
<pk>
ESTADO_CIVIL
ID_ESTADO_CIVIL
ESTADO_CIVIL
int
varchar(20)
<pk>
CITA_MEDICA
ID_FECHA_MEDICA
ID_ESTADO_CITA
ID_PACIENTE
ID_MEDICO
FECHA_HORA
int
int
int
int
datetime
<pk>
<fk1>
<fk3>
<fk2>
ESTADO_CITA_MEDICA
ID_ESTADO_CITA
ESTADO
int
varchar(30)
<pk>
CABECERA_HISTORIA_CLINICA
ID_HISTORIA_CLINICA
ID_PACIENTE
ENFERMEDADES_FAMILIARES
ANTECEDENTES_PATOLOGICOS
ALERGIAS
MARCAPASOS
INTERVECIONES_QUIRUJICAS
CIRUJIAS_PLASTICAS
int
int
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
<pk>
<fk>
RECETA
ID_RECETA
ID_DET_HISTORIA_CLINICA
ID_MEDICINA
CANTIDAD
INDICADORES
int
int
int
numeric(8,0)
varchar(1024)
<pk>
<fk2>
<fk1>
DETALLE_HISTORIA_CLINICA
ID_DET_HISTORIA_CLINICA
ID_MEDICO
ID_HISTORIA_CLINICA
FECHA
ACTIVIDAD_FISICA
HABITOS_ALIMENTICIOS
MEDICACION_ACTUAL
TRATAMIENTO_ANTERIORES
DIAGNOSTICO
OBSERVACIONES
PRESION
SANGRA_EXCESIVAMENTE
PROBLEMA_SANGUINEO
VIH
MEDICAMENTO_RETROVIRAL
EMBARAZADA
TOMANDO_PASTILLAS_ANTICONSEPTIVAS
LIMITACIONES_ABRIR_CERRAR_BOCA
RUIDO_MANDIBULA_ABRIR_CERRAR_BOCA
HERPES_O_AFTAS_RECURRENTES
MUERDE_UNAS
FUMA
CIGARRILLOS_DIARIOS
CONSUME_ALIMENTOS_CITRICOS
MUERDE_OBJETOS_CON_LOS_DIENTES
int
int
int
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(20)
bool
varchar(1024)
bool
bool
bool
bool
bool
bool
bool
bool
bool
int
bool
varchar(100)
<pk>
<fk2>
<fk1>
MEDICINA
ID_MEDICINA
DESCRIPCION
int
varchar(500)
<pk>
TIPO_SANGRE
ID_TIPO_SANGRE
TIPO
int
varchar(30)
<pk>
PARAMETROS_MAIL
ID_PARAMETROS_MAIL
MAIL_CREACION_USUARIO
MAIL_CREACION_PACIENTE
MAIL_CREACION_MEDICO
MAIL_CREACION_CITA
CUENTA_ENVIO
HOST_SMTP
PUERTO_SMPT
CONTRASENIA
int
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
varchar(1024)
int
varchar(1024)
<pk>
HORAS_CITAS
ID_HORAS_CITAS
HORAS
int
varchar(30)
<pk>
PARAMETROS_APP
ID_PARAMETROS_APP
SERVIDOR_LOCAL
DIRECTORIO_FOTOS
SERVIDOR_FOTOS
int
varchar(1024)
varchar(1024)
varchar(1024)
<pk>
ARCHIVO_ADJUNTO
ID_ARCHIVO_ADJUNTO
ID_DET_HISTORIA_CLINICA
PATH
TIPO_ARCHIVO
NOMBRE_ARCHIVO
int
int
varchar(1024)
varchar(1024)
varchar(1024)
<pk>
<fk>
DIENTE
ID_DIENTE
NOMBRE_DIENDE
int
varchar(500)
<pk>
ODONTOGRAMA
ID_ODONTODIGRAMA
ID_DET_HISTORIA_CLINICA
ID_DIENTE
DIENTE_AUSENTE
DIENTE_A_EXTRAER
CARIES
OBTURACION
CORONA
TRAMO
int
int
int
bool
bool
bool
bool
bool
bool
<pk>
<fk2>
<fk1>
TRATAMINETO
ID_TRATAMINETO
NOMBRE_TRATAMINETO
int
varchar(300)
<pk>
ODONTOGRAMA_TRATAMIENTO
ID_ODONTOGRAMA_TRATAMIENTO
ID_ODONTODIGRAMA
ID_TRATAMINETO
int
int
int
<pk>
<fk2>
<fk1>
26
Diccionario de base de datos 3.3.3.
En la Tabla 3.8 se describe las características de cada una de las tablas del sistema, que
se encuentran involucrados en el desarrollo del sistema.
TABLA DE ARCHIVO_ADJUNTO
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ARCHIVO_A
DJUNTO INTEGER SI Identifica al archivo adjunto
ID_DET_HISTOR
IA_CLINICA INTEGER SI
HISTORIA_
CLINICA -
ID_DET_HIS
TORIA_CLI
NICA
Identifica el detalle de la historia
clínica
PATH
VARCHAR
(1024) SI Dirección
TIPO_ARCHIVO
VARCHAR
(1024) SI Tipo de archivo
NOMBRE_ARCH
IVO
VARCHAR
(1024) SI
Nombre del archivo para ser
subido
TABLA DE CABECERA_HISTORIA_CLINICA
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_HISTORIA_C
LINICA INTEGER SI Identifica la historia clínica
ID_PACIENTE INTEGER SI
PACIENTE-
ID_PACIEN
TE Identifica el paciente
ENFERMEDADE
S_FAMILIARES
VARCHAR
(1024) SI Enfermedades del paciente
ANTECEDENTES
_PATOLOGICOS
VARCHAR
(1024) SI
Antecedentes patológicos del
paciente
ALERGIAS
VARCHAR
(1024) SI Alergias del paciente
MARCAPASOS
VARCHAR
(1024) SI Marcapasos del paciente
INTERVECIONE
S_QUIRUJICAS
VARCHAR
(1024) SI
Intervenciones quirúrgicas del
paciente
CIRUJIAS_PLAS
TICAS
VARCHAR
(1024) SI Cirugías plásticas del paciente
TABLA DE CITA_MEDICA
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_FECHA_
MEDICA INTEGER SI Identificación de la fecha médica
27
ID_ESTADO_CIT
A INTEGER SI
ESTADO_CI
TA-
ID_ESTADO
_CITA Identificación del estado de la cita
ID_PACIENTE INTEGER SI
PACIENTE -
ID_PACIEN
TE Identificación del paciente
ID_MEDICO INTEGER SI
MEDICO -
ID_MEDICO Identificación del médico
FECHA_HORA DATETIME SI Fecha y hora de la cita
TABLA DE DETALLE_HISTORIA_CLINICA
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_DET_HISTOR
IA_CLINICA INTEGER
Identificación del detalle de la
historia clínica
ID_MEDICO INTEGER SI
MEDICO -
ID_MEDICO Identificación del médico
ID_HISTORIA_C
LINICA INTEGER SI
HISTORIA_
CLINICA -
ID_HISTORI
A_CLINICA Identificación de la historia clínica
FECHA DATETIME SI
Fecha de la cita
ACTIVIDAD_FIS
ICA
VARCHAR
(1024) SI Actividad física del paciente
HABITOS_ALIM
ENTICIOS
VARCHAR
(1024) SI Hábitos alimenticios del paciente
MEDICACION_A
CTUAL
VARCHAR
(1024) SI
Medicación actual que toma el
paciente
TRATAMIENTO_
ANTERIORES
VARCHAR
(1024) SI
Tratamientos anteriores del
paciente
DIAGNOSTICO
VARCHAR
(1024) SI Diagnóstico del paciente
OBSERVACIONE
S
VARCHAR
(1024) SI Observaciones del paciente
PRESION
VARCHAR
(1024) SI Presión del paciente
SANGRA_EXCES
IVAMENTE
BOOLEANO
(1) SI Sangre excesiva del paciente
PROBLEMA_SA
NGUINEO
BOOLEANO
(1) SI Problemas sanguíneos de paciente
VIH
BOOLEANO
(1) SI VIH del paciente
MEDICAMENTO
_RETROVIRAL
BOOLEANO
(1) SI
Medicamentos retrovirales del
paciente
28
EMBARAZADA
BOOLEANO
(1) SI Embarazo del paciente
TOMANDO_PAS
TILLAS_ANTICO
NSEPTIVAS
BOOLEANO
(1) SI
Toma pastillas anticonceptivas el
paciente
LIMITACIONES_
ABRIR_CERRAR
_BOCA
BOOLEANO
(1) SI
Limitaciones la abrir y cerrar la
boca del paciente
RUIDO_MANDIB
ULA_ABRIR_CE
RRAR_BOCA
BOOLEANO
(1) SI Ruido en la mandíbula del paciente
HERPES_O_AFT
AS_RECURRENT
ES
BOOLEANO
(1) SI Herpes del paciente
MUERDE_UNAS
BOOLEANO
(1) SI Se muerde las uñas el paciente
FUMA
BOOLEANO
(1) SI Fuma el paciente
CIGARRILLOS_
DIARIOS INTEGER SI
Cuantos cigarrillos diarios
consume el paciente
CONSUME_ALI
MENTOS_CITRI
COS
BOOLEANO
(1) SI
Consume alimentos cítricos el
paciente
MUERDE_OBJET
OS_CON_LOS_D
IENTES
VARCHAR
(1024) SI
Muerde objetos con los dientes el
paciente
TABLA DE DIENTE
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_DIENTE INTEGER SI Identificación de los dientes
NOMBRE_
DIENDE
VARCHAR
(500) SI Nombre de cada diente
TABLA DE ESTADO_CITA_MEDICA
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ESTADO_
CITA INTEGER SI
Identificación del estado de la cita
médica
ESTADO
VARCHAR
(30) SI Estado de la cita
TABLA DE ESTADO_CIVIL
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ESTADO_CIV
IL INTEGER SI Identificación del estado civil
ESTADO_CIVIL
VARCHAR
(20) SI Estado civil del paciente
29
TABLA DE GENERO
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_GENERO INTEGER SI Identificación del género
GENERO
VARCHAR
(20) SI Género del paciente
TABLA DE HORAS_CITAS
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_HORAS_CITA
S INTEGER SI Identificación de la horas de cita
HORAS
VARCHAR
(20) SI Horas de cita
TABLA DE MEDICINA
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_MEDICINA INTEGER SI Identificación de la medicina
DESCRIPCION
VARCHAR
(20) SI Descripción de la medicina
TABLA DE MEDICO
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_MEDICO INTEGER SI Identificación del médico
ID_GENERO INTEGER SI
GENERO-
ID_GENERO Identificación del género
ID_ESTADO_CIV
IL INTEGER SI
ESTADO_CI
VIL-
ID_ESTADO
_CIVIL Identificación del estado civil
ID_USUARIOS INTEGER SI
USUARIO
ID_USUARI
OS Usuario
NOMBRES
VARCHAR
(100) SI Nombre del médico
APELLIDOS
VARCHAR
(100) SI Apellido del médico
CI
VARCHAR
(100) SI Cédula del médico
FECHA_NACIMI
ENTO DATETIME SI Fecha de nacimiento del médico
DIRECCION
VARCHAR
(100) SI Dirección del médico
TELEFONO
VARCHAR
(30) SI Teléfono del médico
VARCHAR
(30) SI Mail del médico
30
ESPECIALIDAD
VARCHAR
(30) SI Especialidad del médico
FOTO
VARCHAR
(1024) SI Foto del médico
TABLA DE ODONTOGRAMA
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ODONTODIG
RAMA INTEGER SI Identificación del Odontograma
ID_DET_HISTOR
IA_CLINICA INTEGER SI
DET_HISTO
RIA_CLINIC
A -
ID_DET_HIS
TORIA_CLI
NICA
Identificación del detalle de la
historia clínica
ID_DIENTE INTEGER SI
DIENTE -
ID_DIENTE Identificación del diente
DIENTE_AUSEN
TE
BOOLEANO
(1) SI Diente ausente
DIENTE_DIENTE
_A_EXTRAER
BOOLEANO
(1) SI Diente a extraer
CARIES
TINYI
BOOLEANO
NT(1) SI Caries localizadas
OBTURACION
BOOLEANO
(1) SI Obturación
CORONA
BOOLEANO
(1) SI Corona
TRAMO
BOOLEANO
(1) SI Tramo
TABLA DE ODONTOGRAMA_TRATAMIENTO
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ODONTOGR
AMA_TRATAMI
ENTO INTEGER SI
Identificación del tratamiento
según el Odontograma
ID_ODONTODIG
RAMA INTEGER SI
ODONTODI
GRAMA -
ID_ODONT
ODIGRAMA Identificación del Odontograma
ID_TRATAMIEN
TO INTEGER SI
TRATAMIE
NTO -
ID_TRATA
MIENTO
Identificación del tratamiento
según el Odontograma
31
TABLA DE PACIENTE
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_PACIENTE INTEGER SI Identificación del paciente
ID_ESTADO_CIV
IL INTEGER SI
ESTADO_CI
VIL -
ID_ESTADO
_CIVIL Identificación del estado civil
ID_GENERO INTEGER SI
GENERO -
ID_GENERO Identificación del género
ID_TIPO_SANGR
E INTEGER SI
TIPO_SANG
RE -
ID_TIPO_SA
NGRE Identificación del tipo sangre
NOMBRES
VARCHAR(
100) SI Nombre del paciente
APELLIDOS
VARCHAR(
100) SI Apellido del paciente
CI
VARCHAR(
11) SI Cédula del paciente
FECHA_NACIMI
ENTO DATE SI Fecha de nacimiento del paciente
OCUPACION
VARCHAR(
50) SI Ocupación del paciente
DIRECCION
VARCHAR(
100) SI Dirección del paciente
TELEFONO
VARCHAR(
30) SI Teléfono del paciente
VARCHAR(
30) SI Mail del paciente
FOTO
VARCHAR(
1024) SI Foto del paciente
TABLA DE PARAMETROS_APP
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_PARAMETRO
S_APP INTEGER SI Identificación del parámetro app
SERVIDOR_LOC
AL
VARCHAR(
1024) SI Servidor local
DIRECTORIO_F
OTOS
VARCHAR(
1024) SI Directorio de las fotos
SERVIDOR_FOT
OS
VARCHAR(
1024) SI Servidor de Fotos
TABLA DE PARAMETROS_MAIL
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_PARAMETRO
S INTEGER SI
Identificación de parámetros de
32
_MAIL
MAIL_CREACIO
N
_USUARIO
VARCHAR(
1024) SI Creación del mail de usuario
MAIL_CREACIO
N
_PACIENTE
VARCHAR(
1024) SI Creación de mail paciente
MAIL_CREACIO
N
_MEDICO
VARCHAR(
1024) SI Creación mail médico
MAIL_CREACIO
N
_CITA
VARCHAR(
1024) SI Mail de la creación de un cita
CUENTA
_ENVIO
VARCHAR(
1024) SI Cuenta de envió del mail
HOST_SMTP
VARCHAR(
1024) SI Dirección del servidor SMTP
PUERTO_SMPT INTEGER SI Puerto del servidor SMTP
CONTRASENIA
VARCHAR(
1024) SI Contraseña
TABLA DE PERMISOS
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_PERMISOS INTEGER SI Identificación del permiso
PERMISOS
VARCHAR(
50) SI Permisos de usuario
DESCRIPCION
VARCHAR(
500) SI Descripción del permiso
MENU
VARCHAR(
50) SI Menú
ID_MENU
VARCHAR(
100) SI Identificación del menú
TABLA DE PERMISOS
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_RECETA INTEGER SI Identificación de la receta
ID_DET_HISTOR
IA_CLINICA INTEGER SI
ESTADO_CI
VIL -
ID_DET_HIS
TORIA_CLI
NICA
Identificación del detalle de la
historia clínica
ID_MEDICINA INTEGER SI
MEDICINA-
ID_MEDICI
NA Identificación de la medicina
CANTIDAD
DECIMAL(8.
0) SI Cantidad
INDICADORES VARCHAR( SI Indicadores
33
1024)
TABLA DE ROL
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ROL INTEGER SI Identificación rol
ROL
VARCHAR(
30) SI Rol del usuario
DESCRIPCION
VARCHAR(
500) SI Descripción del rol
TABLA DE ROL_PERMISOS
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_ROL_PERMIS
OS INTEGER SI Identificación del rol permiso
ID_PERMISOS INTEGER SI
PERMISOS -
ID_PERMIS
OS Identificación permiso
ID_ROL INTEGER SI
ROL-
ID_ROL Identificación rol
TABLA DE TIPO_SANGRE
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_TIPO_SANGR
E INTEGER SI Identificación del tipo de sangre
TIPO
VARCHAR(
30) SI Tipo
TABLA DE TRATAMIENTO
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_TRATAMINE
TO INTEGER SI Identificación del tratamiento
NOMBRE_TRAT
AMINETO
VARCHAR(
30) SI Nombre del tratamiento
TABLA DE USUARIO
CAMPO TIPO NULO ENLACES COMENTARIOS
ID_USUARIOS INTEGER SI Identificación de usuario
ID_ROL INTEGER SI
ROL -
ID_ROL Identificación rol
USUARIOS
VARCHAR(
30) SI Usuario
CLAVE
VARCHAR(
30) SI Clave
Tabla 3.8 Descripción De Las Tablas Con Sus Atributos Correspondientes
34
3.4. Arquitectura del sistema
Arquitectura de despliegue 3.4.1.
Para el despliegue de la arquitectura Java JEE6 se basa en la en Modelo-Vista-
Controlador (MVC) es un patrón de arquitectura de software que separa los datos y la
lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de
gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de
tres componentes distintos que son: el modelo, la vista y el controlador. Es decir, por un
lado, define componentes para la representación de la información y, por otro lado, para
la interacción del usuario. Este patrón de arquitectura de software se basa en las ideas de
reutilización de código y la separación de conceptos, características que buscan facilitar
la tarea de desarrollo de aplicaciones y su posterior mantenimiento.
Modelo
La capa de modelo implementa la lógica de negocio de la aplicación. Esta capa es la
responsable de consultar, insertar, modificar y eliminar información en la base de datos.
Al estar cada modelo encapsulado en una clase, se podrá acceder a todas sus
funcionalidades desde cualquier otra parte de la aplicación, reutilizando de esta manera
código necesario para los accesos a la base de datos.
Vista
Esta capa contendrá lo que será la interfaz que se le muestre al usuario. Es decir, todos
nuestros códigos HTML, CSS, JavaScript serán ubicados en esta capa para su posterior
representación en el navegador del usuario final.
Controlador
El controlador es la capa más importante, ya que se encarga de ser el intermediario entre
el modelo, la vista y cualquier otro recurso necesario para procesar la petición y generar
una respuesta.
35
Diagrama Modelo-Vista-Controlador (MVC)
Figura 3.9 Diagrama Modelo-Vista-Controlador
Arquitectura de desarrollo 3.4.2.
Para el desarrollo del sistema se emplea el estándar de J2EE, mediante la
implementación de Enterprise JavaBeans (EJB). El objetivo de los EJB es dotar al
programador de un modelo que le permita abstraerse de los problemas generales de una
aplicación empresarial para centrarse en el desarrollo de la lógica de negocio en sí. El
hecho de estar basado en componentes permite que éstos sean flexibles y sobre todo
reutilizables. Para el desarrollo del sistema se emplean los siguientes tipos de EJB:
EntityBeans, su objetivo es encapsular los objetos del lado del servidor que almacena
los datos, además presentan la característica fundamental de la persistencia de objetos.
Estos EJB se los usa en la capa de modelo de la arquitectura MVC.
SessionBeans, su objetivo es proveer servicios que encapsulan la lógica de negocio y
son consumidos por la capa de control de la arquitectura MVC.
ManagedBean, su objetivo es consumir los servicios provistos por los SessionBean.
Procesan la información ingresada en las páginas web y son consumidos por la capa de
vista de la arquitectura MVC.
36
3.5. Resultados y Discusiones
Resultados 3.5.1.
3.5.1.1. Arquitectura de despliegue MVC
Figura 3.10 Arquitectura Modelo-Vista -Controlador
Modelo: Es la representación física de la información con la cuenta el sistema en este
caso almacenado en la base de datos MySQL la cual se instaló siguiendo los estándares.
Por ejemplo.
Tabla: ODONTOGRAMA
create table ODONTOGRAMA
(
ID_ODONTODIGRAMA int not null auto_increment,
ID_DET_HISTORIA_CLINICA int,
ID_DIENTE int,
DIENTE_AUSENTE bool,
DIENTE_DIENTE_A_EXTRAER bool,
CARIES bool,
OBTURACION bool,
CORONA bool,
TRAMO bool,
primary key (ID_ODONTODIGRAMA)
);
Figura 3.11 Modelo Odontograma
37
Vista: Es la parte que permite que la interfaz interactúe con el usuario, es la encargada
de la parte visual, la cual se altera al momento de que exista un cambio en el modelo.
Formularios: Creados en nuestro sistema.
<h:form>
<h1 class="pageTitle">
<a href="#" title="#">Pacientes</a>
</h1>
<ol class="breadcrumb">
<li><h:commandLink
action="#{ingresoBean.RegresarWellcome}" ><i class="zmdi zmdi-home"></i> Sistema
Odontológico</h:commandLink></li>
<li class="active">Listado Pacientes</li>
</ol>
</h:form>
Figura 3.12Vista Pacientes
Figura 3.13 Aplicación vista paciente
Tablas: Creados en nuestro sistema para la visualización de datos.
<h:dataTable value="#{pacientesBean.listaPacientes}" var="o"
styleClass="table">
<h:column>
<!-- column header -->
<f:facet name="header">Paciente</f:facet>
<h:outputText value="#{o.nombres} #{o.apellidos}" />
</h:column>
<h:column>
<f:facet name="header">Dirección</f:facet>
<h:outputText value="#{o.direccion}" />
</h:column>
<h:column>
<f:facet name="header">Teléfono</f:facet>
<h:outputText value="#{o.telefono}" />
</h:column>
<h:column>
<f:facet name="header">Acción</f:facet>
<h:commandLink
action="#{pacientesBean.editPac(o)}" styleClass="text-light-gray">
<i class="fa fa-pencil-square-
o"></i></h:commandLink>
<h:commandLink onclick="if (! confirm('Esta
seguro que desea eliminar el Paciente?')) return false" action="#{pacientesBean.deleteAction(o)}"
styleClass="text-light-gray">
38
<i class="fa fa-trash-o"></i></h:commandLink>
</h:column>
</h:dataTable>
Figura 3.14 Vista lista pacientes
Figura 3.15 Aplicativo vista lista pacientes
Texto: creados en nuestro sistema para el ingreso de datos importantes.
<div class="form-group">
<h:inputText value="#{ingresoBean.user}"
styleClass="form-control simple-form-control" placeholder="Usuario" maxlength="30"/>
<i class="fa fa-user"></i>
</div>
Figura 3.16 Vista usuarios
Figura 3.17Aplicativos vista usuario
39
Controlador: Es el que ejecuta los eventos del sistema mediante los dispositivos de
entrada como el mouse.
public List<CitaMedica> consutarCitaMedica() {
List<CitaMedica> listaCitaMedica = new ArrayList<CitaMedica>();
Query q = entityManager.createQuery("select c from CitaMedica c");
listaCitaMedica = q.getResultList();
return listaCitaMedica;
}
Figura 3.18 Controlador consulta cita médica
Figura 3.19 Aplicativo controlador consulta cita médica
3.5.1.2. Metodología XP
Figura 3.20 Arquitectura metodología XP (Catillo, 2008)
Planificación
Para el desarrollo de la aplicación existieron reuniones previas con las personas
encargadas, del centro FUNAVI con las cuales se determinaron los requerimientos y las
acciones a realizar. En este punto se realizaron 4 historias de usuario.
40
Historias de Usuario
N° 1
Nombre de Historia Citas Médicas Odontológicas
Fecha 08/04/2016
Entrevistado Félix Saavedra
Tiempo Estimado 2:00
Descripción Las citas médicas que se realizaron se las hace directamente en
el centro donde se tiene una agenda del médico con las horas
disponibles para las citas, esta agenda es manejada por la
asistente y el odontólogo los cuales pueden ir asignando las
citas odontológicas. Es importante enviar un correo
electrónico al paciente para dejar constancia de que reservo
una cita.
Nota Los únicos que pueden dar citas médicas son los odontólogos
o las asistentes del mismo.
Tabla 3.9 Historia de usuario cita médica
N° 2
Nombre de
Historia
Historias Clínicas odontológicas
Fecha 11/05/2016
Entrevistado Félix Saavedra
Tiempo Estimado 3:00
Descripción Las citas médicas odontológicas son los registros de las visitas de
los pacientes en las cuales se ingresan los datos del paciente, las
observaciones, el tratamiento a seguir y las recetas enviadas por
el odontólogo. Esto se realiza de modo manual y se archivan en
carpetas. La historia clínica odontológica se divide en 2:
La ficha médica: Se guardan todos los datos informativos
del paciente como datos personales, enfermedades
patológicas, tratamientos anteriores, se actualiza en caso
de ser necesario.
La Historia: Se archiva los resultados que el odontólogo
emita al paciente.
Nota
Tabla 3.10 Historia usuario historia clínica
41
N° 3
Nombre de
Historia
Paciente
Fecha 29/05/2016
Entrevistado Félix Saavedra
Tiempo Estimado 3:00
Descripción La información de los pacientes es importante, por lo cual se
desea tener una base de datos al día con información relevante.
Nota
Tabla 3.11 Historia de usuario paciente
N° 4
Nombre de
Historia
Odontólogos y Asistentes
Fecha 15/06/2016
Entrevistado Félix Saavedra
Tiempo Estimado 3:00
Descripción Todos los odontólogos tienen acceso al sistema de modo que
ellos pueden realizar el ingreso de las historias clínicas y las citas
médicas.
Nota
Tabla 3.12 Historia de usuario odontólogos y asistentes
Con estas historias de usuario se determinaron los módulos y las iteraciones:
o Módulo de Administración.
o Módulo de Paciente e Historias Clínicas.
o Módulo de Citas Médicas.
o Módulo de Formatos mail.
Por lo tanto las iteraciones a realizar son 4
Iteración 1
En esta primera iteración se realiza el módulo de administración que es el encargado de
crear nuevos usuarios y perfiles.
Tareas:
o Creación de página web para el ingreso de nuevo perfiles.
o Creación de página web para la edición de perfiles existentes.
o Creación de página web para el ingreso de nuevos Usuarios.
o Creación de página web para la edición de usuarios Existentes.
42
Entregables
o Página web perfiles de usuario.
o Página web usuarios.
Iteración 2
En esta segunda iteración se realiza el módulo de pacientes e historias clínicas que
contempla el ingreso de nuevos pacientes y la administración de las historias clínicas.
Tareas:
o Creación de página web para el ingreso de nuevos pacientes.
o Creación de página web para la edición de pacientes existentes.
o Creación de página web para la búsqueda de pacientes que realizan la
visita odontológica.
o Creación de página web para la gestión de las historias clínicas.
o Creación del odontograma.
Entregables
o Página web pacientes.
o Página web historias clínicas odontológicas.
Iteración 3
En esta tercera iteración se realiza módulo de citas médicas el cual se encarga de la
gestionar las agendas de los odontólogos y de reservar citas para los pacientes.
Tareas:
o Creación de página web para gestionar las citas médicas
odontológicas.
Entregables
o Página web citas médicas.
43
Iteración 4
En esta cuarta iteración se realiza el módulo de Formatos de Mail el cual se encargar de
gestionar los mails enviados a los pacientes y los parámetros del servicio de correo.
Tareas:
o Creación de página web para los parámetros de mail.
Entregables
o Página web parámetros de mail.
Codificación
En esta fase se describe el código fuente, la aplicación está desarrollada en un entorno
Java EE6 el cual permite el manejo de la programación orientada a objetos. Como se
desarrolló en base al patrón de diseño MVC se divide la codificación en tres proyectos
diferentes los cuales van a ser integrados los componentes son:
o Persistencia
o Negocio
o Presentación
Persistencia
La persistencia dentro de la codificación usa JPA (Java Persistence API) que permite
mapear la base de datos en clases las cuales son usadas para realizar las cuatro
operaciones principales de la base de datos (SELECT, INSERT, UPDATE, DELETE).
El mapeo se realiza por medio de Entidades que son clases de java que contienen
anotaciones para poder identificarlos su ubicación dentro de la base de datos, en estas
anotaciones se indica el nombre de la tabla, los nombres de los campos dentro de la
tabla, el tipo de dato.
@Entity Indica que la clase es una entidad
@Table(name = "nombre") Nombre de la tabla en la base de datos
@Id Clave primaria en la tabla
@GeneratedValue(strategy =
IDENTITY)
Estrategia para la generación de clave
primaria
@Column(name =
"ID_ASISTENTE")
Nombre de la comuna en la tabla
@ManyToOne(fetch = Relación de muchos a uno
44
FetchType.LAZY)
@JoinColumn(name =
"ID_GENERO")
Clave foránea en la tabla
@OneToMany(fetch =
FetchType.LAZY, mappedBy =
"paciente")
Relación de uno a muchos
Tabla 3.13 Persistencia
Dentro del proyecto se llama “SMOPersistencia “, dentro del proyecto encontramos
todas las entidades que corresponden a las tablas de la base de datos.
Diente.java
HorasCitas.java
EstadoCivil.java
OdontogramaTratamiento.java
Genero.java
Rol.java
Medico
Tratamineto.java
Receta.java
ParametrosMail.java
RolPermisos.java
EstadoCitaMedica.java
DetalleHistoriaClinica.java
Usuario.java
TipoSangre.java
Odontograma.java
Paciente.java
CabeceraHistoriaClinica.java
CitaMedica.java
ParametrosApp.java
ArchivoAdjunto.java
Medicina.java
Permisos.java
Negocio
El proyecto albergar toda la lógica del sistema, aquí se tienen que ingresar todas las
clase y métodos que se usan en el sistema ya sean búsquedas, inserciones, cálculos,
validaciones, etc.
45
En Java EE6 la forma de encapsular la lógica de negocio son los EJB (Enterprise
JavaBeans), para ello se hace una interface la cual va a permitir dar seguridad al código.
Dentro del proyecto se llama “SMONegocio” en este proyecto se encontrara la
interface LogicaBeanLocal.java y la implementación de la misma LogicaBean.java. El
EJB interactúa con el proyecto de persistencia por medio del EntityManager que es una
clase especial que permite el manejo de JPA, en esta clase se va a poder especificar el
módulo de persistencia por medio de la etiqueta
@PersistenceContext(unitName = " SMOPersistencia ")
Para el sistema de historias clínicas odontológicas se implementa métodos de
búsquedas, inserciones, actualizaciones borrados, validaciones, copias, combinaciones,
transformaciones.
Presentación
En esta parte la codificación es la más visible aquí se programar el front del sistema es
donde el usuario va a interactuar con el sistema aquí se mescla HTML, JavaScript y
CSS con Java, de modo que cumpla con todas las funciones del sistema, Esta
combinación dentro de Java EE6 se conoce como JSF(Java Server Faces) , los JSF nos
permite interactuar con la lógica del negocio(EJB), también permite gestionar una
sesión en la cual se va a ir acumulando parámetros que permiten la navegación del
usuario en la página web.
Actualmente contamos con celulares inteligentes, tablets, computadores todos ellos con
sistemas operativos diferentes por lo cual es indispensable pensar que nuestra página
web tenga que ser responsiva (adaptación a cualquier tipo de pantalla), para poder
cumplir con este objetivo para ello se utiliza librerías de CSS y JS llamadas bootstrap.
Con estas librerías se puede utilizar cualquier dispositivo y se va poder abrir
indiferentemente del sistema operativo.
46
Figura 3.21 Codificación front citas medicas
Bootstrap también va a permitir manejar estilos, para poder usar estas librerías también
es indispensable el uso de librerias de jquery que son librerías de JS las cuales permiten
manejar los elementos de la página de una manera fácil, Jquery nos simplifica mucho el
código JS.
JSF también da la posibilidad de manejar plantillas, el manejo de plantillas simplificar
mucho la codificación ya que la parte de navegación y cabecera se tienen que repetir en
todas las páginas y por ende no se tiene que escribir siempre este código, además al ser
mucho código se puede confundir de ese modo se va a poder ordenar de mejor manera
el código.
JSF también controla el flujo de información, es un API que maneja automáticamente
los métodos POST del HTML esto garantiza que los datos pasen al servidor de manera
segura ya que no van a poder ser vistos en la URL, y además no permite la inyección de
código.
Dentro del proyecto se llama “SistemaOdontologico” este nombre es el que va a
permitir ingresar a las paginas en el navegador para poder acceder al sistema se escribe
la url http://localhost:8080/SistemaOdontologico el puerto por defecto del servidor
JBoss es el 8080. Dentro del proyecto se encontrara una carpeta de WebContent aquí se
aloja páginas de JSF, todas las páginas JSF tienen la extensión .XHTML. En donde se
encontrar los tags de HTML, JSF.
47
JSF HTML
h:inputText
h:inputSecret
h:inputTextarea
h:inputHidden
h:selectBooleanCheckbox
h:selectManyCheckbox
h:selectOneRadio
h:selectOneListbox
h:selectManyListbox
h:selectOneMenu
h:outputText
h:outputFormat
h:graphicImage
h:outputStylesheet
h:outputScript
h:commandButton
h:Link
h:commandLink
h:outputLink
h:panelGrid
h:message
h:messages
f:param
f:attribute
f:setPropertyActionListener
a
article
audio
br
button
canvas
caption
center
dialog
dir
div
dl
dt
footer
form
frame
head
header
hr
html
i
iframe
img
input
label
li
link
main
map
menu
menuitem
meta
meter
nav
object
ol
option
output
p
param
48
s
script
section
select
small
source
span
strike
strong
style
table
tbody
td
textarea
tfoot
th
thead
title
u
ul
var
video
Tabla 3.14 Etiquetas html y jsf
Pruebas
En todas las iteraciones se realizaron las respectivas pruebas. Al construir una prueba
queda más claro la funcionalidad que debe implementarse por lo cual la construcción de
la rutina requiere menos tiempo. Durante el desarrollo del sistema se realizaron pruebas
individuales. Las pruebas unitarias se realizan antes, durante y después de la
codificación. Consisten en que con parámetros de entradas se genere una salida y que si
coincide las pruebas son un éxito.
49
Pruebas Unitarias
Prueba Verificación del nombre de usuario
Descripción El usuario, al ingresar al sistema verá una ventana de
acceso a la aplicación, en la que se le solicitará el nombre
de usuario y la contraseña. El usuario debe introducir
estos campos y se cumple cuando el usuario logra ingresa
al sistema.
Condiciones de ejecución
Entradas Usuario valido
Usuario invalido
Salida Usuario valido => true
Usuario invalido => false
Evaluación de la prueba Prueba satisfactoria
Tabla 3.15 Nombre de usuario
Prueba Nuevo Usuario
Descripción Una vez ingresado al sistema se va a poder ingresar
usuarios nuevos, los cuales van a poder ingresar al sistema
y realizar diferentes operaciones dependiendo del perfil
asignado
Condiciones de ejecución El usuario debe haber ingresado al sistema con el perfil de
administrador
Entradas Usuario nuevo que no esté en la lista de usuarios
Usuario nuevo que este en la lista de usuarios
Usuario odontólogo con contraseñas que coincida
Usuarios odontólogo con contraseña que no coincidan
Cédula valida(10 dígitos y que cumpla con la validación
de Ecuador)
Cédula no valida
Teléfono valido(entre 8 y 12 dígitos)
Teléfono no valido
Correo Electrónico valido(contenga @ y .dominio)
Correo no valido
Salida Usuario nuevo que no esté en la lista de usuarios => true
Usuario nuevo que este en la lista de usuarios=> false
Usuario odontólogo con contraseñas que coincida=> true
Usuarios odontólogo con contraseña que no coincidan=>
false
Cédula valida(10 dígitos y que cumpla con la validación
de Ecuador) => true
Cédula no valida => false
50
Teléfono valido(entre 8 y 12 dígitos) => true
Teléfono no valido => false
Correo Electrónico valido(contenga @ y .dominio) =>
true
Correo no valido => false
Evaluación de la prueba Prueba satisfactoria
Tabla 3.16 Nuevo Usuario
Prueba Nuevo perfil
Descripción Una vez ingresado al sistema se va a poder ingresar
perfiles nuevos que permiten acceder a ciertos módulos
del sistema
Condiciones de ejecución El usuario debe haber ingresado al sistema con el perfil de
administrador
Entradas Perfil nuevo que no esté en la lista de usuarios
Perfil nuevo que este en la lista de usuarios
Seleccionar uno o más campos
Seleccionar ningún campo
Salida Perfil nuevo que no esté en la lista de usuarios => true
Perfil nuevo que este en la lista de usuarios => false
Seleccionar uno o más campos => true
Seleccionar ningún campo => false
Evaluación de la prueba Prueba satisfactoria
Tabla 3.17 Nuevo perfil
Prueba Nuevo paciente
Descripción El odontólogo o la asistente pueden ingresar nuevos
pacientes al sistema para poder agendar cita y poder
hacerse atender en el centro FUNAVI
Condiciones de ejecución El usuario debe haber ingresado al sistema con perfil de
odontólogo o asistente
Entradas Paciente nuevo que no esté en la lista de pacientes
Paciente nuevo que este en la lista de pacientes
Cédula valida(10 dígitos y que cumpla con la validación
de Ecuador) y no se repita
Cédula no valida
Teléfono valido(entre 8 y 12 dígitos)
Teléfono no valido
Correo Electrónico valido(contenga @ y .dominio)
Correo no valido
51
Salida Paciente nuevo que no esté en la lista de pacientes => true
Paciente nuevo que este en la lista de pacientes => false
Cédula valida(10 dígitos y que cumpla con la validación
de Ecuador) y no se repita => true
Cédula no valida => false
Teléfono valido(entre 8 y 12 dígitos) => true
Teléfono no valido => false
Correo Electrónico valido(contenga @ y .dominio) =>
true
Correo no valido => false
Evaluación de la prueba Prueba satisfactoria
Tabla 3.18 Nuevo paciente
Prueba Buscar pacientes
Descripción Cuando un paciente va a ser atendido tienen que buscar su
historia clínica para ello lo van a poder hacer con un
buscador
Condiciones de ejecución El usuario debe haber ingresado al sistema con perfil de
odontólogo o asistente
Entradas Una cédula o parte de ella que este dentro de la lista de los
pacientes
Nombres y apellidos o partes del nombre o apellidos que
este dentro de la lista de los pacientes
Una cédula o parte de ella que no esté dentro de la lista de
los pacientes
Nombres y apellidos o partes del nombre o apellidos que
no esté dentro de la lista de los pacientes
Dejar vacío
Salida Una cédula o parte de ella que este dentro de la lista de los
pacientes => lista de pacientes válidos para ese
parámetros
Nombres y apellidos o partes del nombre o apellidos que
este dentro de la lista de los pacientes => lista de
pacientes válidos para ese parámetros
Una cédula o parte de ella que no esté dentro de la lista de
los pacientes => lista vacía
Nombres y apellidos o partes del nombre o apellidos que
no esté dentro de la lista de los pacientes => lista vacía
Dejar vacío => Lista con todos los pacientes
Evaluación de la prueba Prueba satisfactoria
Tabla 3.19 Buscar pacientes
52
Prueba Historia clínica
Descripción El odontólogo y la asistente pueden ingresar una nueva
historia clínica según el diagnóstico y tratamiento del
cliente
Condiciones de ejecución El usuario debe haber ingresado al sistema con perfil de
odontólogo o asistente
Entradas Estilo de vida completo
Estilo de vida incompleto
Odontograma
Archivos menores a 40MB
Archivos mayores a 40MB
Receta con cantidad 0
Receta con cantidad > 0
Salida Estilo de vida completo => true
Estilo de vida incompleto => false
Odontograma => true
Archivos menores a 40MB => true
Archivos mayores a 40MB => false y error en la subida
Receta con cantidad 0 => true
Receta con cantidad > 0 => false
Evaluación de la prueba Prueba satisfactoria
Tabla 3.20 Historia clínica
Prueba Citas Médicas
Descripción El odontólogo o la asistente pueden ingresar nuevas citas
médicas para los pacientes siempre y cuando la agenda no
este ocupada y de este modo poder programar el
tratamiento del paciente
Condiciones de ejecución El usuario debe haber ingresado al sistema con perfil de
odontólogo o asistente
Entradas Fecha anterior a la actual
Horario ocupado por el odontólogo
Horario disponible para el odontólogo
Cita para un paciente que no tiene cita ese día
Cita para un paciente que ya tienen cita ese día
Cita para un fin de semana o feriado
Salida Fecha anterior a la actual => false
Horario ocupado por el odontólogo => false
Horario disponible para el odontólogo => true
Cita para un paciente que no tiene cita ese día => true
Cita para un paciente que ya tienen cita ese día => false
53
Cita para un fin de semana o feriado => false
Evaluación de la prueba Prueba satisfactoria
Tabla 3.21 Historia clínica
Prueba Parámetros Mail
Descripción En esta parte se pueden ingresar los parámetros para
poder acceder a un servidor de SMTP y poder ingresar los
parámetros del mail también podemos apagar o encender
este servicio de envió de mails
Condiciones de ejecución El usuario debe haber ingresado al sistema con el perfil de
administrador
Entradas Usuario de cuenta de envió valida
Usuario de cuenta de envió no valida
Contraseña válida para la cuenta
Contraseña invalida para la cuenta
Puerto valido para el servidor
Puerto no valido para el servidor
Host correcto
Host incorrecto
Plantillas de mail vacías
Plantillas de mail validas
Salida Usuario de cuenta de envió valida => true
Usuario de cuenta de envió valida => false
Contraseña válida para la cuenta => true
Contraseña invalida para la cuenta => false
Puerto valido para el servidor => true
Puerto no valido para el servidor => false
Host correcto => true
Host incorrecto => false
Plantillas de mail vacías => false
Plantillas de mail validas => true
Evaluación de la prueba Prueba satisfactoria
Tabla 3.22 Parámetros Mail
54
Discusión 3.5.2.
Ventajas de utilizar la arquitectura MVC
Construir una aplicación mediante MVC puede resultar más intuitivo, porque
directamente controlas lo que ves en la vista y su comportamiento, es decir
manualmente. MVC se caracteriza porque tienes control total de los componentes, por
lo tanto puedes crear componentes hijo dinámicamente, controlar componentes propios
personalizados, o realizar cualquier cosa sobre el componente que este pueda hacer por
sí mismo. (Prado, 2014)
Descripción MVC MVVM
Acoplamiento con la vista Muy poco con plantilla Muy poco
Acoplamiento con el
componente
Un poco Muy poco
Codificar en la vista
Mediante el ID del
componente
A través de una expresión
Data binding
Implementación de un
controlador
Extendemos ZK’s
Composer
Es un POJO
Acceso a la información de
la U
Acceso directo
Automático
Acceso a la información
desde el backend
Acceso directo
Acceso directo
Actualización de la interfaz
de usuario
Manipulamos directamente
los componentes
Automático
(@NotifyChange)
Nivel de control del
componente
Elevado, control total Normal
Rendimiento Alto Normal
Tabla 3.23 Comparación de la arquitectura MVC
55
Beneficios de la metodología XP
Proporciona una programación muy organizada, cuenta con un tasas de error muy
pequeña es muy eficiente al momento de realizar las pruebas y en la planificación del
proyecto fomenta la comunicación con el desarrollador y el cliente, se realiza muchas
pruebas en el desarrollo antes de entregar el producto final al cliente además puede ser
aplicado en cualquier lenguaje permite la implementación de nuevas tecnologías.
4. MARCO ADMINISTRATIVO
4.1. Recursos
La persona encargada de realizar el proyecto es estudiante egresado de la facultad de
Ciencias Físicas Y Matemáticas especialidad Informática de la Universidad Central Del
Ecuador.
Este proyecto se va ejecutar en el Centro Médico (FUNAVI), se tiene la aprobación del
administrador del centro médico.
El equipo de personas que conforman el proyecto estará constituida de la siguiente
manera.
RECURSOS
HUMANOS
COMPETENCIAS N° OBSERVACION
Solicitante. Administrador del
Centro Médico
(FUNAVI).
1 Debe estar en la capacidad de
tomar decisiones para el centro
a cargo.
Ingeniero Informática
(Tutor).
Conocimiento
relacionado con el
proyecto.
1 Debe de pertenecer a la
institución y será el
responsable de guiar al
estudiante en la gestión del
proyecto y el desarrollo de la
aplicación.
Ingeniero informático
o relacionado
(Revisores).
Conocimientos
relacionados con el
proyecto.
2 Debe de pertenecer a la
institución y se encarga de la
revisión del documento y
cumplimiento del plan de tesis.
Tesista
(Desarrollador).
Análisis, diseño y
desarrollo de
aplicaciones web.
1 Estudiante de la ingeniería
informática de la Universidad
Central Del Ecuador que será
56
gerente del proyecto y
responsable del desarrollo de
la aplicación.
Tabla 4.1 Recursos del Proyecto
4.2. Recursos del Centro Médico
La Fundación Ayúdame a Vivir (FUNAVI) se compromete a dar las facilidades
necesarias para la vialidad de este proyecto y el personal del centro será los encargados
del uso del mismo.
En reuniones previas con la autoridad de la fundación se dieron a conocer los
requerimientos y soluciones de los mismos, para que el sistema supla las necesidades
del centro en el área de odontología.
4.3. Recursos de Autor
La persona desarrolladora de este proyecto cubrirá los gastos del proyecto durante todas
las fases que implica el desarrollo de un proyecto son los siguientes puntos.
Fase de análisis
Fase de diseño
Desarrollo
Pruebas
Capacitación
Implementación del sistema
4.4. Costos
El autor del trabajo de grado correrá con los costos directos e indirectos que deriven por
el desarrollador del sistema, para el desarrollo de este proyecto se realizó un análisis de
costos de los cual se derivó la siguiente tabla.
57
RECURSOS CANTIDAD COSTOS
UNITARIOS
COSTO TOTAL
Papel. 3 remesas 11 33
Derecho universitario. 4 5 20
Borrador trabajo de
grado.
4 15 60
Servicio varios (Agua,
Luz, Internet.
Alimentación,
Transporte).
7 meses 80 560
Tabla 4.2 Costos
4.5. Cronograma De Actividades
A partir de la fecha de aprobación del tema de tesis, dictado por el Consejo Directivo de
la Escuela de Ciencias, Facultad de ingeniería Ciencias Físicas y Matemáticas; se
iniciaran las actividades reflejadas.
58
59
60
61
Figura 4.1 Cronograma De Actividades
62
5. CONCLUSIONES Y RECOMENDACIONES
5.1. Conclusiones
Para el desarrollo del sistema fue primordial realizar el análisis de requisitos necesarios.
Actualmente los procesos Admisión y Atención a pacientes en forma manual producen
pérdidas de tiempo y consumo de recursos, por lo que el acceso a la información
(Historias Clínicas Odontológicas, Apertura de ficha médica y Citas médicas) es una
tarea difícil.
El uso de metodología XP, con la que fue aplicada para el desarrollo del proyecto nos
ayudó a definir y organizar el avance del mismo, sobre una plataforma no propietaria,
tecnológicamente competitiva que satisface exitosamente las metas y requerimientos.
Comparada con otras metodologías es muy satisfactorio puesto que, otras son débiles ya
que en los diseños no se encuentran muchos métodos para poder encontrar
inconsistencia en los modelos y las herramientas graficas no soportan las interacciones
del modelo.
El diseño del Sistema Odontológico, permite que sea altamente parametrizable, por lo
que se podrá adaptar a cualquier tipo de centro médico, obteniendo como producto un
sistema personalizable que no sólo sirve para los odontólogos, ya que se puede adaptar a
los procesos de diferentes especialidades.
El modelo de negocio permite establecer el diseño y funcionamiento Sistema de
Historias Clínicas Odontológicas dividiéndolo en módulos de acuerdo a cada necesidad.
Los manuales de usuario se crearon con la finalidad de dar a conocer a los usuarios las
características y modo de funcionamiento del sistema.
63
5.2. Recomendaciones
Culminado el proyecto se da las siguientes recomendaciones para así mantener un
óptimo desempeño sobre el SISTEMA DE HISTORIAS CLÍNICAS
ODONTOLÓGICAS.
Es necesario tener mucho cuidado con los datos de la clínica ya que son la parte más
importante del negocio.
Realizar actualizaciones a la base datos del sistema, cada año o cuando el administrador
del mismo lo crea conveniente.
Dar mantenimiento físico y lógico a cada uno de los equipos donde se va a encontrar
montado la aplicación.
Un sistema no siempre es el 100% seguro por lo mismo se recomienda que los usuarios
cumplan con una responsabilidad al momento de manejar datos.
El administrador de la clínica debe de tener una capacitación previa ya que él, es
responsable de que los demás usuarios tengan permisos a información delicada.
Poner énfasis en la usabilidad del sistemas para que el personal administrativo pueda
interactuar y no pierda el interés de utilizar la herramienta, debe ser de fácil manejo,
comprensible y con un diseño amigable.
Es recomendable utilizar el MVC ya que la implementación se realiza de forma
modular, sus vistas muestran información actualizada siempre. El programador no debe
preocuparse de solicitar que las vistas se actualicen, ya que este proceso es realizado
automáticamente por el modelo de la aplicación.
Cualquier modificación que afecte al dominio, como aumentar métodos o datos
contenidos, implica una modificación sólo en el modelo y las interfaces del mismo con
las vistas, no todo el mecanismo de comunicación y de actualización entre modelos. Las
modificaciones a las vistas no afectan al modelo de dominio, simplemente se modifica
la representación de la información, no su tratamiento.
MVC está demostrando ser un patrón de diseño bien elaborado pues las aplicaciones
que lo implementan presentan una extensibilidad y una mantenibilidad únicas
comparadas con otras aplicaciones basadas en otros patrones.
64
GLOSARIO
API: es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden
seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de
la misma manera en que la interfaz de usuario.
ATRIBUTO: es una entidad existente en la memoria del ordenador que tiene unas
propiedades (atributos o datos sobre sí mismo almacenados por el objeto) y unas
operaciones disponibles específicas (métodos).
CLASE: es una abstracción que define un tipo de objeto especificando qué propiedades
(atributos) y operaciones disponibles va a tener.
EJB: es una clase java que implementa determinada interface. Al implementar esa
interface, un contenedor de aplicaciones es capaz de instanciar y manejar esas clases
java.
IDE: es una aplicación informática que proporciona servicios integrales para facilitarle
al desarrollador para el desarrollo de software.
JPA: es un conjunto de clases y métodos que persistentemente almacenar la gran
cantidad de datos a una base de datos que es proporcionada por Oracle Corporation.
JSP: es una tecnología que ayuda a los desarrolladores de software a crear páginas web
dinámicas basadas en HTML, XML, entre otros tipos de documentos.
OBJETO: un objeto en Java puede ser cualquier objeto físico (como casa, perro) o
conceptual en la vida real (evento, tarea, etc...).
SOA: define un mecanismo simple y liviano (en contraposición a sofisticado) para la
comunicación, en un entorno distribuido o descentralizado, entre componentes de
software o aplicaciones.
XML: son las siglas del Lenguaje de Etiquetado Extensible. La expresión se forma a
partir del acrónimo de la expresión inglesa Extensible Markup Language. Se trata
también de un lenguaje estándar que posee una Recomendación del World Wide Web.
65
BIBLIOGRAFÍA
1. AGUIAR, F., & ROMO, D. F. (2012). Analisis y construcción del sistema web
odontológico. Obtenido de
http://dspace.ups.edu.ec/bitstream/123456789/3540/1/UPS-ST000831.pdf
2. Boliviana, O. (2003).
http://ingenieriadesoftware.mex.tl/52753_XP---Extreme-Programing.html.
3. Boliviana, O. (2003).
http://ingenieriadesoftware.mex.tl/52753_XP---Extreme-Programing.html.
4. Catillo, A. (23 de Junio de 2008).
https://xpgestionestadisticas.wordpress.com/category/uncategorized/.
5. CRISTINA, A. (7 de ENERO de 2013).
http://crisgla.blogspot.com/2013/01/caracteristicas-y-ventajas-de-
microsoft.html.
6. desarrollo, M. p. (14 de mayo de 2010). Obtenido de
www.apolosoftware.com.
7. DUARTE, E. (16 de marzo de 2013).
http://blog.capacityacademy.com/2013/03/16/jquery-que-es-origenes-ventajas-
desventajas/.
8. ENTIDAD, M. D. (2012). Obtenido de
http://cursohibernate.es/doku.php?id=unidades:02_hibernate:02_entidad
9. Lorena Sanchez. (enero de 2013).
http://lorehidal.blogspot.com/.
10. J. Steven Perry. (1998). IBM Bluemix. Obtenido de
http://www.ibm.com/developerworks/ssa/java/tutorials/j-introtojava1/
11. Kendal, S. (2009).
Object Oriented Programming Using Java. 1 era edition.
12. Marblestation. (14 de mayo de 2010).
66
www.marblestation.com.
13. Marin, E. A. (2007).
Http:// www.programacionextrema.org.
14. oOsOoWwx. (1 de septiembre de 2013).
http://bootstraptics.blogspot.com/.
15. Prado, J. (20 de Junio de 2014).
http://www.slideshare.net/jorgerua/mvc-mvp-e-mvvm-uma-comparao-de-
padres-arquiteturais.
16. Sanchez, L. (Enero de 2013).
http://lorehidal.blogspot.com/.
17. Tenezaca, R. (8 de Noviembre de 2012).
https://prezi.com/lasawnusaqqx/power-designer/.
18. Tipantuña, K. (2014). Obtenido de
https://padlet.com/kathylizb/l54vpyl8venz.
67
6. ANEXOS
68
ANEXO A
Manual de Configuración
La instalación se lo puede realizar en un ambiente Windows o Linux, en este caso se lo
hará en un ambiente Windows. El aplicativo se trata de un cliente-servidor, para lo cual
es necesario instalar el servidor de aplicaciones, el cual requiere.
Java JDK(Java Development Kit) 6
jboss-6.1.0.Final
MySQL5.0
Instalación Java JDK 6
Para poder instalar java JDK 6 se debe abrir el cd de instalación.
Figura 6.1 Instalador jdk-6u21-windows-i586.exe
Ejecutar el archivo jdk-6u21-windows-i586.exe.
1. Se presenta la ventana de instalación donde se da la bienvenida de la instalación
del JDK6 y presionar Next.
69
Figura 6.2 Ventana De Bienvenida A La Instalación De JDK6
2. Se puede observar los componentes del JDK y el directorio de instalación, en
cual se debe de instalar los componentes por defecto para ello presionar Next.
Figura 6.3 Componentes De JDK
70
3. Se presenta el progreso de la instalación del JDK6.
Figura 6.4 Progreso De La Instalación
4. Una vez finalizada la instalación del JDK, se presiona el botón Finish.
Figura 6.5 Fin De La Instalación
5. Se puede observar el ingreso de la variable de entorno que permitirá el uso del
JDK, el cual es necesario en ambientes Windows 7, Vista, 8, 10, Server. En la
versión de Windows XP no es necesario.
71
Para su ejecución ir a mi pc y presionar clic derecho en “Mi PC” y escoger
Propiedades.
Figura 6.6 Propiedades De Windows
6. Se puede visualizar la ventana del sistema, pulsar en el link Configuración
Avanzada del sistema.
Figura 6.7 Configuración Del Sistema
7. Se puede observar la ventana de propiedades de sistema, ahí presionar el botón
de Variables de entorno.
72
Figura 6.8 Variable de entorno
8. Se observa la ventana de variables de entorno, aquí se ingresará nuevas variables
de entorno para ello presionar el botón Nueva.
Figura 6.9 Variables De Usuario
9. Se despliega la siguiente ventana en donde se ingresa el nombre de la variable
“JAVA_HOME”, el valor de la variable y la dirección donde se instaló el JDK
ejemplo “C:\Program Files (x86)\Java\jdk1.6.0_21” pulsar el botón Aceptar
Figura 6.10 Variables Del Sistema
73
10. Se indica cómo cambiar la variable path y aumentar en el valor
“;%JAVA_HOME%\bin” una vez realizado los cambios presionar el botón
Aceptar
Figura 6.11 Valor De La Variable
Instalación de MySQL 5.0
Para la instalación de MySQL 5.0 abrir el cd de instalación, ir a la carpeta MYSQL5.0
allí se encuentran los instaladores del servidor, el utilitario es utilizado para acceder a la
base de datos. Para instalar MySQL doble clic en “Setup mysql 5.0.exe”
Figura 6.12 Instalador del MySQL
1. Se puede observar la ventana de instalación de MySQL, pulsar el botón Next.
Figura 6.13 Ventana De Bienvenida De MySQL
74
2. En la siguiente ventana se observa los componentes y el directorio en el cual se
va a instalar MySQL. Se instala los componentes para la cual se escoge Custom
y se procede a seleccionar los elementos, se instala todos menos “Developer
Components” puesto que este sirve para observar ejemplos, scripts y algunos
librerias presionar Next.
Figura 6.14 Componentes De MySQL
3. Se visualiza la ventana de inicio para la instalación de MySQL para lo cual se
debe pulsar el botón Install
Figura 6.15 Pantalla De Instalador MySQL
75
4. Se puede apreciar la configuración del servidor de Mysql, para ello hay que
seleccionar “Configure the MySQL Server now” y “Register the MySQL Server
now” pulsar Finish.
Figura 6.16 Configuración Del Servidor
5. En la siguiente ventana se observa las distintas configuraciones de MySQL,
entre las cuales se tiene configuración detallada o estándar. Escoger la detallada
por ser más precisa.
Figura 6.17 Instalación De La Configuración Del Server
76
6. En la siguiente ventana se muestra los distintos tipos de server, seleccionar
“Server Machine” ya que la base va ser empleado por un servicio web dinámico
pulsar Next.
Figura 6.18 Tipo De Server
7. Se observa los tipos de bases de datos, elegir la opción “Transactional Database”
puesto que se optimiza para servidor de aplicaciones ya que consume datos de
MySQL que está en producción y garantiza la integridad de los datos haciendo
que se ejecuten todas las ordenes, una vez culminado la selección, presionar el
botón Next
Figura 6.19 Tipo De Base De Datos
8. En la siguiente ventana escoger la carpeta donde se almacenaran los datos,
utilizar la carpeta por defecto y presionar el botón Next.
77
Figura 6.20 Almacenamiento De Datos
9. En la siguiente ventana se indica la cantidad de conexiones concurrentes al
servidor seleccionar “Manual Setting“puesto que se define el número de
conexiones entre 5 a 10 una vez ingresada, se presionar el botón Next.
Figura 6.21 Cantidad De Conexiones En La Configuración
10. En la siguiente ventana se ingresa el puerto por defecto en este caso es el “3306
“y presionar el botón en Next.
78
Figura 6.22 Configuración De Puertos
11. Se puede observar la ventana del juego de caracteres, se escoge “Standard
Character Set” ya que soporta mejores caracteres multilenguaje pulsar el botón
Next.
Figura 6.23 Configuración De Caracteres
12. Indicar que MySQL Server se ejecuta como un Servicio Windows, seleccionar
“Install As Windows Service”, y se escoge un nombre de servicio, para este caso
se utiliza MySQL y se presiona el botón Next.
79
Figura 6.24 Instalación De Servicio De Windows
13. Se define el password del administrador principal del Servidor MySQL, en la
aplicación viene configurado con la contraseña “root” presionar Next.
Figura 6.25 Password Del Administrador Del Servidor MYSQL
14. Se observa la configuración final de MySQL, pulsar Execute
80
Figura 6.26 Inicio De Una Instancia Del Servicio De MYSQL
15. Instalación del utilitario de la aplicación para poder cargar la base de datos, para
ello extraer de la carpeta de Utilitario la carpeta MYSQL5.0 y ejecutar el archivo
mysql-gui-tools-5.0-r12-win32.msi una vez culminado el proceso se muestra la
ventana de bienvenida y se procede a la instalación presionar Next.
Figura 6.27 Instalación Del Utilitario De MYSQL
16. Aceptar términos y condiciones presionar Next.
81
Figura 6.28 Ventana De Aceptación De Términos
17. Se observa el directorio de instalación presionar Next
Figura 6.29 Directorio De Instalación
18. Escoger el tipo de instalación seleccionar “Completa” presionar Next.
82
Figura 6.30 Tipo De Instalación
19. Una vez culminado el proceso se muestra la ventana con la descripción del
producto, presionar Next y finalizar la instalación.
Figura 6.31 Descripción De Producto De MYSQL
Cargar Base de Datos
Para poder cargar la base de datos abrir la aplicación instalada MySQL Administrator
y cargar el script de la base de datos para la aplicación.
83
Figura 6.32 Ventana De Logueo De MySQL Administrator
1. Para ingresar MySQL Administrator, loguearse con el usuario root y la
contraseña antes ingresada en la instalación del MySQL.
Figura 6.33 Ventana De MySQL Administrator
2. Para cargar el script de la base de datos, para ello se debe dirigir a Restore y
presionar el botón Open Backup File.
84
Figura 6.34 Ventana Restore
3. Dirigirse al directorio en donde se encuentra el archivo de script de la base de
datos, ubicado en el Cd de instalación en la carpeta “Archivos Configuración”
con el nombre Script BD MySQL.sql.
Figura 6.35 Script De La Base De Datos
4. Una vez cargado el archivo presionar el botón Start Restore, finalmente verificar
la existencia de las tablas abriendo el aplicativo MySQL Query Browser buscar
la base de datos clinicaodontologica y revisar que las tablas se encuentre
cargadas.
85
Figura 6.36 Base De Datos clinicaodontologica
Instalación de jboss-6.1.0.Final
Para instalar jboss dirigirse al cd de instalación y buscar el archivo “jboss-
6.1.0.Final.rar” descomprimir en el directorio C:/ podemos usar cualquier utilitario.
Figura 6.37 Instalar JBOSS
1. Una vez descomprimido verificar que el archivo se encuentre en la carpeta
C:\jboss-6.1.0.Final.
86
Figura 6.38 Verificar Carpetas De jboss-6.1.0.Final.rar
2. Se procede a ejecutar los servicios del JBOSS, dirigirse al directorio C:\jboss-
6.1.0.Final\bin y arrancar el archivo de lotes, presionar doble clic en “run.bat”
como se lo indica en las (Figura 6.39, Figura 6.40).
Figura 6.39 Archivo run.bat
87
Figura 6.40 Consola De Jboss Abierta Desde El CMD
3. Una vez ejecutado el servicio se puede verificar en un Browser de internet y
escribir la dirección “localhost: 8080 “en el cual se podrá observar la consola de
administración de JBOSS.
Figura 6.41 Consola De Administración De JBOSS
Cargar la aplicación
1. Para cargar la aplicación se debe copiar la aplicación en la carpeta deploy del
servidor de JBOSS. Dirigirse al Cd de instalación, buscar la carpeta Archivos de
Configuración copiar los archivos smifotos.war, SMO.ear, mysql-ds.xml en la
carpeta C:\jboss-6.1.0.Final\server\default\deploy.
88
Figura 6.42 Archivo De Data Source
2. EL archivo “mysql-ds.xml” es editable si se desea cambiar la contraseña de
MySQL el cambio se lo realizaría en el tag password.
Figura 6.43 Contenido Del Archivo Data Source
3. Finalmente reiniciar el servicio del JBOSS y verificar la aplicación abriendo un
Navegador de Internet y escribiendo la dirección,
http://localhost:8080/SistemaOdontologico en el caso de estar en red usar la
dirección IP.
Figura 6.44 Pantalla De Inicio Del Sistema
Configuraciones Adicionales
Para poder cambiar algunas direcciones como el servidor de fotos del computador local
se lo puede realizar en la base y modificarlos según corresponda, para ello ingresar a la
base de datos y buscar la tabla “parametros_app” para modificar los directorios y
89
servidores. La dirección del directorio de fotos por lo general se encuentra C:\jboss-
6.1.0.Final\server\default\deploy\smifotos.war\fotos, en caso de usar otro servicio
HTTPD como por ejemplo Apache se debe especificar esos parámetros.
Figura 6.45 Parámetros_app De La Base De Datos
1. Para poder generar un ambiente de desarrollo, se debe copiar el código fuente
que se encuentra en el Cd de instalación en la carpeta labalegria en el directorio
C:/. Descomprimir el eclipse que se encuentra en el Cd de instalación en
cualquier directorio del computador y se ejecuta el archivo “eclipse.exe”.
Figura 6.46 Instalador De Eclipse Indigo
2. Una vez ejecutado eclipse se debe de escoger un workspace, en el caso de tener
uno añadir los proyectos de la carpeta labalegria en caso de no tenerlo el eclipse
creara uno, luego pulsar el botón en OK.
90
Figura 6.47 Carpeta Por Defecto Que Asigna Eclipse Índigo
3. Se observar la manera en la que se puede importar los proyectos, para ello
seleccionar file/Import
Figura 6.48 Ventana De Importación De Proyectos
4. Seleccionar “Existing Projects into Workspace” pulsar el botón Next.
91
Figura 6.49 Abrir Proyectos Existentes
5. Se observa la ventana de importación en la cual se encuentran los proyectos para
ello presionar el botón Browser y buscar los archivos de código fuente.
Figura 6.50 Buscar Los Proyectos
6. Seleccionar los proyectos que se desean importar, en este caso
SistemaOdontologico, smifotos, SMO, SMONegocio, SMOPersistencia.
92
Figura 6.51 Escoger El Proyecto Respectivo
7. Finalmente se puede observar los proyectos cargados y listos a ser utilizados.
Figura 6.52 Proyectos Cargados
93
Manual de Usuario
Ingreso al sistema
Para el ingreso al sistema se debe de ingresar el usuario y la contraseña para lo cual se
presenta la siguiente pantalla.
Figura 6.53 Ingreso Al Sistema
Luego que se presione el botón Ingresar, se mostrará la siguiente pantalla.
Figura 6.54 Pantalla Principal
En esta pantalla encontraremos las siguientes opciones, las mismas que estarán
disponibles dependiendo del usuario con el que ingrese.
94
Figura 6.55 Menú Principal
Módulo de Administrador
En este módulo se encuentra la opción de Administración el cual permite administrar
los perfiles de usuario y usuarios que tendrán acceso al sistema.
Figura 6.56 Administración
Usuarios
En esta sección se explicará la administración de los usuarios, para ello se muestra la
siguiente pantalla.
Figura 6.57 Administración De Usuarios
95
Si se presiona el botón Nuevo Usuario, muestra la siguiente pantalla en la que se debe
de ingresar la información solicitada, adicional a eso se debe de escoger el perfil que
tendrá ese usuario, por último se debe presionar el botón Aceptar para guardar la
información.
Figura 6.58 Nuevo Usuario
Cuando se guarda la información del usuario se muestra en la pantalla principal el
usuario creado con su respectivo Perfil.
96
Figura 6.59 Usuario Creado
Si se presiona el botón se podrá modificar la información que sea necesaria y luego
guardar los cambios.
Figura 6.60 Usuario Modificado
97
Si se presiona el botón se podrá eliminar el usuario creado dependiendo si el
usuario tiene alguna relación no se podrá eliminar mostrado un mensaje de alerta, caso
contrario se eliminara sin ningún mensaje.
Figura 6.61 Mensaje De Eliminación Del Usuario
Figura 6.62 Eliminación De Usuario
Si el usuario ya no pertenece al centro médico y se requiere eliminarlo, pero este tiene
historias clínicas asociadas el sistema no podrá eliminarlo, el paso a seguir es
deshabilitar el estado de este usuario para que ya no pueda acceder al sistema con sus
credenciales.
98
Figura 6.63 Usuario Inactivo
Perfiles
En esta sección se explicará la administración de los perfiles de usuario, para ello se
muestra la siguiente pantalla.
Figura 6.64 Administración De Perfiles
Si se presiona el botón Nuevo Perfil, muestra la siguiente pantalla en la que se debe de
ingresar la información solicitada, por último se debe presionar el botón Guardar.
99
Figura 6.65 Nuevo Perfil
Cuando se guarda la información del perfil se muestra en la pantalla principal del perfil
creado, como se puede observar los 3 primeros perfiles solo se tiene el botón actualizar
ya que son los módulos principales.
Figura 6.66 Perfil Creado
Si se presiona el botón se podrá modificar la información que sea necesaria y luego
guardar los cambios.
100
Figura 6.67 Perfil Actualizado
Si se presiona el botón se podrá eliminar el perfil nuevo creado, dependiendo si el
perfil tiene alguna relación, no se podrá eliminar mostrado un mensaje de alerta, caso
contrario se eliminara sin ningún mensaje.
Figura 6.68 Perfil Eliminado
Modulo Pacientes
En este módulo se encuentra la opción de Pacientes el cual permite administrar los
Pacientes, Historias Clínicas y Medicamentos.
101
Figura 6.69 Pacientes
Pacientes
En esta sección se explicará la administración de los Pacientes, para ello se muestra la
siguiente pantalla.
Figura 6.70 Administración De Pacientes
Si se presiona el botón Nuevo Paciente, muestra la siguiente pantalla en la que se debe
de ingresar la información solicitada, por último se debe presionar el botón Aceptar para
guardar la información.
102
Figura 6.71 Nuevo Paciente
Cuando se guarda la información del paciente se muestra en la pantalla principal el
paciente creado.
Figura 6.72 Paciente Creado
Si se presiona el botón se podrá modificar la información que sea necesaria y luego
guardar los cambios.
103
Figura 6.73 Paciente Creado
Si se presiona el botón se podrá eliminar el paciente creado dependiendo si el
paciente tiene alguna relación no se podrá eliminar mostrado un mensaje de alerta, caso
contrario se eliminara sin ningún mensaje.
Figura 6.74 Mensaje De Eliminación
104
Figura 6.75 Eliminación De Usuario
Historia Clínica
En esta sección se explicará la administración de los Historias Clínicas, para ello se
muestra la siguiente pantalla.
Figura 6.76 Administración De Historias Clínicas
Se ingresar el número de cédula del paciente y se presiona el botón Buscar el cual si
encuentra al paciente se mostrará en el Lista de Pacientes caso contrario no muestra
ningún paciente.
105
Figura 6.77 Lista De Pacientes
Si se presiona el botón se procede a la creación de la ficha médica del paciente.
1. Visualización de la información general del Paciente
Figura 6.78 Creación De La Ficha Médica
106
2. Creación de los antecedentes patológicos de los pacientes una vez ingresada la
información solicitada presionamos el botón guardar.
Figura 6.79 Creación De La Ficha Médica
3. Creación de la Historia Clínica para eso se presiona el botón Nuevo
Figura 6.80 Creación De Historias Clínicas
Cuando se presiona el botón Nuevo se despliega la siguiente pantalla en donde se
ingresa la información realizada por el odontólogo hacia el paciente una vez realizada la
consulta.
1. Se presiona la pestaña Estilo De Vida como se muestra en la siguiente pantalla y
se ingresa la información respectiva y se presiona el botón guardar previo a eso
se debe de ingresar el odontólogo.
107
Figura 6.81 Estilo De Vida
2. Se presiona la pestaña Odontograma en donde se debe de ingresar el estado
actual de la dentadura del paciente como se muestra en la pantalla.
Figura 6.82 Odontograma
108
3. Para la información de cada uno de los dientes en los cuales de una persona
adulta se debe de presionar el botón como se muestra en la pantalla.
Figura 6.83 Información Del Odontograma
4. Se presiona la pestaña Archivos en la cual se debe de subir todos los documentos
del paciente, como recetas y radiografías mandadas a realizar por el odontólogo.
109
Figura 6.84 Archivos
5. Se presiona la pestaña Receta en donde el odontólogo ingresa todas las recetas
que se las envía al paciente.
Figura 6.85 Recetas
6. Se presiona la pestaña Diagnóstico Y Tratamiento en donde ingresar el
tratamiento y el diagnóstico del paciente.
110
Figura 6.86 Diagnóstico y Tratamiento
Para visualizar la historia clínica se debe de ingresar nuevamente el número de cédula
del paciente presiona el botón y se observa la información del paciente en donde
se indica cuantas citas médicas se realizó el paciente.
Figura 6.87 Listado de Historias Clínicas
Si se presiona el botón Actualizar, se ingresa a la historia clínica del paciente, se debe
tener en cuenta que la actualización se la puede realizar ese día en la que fue la consulta,
no se puede realizar una actualización al día siguiente se debe de elegir que pestaña
desea realizar la modificación.
111
Figura 6.88 Actualización De Historias Clínicas
Si se presiona el botón se puede solo visualizar la historia Clínica del paciente no
se puede realizar ninguna modificación.
Si se presiona el botón es un acceso rápida para observar el diagnóstico y el
tratamiento que se le mando a realizar al paciente ese día como se muestra en la
pantalla.
Figura 6.89 Acceso Rápido A La Información Del Paciente
112
Medicamentos
En esta sección se explicará la administración de los Medicamentos, para ello se
muestra la siguiente pantalla.
Figura 6.90 Administración De Medicamentos
Si se presiona el botón Nuevo Medicamento, muestra la siguiente pantalla en la que se
debe de ingresar la información solicitada, por último se debe presionar el botón
Aceptar para guardar la información.
Figura 6.91 Nuevo Medicamento
Cuando se guarda la información del medicamento se muestra en la pantalla principal el
medicamento creado.
113
Figura 6.92 Medicamento Creado
Si se presiona el botón se podrá modificar la información que sea necesaria y luego
guardar los cambios.
Figura 6.93 Modificación Del Medicamento
Si se presiona el botón se podrá eliminar el medicamento.
114
Figura 6.94 Eliminación De Medicamentos
Modulo Citas Odontológicas
En este módulo se encuentra la opción de Citas Odontológicas el cual permite
administrar los Citas Médicas para el paciente.
Figura 6.95 Administrador De Citas Medicas
En esta sección se explicará la administración de los Citas Odontológicas, para ello se
muestra la siguiente pantalla.
115
Figura 6.96 Calendario De Citas Médicas
Para realizar una cita médica se debe de ingresar los campos solicitados entre ellos se
debe de escoger el Odontólogo y el paciente y luego se presiona el botón Aceptar.
Figura 6.97 Ingreso De Pacientes Para Una Cita Médica
116
Figura 6.98 Creación De Citas Médicas
Modulo Formatos de Mail
En este módulo se encuentra la opción de Citas Odontológicas el cual permite
administrar los Citas Médicas para el paciente.
Figura 6.99 Administrador De Formatos Mail
En esta sección se explicará la administración de los formatos mail, para ello se muestra
la siguiente pantalla.
117
Figura 6.100 Formatos Mail
Se debe de ingresar los campos requeridos, para que cuando se cree una cita
odontológica, odontólogo, paciente, usuario llegue un mail con la información de que se
creó satisfactoriamente.
118
Script
SCRIPT DE LA BASE DE DATOS
drop table if exists ARCHIVO_ADJUNTO;
drop table if exists CABECERA_HISTORIA_CLINICA;
drop table if exists CITA_MEDICA;
drop table if exists DETALLE_HISTORIA_CLINICA;
drop table if exists DIENTE;
drop table if exists ESTADO_CITA_MEDICA;
drop table if exists ESTADO_CIVIL;
drop table if exists GENERO;
drop table if exists HORAS_CITAS;
drop table if exists MEDICINA;
drop table if exists MEDICO;
drop table if exists ODONTOGRAMA;
drop table if exists ODONTOGRAMA_TRATAMIENTO;
drop table if exists PACIENTE;
drop table if exists PARAMETROS_APP;
drop table if exists PARAMETROS_MAIL;
drop table if exists PERMISOS;
119
drop table if exists RECETA;
drop table if exists ROL;
drop table if exists ROL_PERMISOS;
drop table if exists TIPO_SANGRE;
drop table if exists TRATAMIENTO;
drop table if exists USUARIO;
/*==============================================================*/
/* Table: ARCHIVO_ADJUNTO */
/*==============================================================*/
create table ARCHIVO_ADJUNTO
(
ID_ARCHIVO_ADJUNTO int not null auto_increment,
ID_DET_HISTORIA_CLINICA int,
PATH varchar(1024),
TIPO_ARCHIVO varchar(1024),
NOMBRE_ARCHIVO varchar(1024),
primary key (ID_ARCHIVO_ADJUNTO)
);
/*==============================================================*/
/* Table: CABECERA_HISTORIA_CLINICA */
/*==============================================================*/
create table CABECERA_HISTORIA_CLINICA
(
ID_HISTORIA_CLINICA int not null auto_increment,
ID_PACIENTE int,
ENFERMEDADES_FAMILIARES varchar(1024),
ANTECEDENTES_PATOLOGICOS varchar(1024),
ALERGIAS varchar(1024),
MARCAPASOS varchar(1024),
INTERVECIONES_QUIRUJICAS varchar(1024),
120
CIRUJIAS_PLASTICAS varchar(1024),
primary key (ID_HISTORIA_CLINICA)
);
/*==============================================================*/
/* Table: CITA_MEDICA */
/*==============================================================*/
create table CITA_MEDICA
(
ID_FECHA_MEDICA int not null auto_increment,
ID_ESTADO_CITA int,
ID_PACIENTE int,
ID_MEDICO int,
FECHA_HORA datetime,
primary key (ID_FECHA_MEDICA)
);
/*==============================================================*/
/* Table: DETALLE_HISTORIA_CLINICA */
/*==============================================================*/
create table DETALLE_HISTORIA_CLINICA
(
ID_DET_HISTORIA_CLINICA int not null auto_increment,
ID_MEDICO int,
ID_HISTORIA_CLINICA int,
FECHA varchar(1024),
ACTIVIDAD_FISICA varchar(1024),
HABITOS_ALIMENTICIOS varchar(1024),
MEDICACION_ACTUAL varchar(1024),
TRATAMIENTO_ANTERIORES varchar(1024),
DIAGNOSTICO varchar(1024),
OBSERVACIONES varchar(1024),
PRESION varchar(20),
SANGRA_EXCESIVAMENTE bool,
PROBLEMA_SANGUINEO varchar(1024),
VIH bool,
MEDICAMENTO_RETROVIRAL bool,
EMBARAZADA bool,
121
TOMANDO_PASTILLAS_ANTICONSEPTIVAS bool,
LIMITACIONES_ABRIR_CERRAR_BOCA bool,
RUIDO_MANDIBULA_ABRIR_CERRAR_BOCA bool,
HERPES_O_AFTAS_RECURRENTES bool,
MUERDE_UNAS bool,
FUMA bool,
CIGARRILLOS_DIARIOS int,
CONSUME_ALIMENTOS_CITRICOS bool,
MUERDE_OBJETOS_CON_LOS_DIENTES varchar(100),
primary key (ID_DET_HISTORIA_CLINICA)
);
/*==============================================================*/
/* Table: DIENTE */
/*==============================================================*/
create table DIENTE
(
ID_DIENTE int not null auto_increment,
NOMBRE_DIENDE varchar(500),
primary key (ID_DIENTE)
);
/*==============================================================*/
/* Table: ESTADO_CITA_MEDICA */
/*==============================================================*/
create table ESTADO_CITA_MEDICA
(
ID_ESTADO_CITA int not null auto_increment,
ESTADO varchar(30),
primary key (ID_ESTADO_CITA)
);
/*==============================================================*/
/* Table: ESTADO_CIVIL */
/*==============================================================*/
create table ESTADO_CIVIL
(
ID_ESTADO_CIVIL int not null auto_increment,
122
ESTADO_CIVIL varchar(20),
primary key (ID_ESTADO_CIVIL)
);
/*==============================================================*/
/* Table: GENERO */
/*==============================================================*/
create table GENERO
(
ID_GENERO int not null auto_increment,
GENERO varchar(20),
primary key (ID_GENERO)
);
/*==============================================================*/
/* Table: HORAS_CITAS */
/*==============================================================*/
create table HORAS_CITAS
(
ID_HORAS_CITAS int not null auto_increment,
HORAS varchar(30),
primary key (ID_HORAS_CITAS)
);
/*==============================================================*/
/* Table: MEDICINA */
/*==============================================================*/
create table MEDICINA
(
ID_MEDICINA int not null auto_increment,
DESCRIPCION varchar(500),
primary key (ID_MEDICINA)
);
/*==============================================================*/
/* Table: MEDICO */
/*==============================================================*/
create table MEDICO
123
(
ID_MEDICO int not null auto_increment,
ID_GENERO int,
ID_ESTADO_CIVIL int,
ID_USUARIOS int,
NOMBRES varchar(100),
APELLIDOS varchar(100),
CI varchar(11),
FECHA_NACIMIENTO date,
DIRECCION varchar(100),
TELEFONO numeric(8,0),
MAIL varchar(30),
ESPECIALIDAD varchar(30),
FOTO varchar(1024),
primary key (ID_MEDICO)
);
/*==============================================================*/
/* Table: ODONTOGRAMA */
/*==============================================================*/
create table ODONTOGRAMA
(
ID_ODONTODIGRAMA int not null auto_increment,
ID_DET_HISTORIA_CLINICA int,
ID_DIENTE int,
DIENTE_AUSENTE bool,
DIENTE_DIENTE_A_EXTRAER bool,
CARIES bool,
OBTURACION bool,
CORONA bool,
TRAMO bool,
primary key (ID_ODONTODIGRAMA)
);
/*==============================================================*/
/* Table: ODONTOGRAMA_TRATAMIENTO */
/*==============================================================*/
create table ODONTOGRAMA_TRATAMIENTO
124
(
ID_ODONTOGRAMA_TRATAMIENTO int not null auto_increment,
ID_ODONTODIGRAMA int,
ID_TRATAMINETO int,
primary key (ID_ODONTOGRAMA_TRATAMIENTO)
);
/*==============================================================*/
/* Table: PACIENTE */
/*==============================================================*/
create table PACIENTE
(
ID_PACIENTE int not null auto_increment,
ID_ESTADO_CIVIL int,
ID_GENERO int,
ID_TIPO_SANGRE int,
NOMBRES varchar(100),
APELLIDOS varchar(100),
CI varchar(11),
FECHA_NACIMIENTO date,
OCUPACION varchar(50),
DIRECCION varchar(100),
TELEFONO numeric(8,0),
MAIL varchar(30),
FOTO varchar(1024),
primary key (ID_PACIENTE)
);
/*==============================================================*/
/* Table: PARAMETROS_APP */
/*==============================================================*/
create table PARAMETROS_APP
(
ID_PARAMETROS_APP int not null auto_increment,
SERVIDOR_LOCAL varchar(1024),
DIRECTORIO_FOTOS varchar(1024),
SERVIDOR_FOTOS varchar(1024),
primary key (ID_PARAMETROS_APP)
125
);
/*==============================================================*/
/* Table: PARAMETROS_MAIL */
/*==============================================================*/
create table PARAMETROS_MAIL
(
ID_PARAMETROS_MAIL int not null auto_increment,
MAIL_CREACION_USUARIO varchar(1024),
MAIL_CREACION_PACIENTE varchar(1024),
MAIL_CREACION_MEDICO varchar(1024),
MAIL_CREACION_CITA varchar(1024),
CUENTA_ENVIO varchar(1024),
HOST_SMTP varchar(1024),
PUERTO_SMPT int,
CONTRASENIA varchar(1024),
primary key (ID_PARAMETROS_MAIL)
);
/*==============================================================*/
/* Table: PERMISOS */
/*==============================================================*/
create table PERMISOS
(
ID_PERMISOS int not null auto_increment,
PERMISOS varchar(50),
DESCRIPCION varchar(500),
MENU varchar(50),
ID_MENU varchar(100),
primary key (ID_PERMISOS)
);
/*==============================================================*/
/* Table: RECETA */
/*==============================================================*/
create table RECETA
(
ID_RECETA int not null auto_increment,
126
ID_DET_HISTORIA_CLINICA int,
ID_MEDICINA int,
CANTIDAD numeric(8,0),
INDICADORES varchar(1024),
primary key (ID_RECETA)
);
/*==============================================================*/
/* Table: ROL */
/*==============================================================*/
create table ROL
(
ID_ROL int not null auto_increment,
ROL varchar(30),
DESCRIPCION varchar(500),
primary key (ID_ROL)
);
/*==============================================================*/
/* Table: ROL_PERMISOS */
/*==============================================================*/
create table ROL_PERMISOS
(
ID_ROL_PERMISOS int not null auto_increment,
ID_PERMISOS int,
ID_ROL int,
primary key (ID_ROL_PERMISOS)
);
/*==============================================================*/
/* Table: TIPO_SANGRE */
/*==============================================================*/
create table TIPO_SANGRE
(
ID_TIPO_SANGRE int not null auto_increment,
TIPO varchar(30),
primary key (ID_TIPO_SANGRE)
);
127
/*==============================================================*/
/* Table: TRATAMIENTO */
/*==============================================================*/
create table TRATAMIENTO
(
ID_TRATAMINETO int not null auto_increment,
NOMBRE_TRATAMINETO varchar(300),
primary key (ID_TRATAMINETO)
);
/*==============================================================*/
/* Table: USUARIO */
/*==============================================================*/
create table USUARIO
(
ID_USUARIOS int not null auto_increment,
ID_ROL int,
USUARIOS varchar(30),
CLAVE varchar(30),
primary key (ID_USUARIOS)
);
alter table ARCHIVO_ADJUNTO add constraint FK_DETALLE_ARCHIVO_ADJUNTO foreign key
(ID_DET_HISTORIA_CLINICA)
references DETALLE_HISTORIA_CLINICA (ID_DET_HISTORIA_CLINICA) on delete restrict on update
restrict;
alter table CABECERA_HISTORIA_CLINICA add constraint
FK_PACIENTE_CABECERA_HISTORIA_CLINICA foreign key (ID_PACIENTE)
references PACIENTE (ID_PACIENTE) on delete restrict on update restrict;
alter table CITA_MEDICA add constraint FK_CITA_MEDICA___ESTADO_CITA_MEDICA foreign key
(ID_ESTADO_CITA)
references ESTADO_CITA_MEDICA (ID_ESTADO_CITA) on delete restrict on update restrict;
alter table CITA_MEDICA add constraint FK_MEDICO_CITA_MEDICA foreign key (ID_MEDICO)
references MEDICO (ID_MEDICO) on delete restrict on update restrict;
128
alter table CITA_MEDICA add constraint FK_PACIENTE_CITA_MEDICA foreign key (ID_PACIENTE)
references PACIENTE (ID_PACIENTE) on delete restrict on update restrict;
alter table DETALLE_HISTORIA_CLINICA add constraint
FK_CABECERA_HISTORIA_CLINICA_DETALLE_HISTORIA_CLINICA foreign key
(ID_HISTORIA_CLINICA)
references CABECERA_HISTORIA_CLINICA (ID_HISTORIA_CLINICA) on delete restrict on update restrict;
alter table DETALLE_HISTORIA_CLINICA add constraint FK_MEDICO_DETALLE_HISTORIA_CLINICA
foreign key (ID_MEDICO)
references MEDICO (ID_MEDICO) on delete restrict on update restrict;
alter table MEDICO add constraint FK_ESTADO_CIVIL__MEDICO foreign key (ID_ESTADO_CIVIL)
references ESTADO_CIVIL (ID_ESTADO_CIVIL) on delete restrict on update restrict;
alter table MEDICO add constraint FK_GENERO___MEDICO foreign key (ID_GENERO)
references GENERO (ID_GENERO) on delete restrict on update restrict;
alter table MEDICO add constraint FK_USUARIO___MEDICO foreign key (ID_USUARIOS)
references USUARIO (ID_USUARIOS) on delete restrict on update restrict;
alter table ODONTOGRAMA add constraint FK_DETALLE_ODONTOGRAMA foreign key
(ID_DET_HISTORIA_CLINICA)
references DETALLE_HISTORIA_CLINICA (ID_DET_HISTORIA_CLINICA) on delete restrict on update
restrict;
alter table ODONTOGRAMA add constraint FK_DIENTE___ODONTOGRAMA foreign key (ID_DIENTE)
references DIENTE (ID_DIENTE) on delete restrict on update restrict;
alter table ODONTOGRAMA_TRATAMIENTO add constraint
FK_ODONTOGRAMA_ODONTO_TRATAMIENTO foreign key (ID_ODONTODIGRAMA)
references ODONTOGRAMA (ID_ODONTODIGRAMA) on delete restrict on update restrict;
alter table ODONTOGRAMA_TRATAMIENTO add constraint
FK_ODONTO_TRATAMIENTO_TRATAMIENTO foreign key (ID_TRATAMINETO)
references TRATAMIENTO (ID_TRATAMINETO) on delete restrict on update restrict;
129
alter table PACIENTE add constraint FK_ESTADO_CIVIL_PACIENTE foreign key (ID_ESTADO_CIVIL)
references ESTADO_CIVIL (ID_ESTADO_CIVIL) on delete restrict on update restrict;
alter table PACIENTE add constraint FK_GENERO_PACIENTE foreign key (ID_GENERO)
references GENERO (ID_GENERO) on delete restrict on update restrict;
alter table PACIENTE add constraint FK_TIPO_DE_SANGRE_PACIENTE foreign key (ID_TIPO_SANGRE)
references TIPO_SANGRE (ID_TIPO_SANGRE) on delete restrict on update restrict;
alter table RECETA add constraint FK_DETALLE___RECETA foreign key (ID_DET_HISTORIA_CLINICA)
references DETALLE_HISTORIA_CLINICA (ID_DET_HISTORIA_CLINICA) on delete restrict on update
restrict;
alter table RECETA add constraint FK_MEDICINA___RECETA foreign key (ID_MEDICINA)
references MEDICINA (ID_MEDICINA) on delete restrict on update restrict;
alter table ROL_PERMISOS add constraint FK_PERMISO_ROL_PERMISO foreign key (ID_PERMISOS)
references PERMISOS (ID_PERMISOS) on delete restrict on update restrict;
alter table ROL_PERMISOS add constraint FK_ROL_ROL_PERFIL foreign key (ID_ROL)
references ROL (ID_ROL) on delete restrict on update restrict;
alter table USUARIO add constraint FK_USUARIO_ROL foreign key (ID_ROL)
references ROL (ID_ROL) on delete restrict on update restrict;