scieee AI-readable full text Open interactive document viewer

Sistema de gestión de citas para un centro de salud

Segovia Cámara, Alberto

Abstract

Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)

Full text

Universidad de Valladolid www.eui.uva.es Sistema de Gestión de Citas Médicas para un Centro de Salud TRABAJO DE FIN DE GRADO 2019 ALBERTO SEGOVIA CÁMARA Ingeniería Informática de Servicios y Aplicaciones 1 1 Sistema de Gestión de Citas Médicas para un Centro de Salud “Elige un trabajo que te guste y no tendrás que trabajar ni un día de tu vida.” Confucio Gracias a mis profesores de la Escuela de Ingeniería Informática por todo y en especial a mi tutor en este proyecto, Fernando Díaz Gómez, por su dedicación y consejos. 2 2 Sistema de Gestión de Citas Médicas para un Centro de Salud Resumen Este proyecto persigue facilitar la gestión de citas de un pequeño ambulatorio o centro médico que permita controlar la asignación de citas previas a los usuarios de dicha entidad, de esta forma que ayudará al personal sanitario a elaborar una agenda de servicio en la cual se establezca un horario de consulta o atención a sus pacientes. Para esto se ha diseñado y desarrollado una aplicación web que sirva de plataforma para dicha gestión y que, además ofrezca la posibilidad de aumentar los servicios y escalabilidad del sistema, añadiendo nuevas especialidades que permitan expandir el centro de salud. En definitiva, esta aplicación busca actuar de elemento cohesionador entre los pacientes y el centro de salud mediante las citas online evitando infinitas colas de espera, así como evitar la utilización de papel para gestionar las mismas. 3 3 Sistema de Gestión de Citas Médicas para un Centro de Salud Tabla de contenido 1.Introducción ............................................................................................................................. 10 1.1 Introducción ...................................................................................................................... 11 1.2 Motivación ........................................................................................................................ 11 1.3 Objetivos ........................................................................................................................... 12 1.4 Alcance .............................................................................................................................. 12 1.5 Reglas de Negocio ............................................................................................................. 13 1.6 Entorno Tecnológico ......................................................................................................... 13 1.7 Estado del Arte .................................................................................................................. 14 3. Planificación y presupuesto .................................................................................................... 19 3.1 Metodología ...................................................................................................................... 20 3.2 Planificación ...................................................................................................................... 21 2.3 Puntos de función ............................................................................................................. 23 2.3.1 Entradas de Usuario ................................................................................................... 23 2.3.2 Salidas de Usuario ...................................................................................................... 24 2.3.3 Consultas de usuario .................................................................................................. 24 2.3.4 Ficheros Lógicos Internos ........................................................................................... 24 2.3.5 Ficheros Externos ....................................................................................................... 25 2.4 Presupuesto ...................................................................................................................... 30 2.3.1 Presupuesto Hardware ............................................................................................... 30 2.3.2 Presupuesto Software ................................................................................................ 30 2.3.3 Presupuesto de Personal ............................................................................................ 31 Presupuesto Total ............................................................................................................... 31 2.4 Seguimiento real ............................................................................................................... 31 2.5 Coste real ........................................................................................................................... 33 3. Análisis ..................................................................................................................................... 35 3.1 Características Principales ................................................................................................. 36 3.1.2 Árbol de Características ............................................................................................. 36 3.2 Descripción de los Actores ................................................................................................ 37 3.3 Requisitos de Usuario ........................................................................................................ 38 3.3.1 Diagrama de Casos de Uso ......................................................................................... 39 3.3.2 Especificación de Casos de USO ................................................................................. 41 3.4 Requisitos funcionales ....................................................................................................... 57 3.5 Requisitos de Información ................................................................................................ 58 3.5.1 Modelo lógico de datos .............................................................................................. 59 4 4 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.5.2 Diccionario de datos ................................................................................................... 60 3.6 Requisitos no funcionales ................................................................................................. 65 4.Diseño ....................................................................................................................................... 66 4.1 Arquitectura Lógica ........................................................................................................... 67 4.2 Arquitectura Física............................................................................................................. 68 4.5 Diseño de la Interfaz.......................................................................................................... 69 4.6 Diseño Responsive ............................................................................................................ 85 5. Implementación ...................................................................................................................... 88 5.1 Herramientas utilizadas .................................................................................................... 89 5.2 Desarrollo .......................................................................................................................... 90 5.3 Estructura del Proyecto ..................................................................................................... 91 5.4 Detalles de Implementación ............................................................................................. 91 5.4.1 Utilizando Bootstrap .................................................................................................. 91 5.4.1 Seguridad .................................................................................................................... 92 5.4.2 Correo electrónico ...................................................................................................... 93 6. Pruebas .................................................................................................................................... 96 6.1 Prueba de caja blanca ....................................................................................................... 97 6.2 Pruebas de Caja Negra ...................................................................................................... 98 7. Manuales ............................................................................................................................... 109 7.1 Manuel de Instalación ..................................................................................................... 110 7.2 Manual de usuario .......................................................................................................... 111 7.2.1 Gestión del Administrador ....................................................................................... 111 7.2.2 Gestión del Paciente................................................................................................. 117 7.2.3 Gestión del Personal Sanitario ................................................................................. 120 8. Conclusiones.......................................................................................................................... 121 8.1 Próximas mejoras ............................................................................................................ 122 8.3 Otros usos........................................................................................................................ 122 8.2 Conclusiones.................................................................................................................... 123 9. Referencias ............................................................................................................................ 124 5 5 Sistema de Gestión de Citas Médicas para un Centro de Salud Índice de Tablas Tabla 1: Comparativa de aplicaciones ......................................................................................... 18 Tabla 2: Entradas de usuario ....................................................................................................... 23 Tabla 3: Salidas de usuario .......................................................................................................... 24 Tabla 4: Consultas de usuario ..................................................................................................... 24 Tabla 5: Ficheros lógicos internos ............................................................................................... 24 Tabla 6: Ficheros externos .......................................................................................................... 25 Tabla 7: Puntos de función totales .............................................................................................. 25 Tabla 8:Factores de ajuste .......................................................................................................... 25 Tabla 9: Planificación mediante iteraciones ............................................................................... 27 Tabla 10: Presupuesto hardware ................................................................................................ 30 Tabla 11: Presupuesto Software ................................................................................................. 30 Tabla 12: Presupuesto Personal .................................................................................................. 31 Tabla 13:Presupuesto Total ......................................................................................................... 31 Tabla 14: Coste real del hardware .............................................................................................. 33 Tabla 15: Coste real del software ................................................................................................ 33 Tabla 16: Coste real del personal ................................................................................................ 33 Tabla 17: Coste real del proyecto................................................................................................ 34 Tabla 18:Árbol de características ................................................................................................ 36 Tabla 19: Actores del sistema ..................................................................................................... 37 Tabla 20:Principales elementos de un Caso de Uso .................................................................... 39 Tabla 21: CU1 - Iniciar Sesión ...................................................................................................... 41 Tabla 22: CU12 - Cerrar Sesión .................................................................................................... 41 Tabla 23: CU3 - Pedir Cita ............................................................................................................ 42 Tabla 24: Diagrama de secuencia - Pedir cita ............................................................................. 42 Tabla 25: CU4 - Ver citas ............................................................................................................. 43 Tabla 26: CU5 – Cancelar cita ...................................................................................................... 44 Tabla 27: CU6 - Ver histórico de citas ......................................................................................... 45 Tabla 28: CU7 – Visualizar agenda de citas ................................................................................. 46 Tabla 29: CU8 - Ver historial de citas .......................................................................................... 47 Tabla 30: CU9 – Añadir especialidad ........................................................................................... 47 Tabla 31: CU10 – Editar especialidad .......................................................................................... 48 Tabla 32: CU11 – Borrar especialidad ......................................................................................... 48 Tabla 33: CU12 – Añadir doctor .................................................................................................. 49 Tabla 34: CU13 – Editar doctor ................................................................................................... 49 Tabla 35: CU14 – Borrar doctor................................................................................................... 50 Tabla 36: CU15 – Añadir paciente ............................................................................................... 50 Tabla 37: CU16 – Editar paciente ................................................................................................ 51 Tabla 38: CU17 – Borrar paciente ............................................................................................... 51 Tabla 39: CU18 - Ver citas registradas......................................................................................... 52 Tabla 40: CU19 – Cancelar citas .................................................................................................. 52 Tabla 41: CU20 – Ver historial de citas registradas ..................................................................... 53 Tabla 42: CU21 – Añadir Turno ................................................................................................... 53 Tabla 43: CU22 – Añadir Horario ................................................................................................. 54 Tabla 44: CU23 – Editar Turno .................................................................................................... 54 Tabla 45: CU24 – Editar Horario .................................................................................................. 55 Tabla 46: CU25 – Borrar Turno .................................................................................................... 55 6 6 Sistema de Gestión de Citas Médicas para un Centro de Salud Tabla 47: CU26 – Borrar Horario ................................................................................................. 56 Tabla 48: Entidad - Administrador .............................................................................................. 60 Tabla 49: Entidad - Especialidad .................................................................................................. 60 Tabla 50: Entidad - Cita ............................................................................................................... 61 Tabla 51: Entidad - Doctor........................................................................................................... 62 Tabla 52: Entidad - Horario ......................................................................................................... 63 Tabla 53: Entidad - Turno ............................................................................................................ 63 Tabla 54: Entidad - Paciente ........................................................................................................ 64 Tabla 55: Arquitectura lógica ...................................................................................................... 67 Tabla 56: Modelo Cliente-Servidor ............................................................................................. 67 Tabla 57: Diseño de la interfaz - Inicio ........................................................................................ 69 Tabla 58: Diseño de la interfaz – Iniciar sesión ........................................................................... 70 Tabla 59: Diseño de la interfaz – Admin Home ........................................................................... 71 Tabla 60: Diseño de la interfaz – Doctor Home .......................................................................... 72 Tabla 61: Diseño de la interfaz – Paciente Home........................................................................ 73 Tabla 62: Diseño de la interfaz – Añadir Especialidad ................................................................ 74 Tabla 63: Diseño de la interfaz – Gestionar especialidades ........................................................ 75 Tabla 64: Diseño de la interfaz – Añadir Turno ........................................................................... 76 Tabla 65: Diseño de la interfaz – Gestionar Turnos .................................................................... 77 Tabla 66: Diseño de la interfaz – Añadir horario ......................................................................... 78 Tabla 67: Diseño de la interfaz – Gestionar horario.................................................................... 79 Tabla 68: Diseño de la interfaz – Añadir doctor .......................................................................... 80 Tabla 69: Diseño de la interfaz – Gestionar Doctores ................................................................. 81 Tabla 70: Diseño de la interfaz – Añadir Paciente ....................................................................... 82 Tabla 71: Diseño de la interfaz – Gestionar Pacientes ................................................................ 83 Tabla 72: Diseño de la interfaz – Pedir Cita ................................................................................ 84 Tabla 73: CP-01: Arrancar servidor ............................................................................................. 98 Tabla 74: CP-02: Iniciar Sesión .................................................................................................... 98 Tabla 75:CP-03: Cerrar Sesión ..................................................................................................... 98 Tabla 76: CP-04: Error de Inicio de sesión ................................................................................... 99 Tabla 77: CP-05: Registrar Paciente ............................................................................................ 99 Tabla 78: CP-06: Registro incorrecto del paciente .................................................................... 100 Tabla 79: CP-07: Registrar Personal Sanitario ........................................................................... 100 Tabla 80: CP-08: Registrar Especialidad .................................................................................... 101 Tabla 81: CP-09: Registrar Especialidad Duplicada ................................................................... 101 Tabla 82: CP-10: Registrar Turno ............................................................................................... 101 Tabla 83: CP-11: Registrar Turno Duplicado ............................................................................. 102 Tabla 84: CP-12: Registrar Horario ............................................................................................ 102 Tabla 85: CP-13: Registrar Horario Duplicado ........................................................................... 102 Tabla 86: CP-14: Visualizar Pacientes ........................................................................................ 103 Tabla 87: CP-15: Visualizar Personal Sanitario .......................................................................... 103 Tabla 88: CP-16: Visualizar especialidades ................................................................................ 103 Tabla 89: CP-17: Visualizar turnos ............................................................................................. 104 Tabla 90: CP-18: Visualizar horarios .......................................................................................... 104 Tabla 91: CP-19: Visualizar Citas ............................................................................................... 104 Tabla 93: CP-20: Ver Historial de Citas ...................................................................................... 104 Tabla 94: CP-21: Editar Especialidades ...................................................................................... 105 Tabla 95: CP-22: Editar Turnos .................................................................................................. 105 7 7 Sistema de Gestión de Citas Médicas para un Centro de Salud Tabla 96: CP-23: Editar Horarios ............................................................................................... 105 Tabla 97: CP-24: Eliminar Pacientes .......................................................................................... 106 Tabla 98: CP-25: Eliminar Personal Sanitario ............................................................................ 106 Tabla 99: CP-26: Eliminar Especialidades .................................................................................. 106 Tabla 100: CP-27: Eliminar Turnos ............................................................................................ 107 Tabla 101: CP-28: Eliminar Horarios .......................................................................................... 107 Tabla 102: CP-29: Cancelar Citas ............................................................................................... 107 Tabla 103: CP-30: Borrar Historial de Citas ............................................................................... 108 Tabla 104: CP-31: Pedir Cita ...................................................................................................... 108 8 8 Sistema de Gestión de Citas Médicas para un Centro de Salud Índice de Ilustraciones Ilustración 1: La medicina en la era digital .................................................................................. 11 Ilustración 2:Diseño Responsive ................................................................................................. 13 Ilustración 3: Logo de HM Hospitales.......................................................................................... 14 Ilustración 4: Capturas de pantalla de HM Hospitales ................................................................ 15 Ilustración 5: DriCloud, Software Médico en la nube ................................................................. 15 Ilustración 6: Capturas de pantalla de DriCloud ......................................................................... 16 Ilustración 7: Logo de Clinic Cloud .............................................................................................. 16 Ilustración 8: Dentix utiliza Clinic Cloud para la gestión de sus citas .......................................... 17 Ilustración 9: PMI por fases vs Desarrollo Ágil ............................................................................ 20 Ilustración 10: Calendario laboral 2019 ...................................................................................... 21 Ilustración 11: Fecha inicial y final de cada iteración .................................................................. 28 Ilustración 12: Diagrama de Gantt .............................................................................................. 29 Ilustración 13: Diagrama de secuencia - Cancelar cita ................................................................ 44 Ilustración 14: Diagrama de secuencia - Ver historial de citas ................................................... 45 Ilustración 15: Diagrama de secuencia - Visualizar agenda de citas ........................................... 46 Ilustración 16: Modelo Entidad-Relación .................................................................................... 59 Ilustración 17: Diseño Responsive............................................................................................... 85 Ilustración 18: Pantalla de Inicio de sesión ................................................................................. 85 Ilustración 19: Pantalla para pedir cita ....................................................................................... 86 Ilustración 20: Pantalla para añadir a un nuevo Doctor ............................................................. 86 Ilustración 21: Menú principal del Administrador ...................................................................... 87 Ilustración 22: Menú de inicio del paciente ................................................................................ 87 Ilustración 23: HTML, CSS3, Javascript y Bootstrap .................................................................... 90 Ilustración 24: Lenguaje PHP versión 7 ....................................................................................... 90 Ilustración 25: Formas de implementar Bootstrap ..................................................................... 91 Ilustración 26: Añadir Bootstrap a nuestro proyecto.................................................................. 92 Ilustración 27: Rejilla y botones de Bootstrap ............................................................................ 92 Ilustración 28: Contraseñas cifradas mediante el algoritmo SHA-512........................................ 93 Ilustración 29: Activamos Mercury en XAMPP ............................................................................ 94 Ilustración 30: Script para enviar mensaje mediante PHPMailer ............................................... 94 Ilustración 31: Confirmación de la cita por correo electrónico .................................................. 95 Ilustración 32: Página de inicio de la aplicación ........................................................................ 110 Ilustración 33: Página de Inicio del administrador .................................................................... 111 Ilustración 34: Añadiendo nuevas especialidades .................................................................... 111 Ilustración 35: Gestión de especialidades ................................................................................. 112 Ilustración 36: Añadiendo un nuevo Doctor ............................................................................. 112 Ilustración 37: Personal sanitario registrado ............................................................................ 113 Ilustración 38: Creando un nuevo turno ................................................................................... 113 Ilustración 39: Gestionando los turnos ..................................................................................... 114 Ilustración 40: Asignando un horario ........................................................................................ 114 Ilustración 41: Añadiendo nuevos pacientes ............................................................................ 115 Ilustración 42: Buscando pacientes ........................................................................................... 115 Ilustración 43: Filtrando las citas por especialidad ................................................................... 116 Ilustración 44: Historial de citas ................................................................................................ 116 Ilustración 45: Mensaje de alerta .............................................................................................. 116 Ilustración 46: Mensaje de bienvenida al paciente .................................................................. 117 15 15 Sistema de Gestión de Citas Médicas para un Centro de Salud Además, dicha aplicación posee un sistema GPS que permite localizar los centros de salud más cercanos, dependiendo de la posición del usuario. Ilustración 4: Capturas de pantalla de HM Hospitales DriCloud Ilustración 5: DriCloud, Software Médico en la nube El sistema es capaz de procesar millones de operaciones por segundo para evitar que dos personas pidan cita en un mismo turno disponible. Permite citas para pacientes nuevos y revisiones, evitando errores y duplicación de citas. 16 16 Sistema de Gestión de Citas Médicas para un Centro de Salud Además, es personalizable, lo que permite a elegir que doctores pueden recibir citas online y quienes no. Que servicios o tratamientos ofrecer, además de ofrecer la foto del doctor, más información de cada tratamiento y los precios. La cita pasa automáticamente a la agenda iCal o Agenda de Google del teléfono móvil del paciente. Ilustración 6: Capturas de pantalla de DriCloud Clinic Cloud Ilustración 7: Logo de Clinic Cloud Clinic Cloud es un software de gestión clínica que permite gestionar una clínica online, a través de la nube, por lo que controlarás todos los datos de manera sencilla y eficaz, ahorrando tiempo y dinero. El sistema permite acceder a los datos de los pacientes, registrar citas y acceder al 17 17 Sistema de Gestión de Citas Médicas para un Centro de Salud estado financiero de la empresa en cualquier momento y lugar, utilizando simplemente un dispositivo que tenga conexión a internet. Toda la información estará en la nube, lo que significa que nunca se perderá en caso de que falle el sistema de tu dispositivo. Cada profesional podrá crear su propio usuario, de modo que tendrá sus propios permisos y agenda en la que gestionar las citas con sus pacientes y los pagos. El sistema de la aplicación permite llevar la caja y la contabilidad de forma sencilla, controlar las fichas de los pacientes, realizar informes, imprimir expedientes, etc. Es un sistema que utilizan diferentes clínicas a nivel nacional, por ejemplo, la clínica dental Dentix, con más de 15 años de experiencia en Odontología. Ilustración 8: Dentix utiliza Clinic Cloud para la gestión de sus citas Tabla Comparativa A continuación, se presenta una tabla con las características básicas que deberían de presentar dichas aplicaciones. Esto nos ayudará a clasificar nuestra aplicación y a dotarla de ciertas funcionalidades para distinguirla de las opciones actualmente disponibles. El objetivo principal que buscamos es el de una aplicación que sea independiente, es decir, que pueda ser utilizada en todo tipo de clínicas, independientemente del tipo de servicio que se ofrezca o del personal que está trabajando. A su vez, se valorará positivamente que la aplicación pueda gestionar diferentes especialidades, para dotarla de una mayor escalabilidad, en caso de que la clínica quiera expandir sus servicios. 18 18 Sistema de Gestión de Citas Médicas para un Centro de Salud CARACTERÍSTICAS HM Hospitales DryCloud Clinic Cloud Aplicación Gratuito ✔ ✘ ✘ ✔ Pensado para todo tipo de clínicas ✘ ✔ ✘ ✔ Gestión de pacientes ✔ ✔ ✔ ✔ Gestión del historial de pacientes ✔ ✔ ✔ ✘ Gestión del personal sanitario ✘ ✔ ✔ ✔ Gestión de especialidades ✘ ✘ ✘ ✔ Gestión de horarios ✘ ✘ ✘ ✔ Gestión de citas ✔ ✔ ✔ ✔ Gestión de pagos ✘ ✔ ✔ ✘ El paciente es el que elige la cita ✔ ✔ ✘ ✔ Notificación por correo electrónico ✔ ✔ ✔ ✔ Tabla 1: Comparativa de aplicaciones En nuestro caso, como hemos citado anteriormente, nuestra aplicación podrá gestionar todo tipo de especialidades que albergue el centro de salud. A su vez, el personal sanitario dispondrá de diferentes horarios de trabajo. Esta combinación de características, harán que el paciente pueda seleccionar la fecha y la hora deseadas para su consulta dentro de una disponibilidad. Para finalizar, nuestra primera versión de la aplicación ofrecerá los servicios básicos que ofrecen dichas plataformas analizadas, incluyendo una característica diferenciadora como es la descripción de los síntomas del paciente, que servirá de gran ayuda al personal sanitario a conocer el problema de una forma anticipada, y un sistema de notificaciones por correo electrónico que ayudará al paciente a recordar sus citas. 19 19 Sistema de Gestión de Citas Médicas para un Centro de Salud 3. Planificación y presupuesto 20 20 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.1 Metodología La revolución tecnológica ha supuesto un cambio de planes en muchas empresas tradicionales adaptando sus planes de trabajo en metodologías ágiles. El nacimiento de nuevas herramientas y trabajos colaborativos ha supuesto un avance en la gestión y desarrollo de los proyectos empresariales, teniendo como resultado un aumento en su producción y eficiencia. A su vez, esta eficiencia, ha supuesto un cambio radical en la productividad, haciendo que los productos y los servicios ofrecidos por las empresas tengan una mayor calidad. Las metodologías ágiles tienen como objetivo repartir el esfuerzo en las fases de desarrollo, aumentando la eficiencia de los trabajadores y a la vez involucrarles y motivarles en el proceso en diseño y desarrollo. Por ello, en este proyecto se ha optado por seguir los principios de estas metodologías ágiles, ya que además poseen una serie de ventajas extra, como una reducción de costes en el desarrollo, mayor rapidez, mejora de cumplimiento de plazos y una mayor adaptabilidad a los cambios que pueda sufrir el proyecto. Ilustración 9: PMI por fases vs Desarrollo Ágil Para empezar, se realizará una primera fase de Ingeniería de Requisitos y Diseño e Implementación sobre el conjunto de la aplicación obteniendo así sus características principales, una visión general de cómo será la navegación y unos primeros bocetos de cómo será la interfaz junto con la configuración del servidor. Posteriormente se iterará sobre cada componente o característica principal dando lugar a las funcionalidades del proyecto establecidas. Finalmente, se realizarán pruebas sobre todas las funcionalidades y características de la aplicación. Como de costumbre, por experiencia, en las iteraciones intermedias pueden darse situaciones excepcionales que obliguen a revisar iteraciones anteriores para mejorar o introducir cambios en las mismas. A su vez, es una buena de volver a realizar pruebas sobre estos cambios. 21 21 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.2 Planificación Una vez que hemos definido la metodología ágil que vamos a utilizar en este proyecto, vamos a definir las tareas así como su duración en el tiempo para estimar su proceso de desarrollo y el presupuesto del mismo. Ilustración 10: Calendario laboral 2019 En nuestro caso, el desarrollo del proyecto comenzará el 3 de diciembre de 2018 con una jornada de trabajo de 8 horas menos los días festivos, sábados y domingos. La planificación principal abarcará desde enero de 2019 hasta junio de 2019. Los detalles de esta planificación se detallarán más adelante. 22 22 Sistema de Gestión de Citas Médicas para un Centro de Salud A continuación, definiremos, las iteraciones y los pasos a seguir reflejados en este documento. PRIMERA ITERACIÓN • Ingeniería de Requisitos: definir funcionalidad principal, roles y base de datos. • Diseño e Implementación: diseño de menús, instalación de software necesario, estudio de utilidades de desarrollo y lenguajes. • Documentación. SEGUNDA ITERACIÓN • Ingeniería de requisitos: registro y acceso de los diferentes roles. • Diseño e Implementación: diseño de funcionalidades extra en la plantilla y menús. • Pruebas: errores en el acceso y registro de usuarios. • Documentación: TERCERA ITERACIÓN • Ingeniería de requisitos: especificaciones de los datos de los diferentes roles. • Diseño e Implementación: gestión de citas y administración. • Pruebas: representación de los datos establecidos para cada rol. • Documentación. CUARTA ITERACIÓN • Ingeniería de requisitos: alta de pacientes y doctores. • Diseño e Implementación: diseño de formularios para el alta, baja y modificación de los usuarios registrados en el sistema. • Pruebas: comprobar • Documentación. QUINTA ITERACIÓN • Ingeniería de requisitos: gestión de citas detallada. Hora y fechas. • Diseño e Implementación: diseño de una agenda con las citas en los doctores y pacientes. • Pruebas: comprobación de correspondencia entre citas. • Documentación. SEXTA ITERACIÓN • Ingeniería de requisitos: funcionalidades relacionadas con las reglas de negocio establecidas. • Diseño e Implementación: diseño de funcionalidades para evitar un mal uso del sistema. • Pruebas: comprobación de estas funcionalidades. • Documentación. SÉPTIMA ITERACCIÓN • Pruebas: verificar el correcto funcionamiento y navegación. • Documentación. 23 23 Sistema de Gestión de Citas Médicas para un Centro de Salud 2.3 Puntos de función En este apartado, realizaremos una estimación basada en puntos de función calculando el coste del desarrollo en base a distintos factores o características que evalúan las diferentes funcionalidades que contendrá nuestra aplicación. Por experiencia, es evidente que cuanto más complejo sea la funcionalidad o característica, más tiempo se tendrá que invertir, y por lo tanto será más costosa su realización. Según esta estimación, los pasos a seguir son los siguientes: • 1º - Calcular los puntos de función sin ajustar. • 2º - Calcular los factores de ajuste. • 3º - Calcular los puntos de función ajustados. Para el primer punto de esta metodología, deberá determinarse lo siguiente: • Entradas de usuario • Salidas de usuario • Consultas de usuario • Ficheros Lógicos Internos • Ficheros de Interfaces Externos Además de agrupar los diferentes puntos de función sin ajustar (PFSA) en los 5 diferentes grupos, será indispensable asignar un nivel de complejidad para cada componente. 2.3.1 Entradas de Usuario En la siguiente tabla se valorará toda la información que gestionará dicha aplicación, como la información de los pacientes, el personal sanitario, la información relevante a las citas, la información que gestionarán los formularios y la información relevante a los mensajes de notificaciones. ENTRADAS COMPLEJIDAD Información de los pacientes (usuario, contraseña, nombre, apellidos, DNI, teléfono y correo electrónico) Media Información del personal sanitario (especialidad, turno y horario) Media Información de las citas (servicio, personal sanitario, fecha y hora) Media Formulario de registro de pacientes y personal sanitario Baja Formulario de gestión de citas Baja Formulario de ingreso de nuevas especialidades, turnos y horarios Baja Formulario para modificar información del personal sanitario Baja Formulario para modificar especialidades, turnos y horarios Baja Información de los historiales de citas de pacientes y personal sanitario Alta Formulario para notificación de mensaje en el correo electrónico Media Tabla 2: Entradas de usuario 24 24 Sistema de Gestión de Citas Médicas para un Centro de Salud 2.3.2 Salidas de Usuario En la siguiente tabla se valorará toda la información que se mostrará al usuario, como la información de los pacientes, el personal sanitario y la información relevante a las citas. SALIDAS COMPLEJIDAD Pantalla de inicio de la aplicación Media Panel de control del administrador Alta Pantalla de inicio del paciente Alta Pantalla de inicio del personal sanitario Alta Listado de pacientes registrados Baja Listado del personal sanitario registrado Baja Listado de las especialidades registradas Baja Listado de los turnos registrados Baja Listado de los horarios registrados Baja Listado de las próximas citas registradas Media Listado del historial de citas registradas Media Mensajes de bienvenida en la aplicación Baja Mensajes de confirmación en la aplicación Baja Mensajes de validación en la aplicación Baja Mensaje de error en la aplicación Baja Tabla 3: Salidas de usuario 2.3.3 Consultas de usuario En la siguiente tabla se valorará toda la información que podrá consultar el usuario en el sistema relativa a la administración de la aplicación, pacientes, personal sanitario y citas registradas. CONSULTAS COMPLEJIDAD Información de acceso a la aplicación Baja Información de inicio en el panel de control de administración Baja Información de inicio en la pantalla de inicio del paciente Baja Información de inicio en la pantalla de inicio del personal sanitario Baja Información de los pacientes Baja Información del personal sanitario Baja Información de las especialidades Baja Información de los turnos Baja Información de los horarios Baja Información de las próximas citas Media Información de las citas anteriores Media Tabla 4: Consultas de usuario 2.3.4 Ficheros Lógicos Internos En la siguiente tabla se valorará toda la complejidad de los ficheros lógicos internos empleados. FICHEROS LÓGICOS INTERNOS COMPLEJIDAD Base de datos Alta Tabla 5: Ficheros lógicos internos 31 31 Sistema de Gestión de Citas Médicas para un Centro de Salud 2.3.3 Presupuesto de Personal Los costes del personal se calcularán asumiendo el desarrollo por un Ingeniero Informático que realizará el trabajo de tres roles principales: - Analista - Programador - Gestión y Documentación Teniendo en cuentas estos datos, el presupuesto de personal es el siguiente: Personal Tiempo (h) Coste(€/h) Total (€) Analista 158 horas 13,18€ 2082,44€ Programador 450 horas 11,90€ 5355,00€ Documentación 148 horas 9,25€ 1369,00€ Total 8806,44€ Tabla 12: Presupuesto Personal Presupuesto Total Por lo tanto, el presupuesto final del proyecto es el siguiente: Total € Coste Hardware 182,10€ Coste Software 58,93€ Coste Personal 8806,44€ 9047,47€ Tabla 13:Presupuesto Total 2.4 Seguimiento real A lo largo del desarrollo del proyecto se han dado complicaciones que hacen aumentar la estimación del coste temporal, lo que hace que los costes reales sean superiores al presupuesto. Por otra parte, también pueden darse sobreestimaciones de tareas en cuanto a su esfuerzo en puntos de función, lo que hace que los costes reales sean inferiores al presupuesto estimado. Finalmente, pueden ocurrir imprevistos que hagan aplazar temporalmente el proyecto y que pueden repercutir únicamente en la fecha de entrega final y no en el coste del mismo. En el caso de la aplicación, se optó por dotarla de un diseño responsive para que todos los usuarios del servicio pudieran utilizarla correctamente desde diferentes dispositivos, por lo que la mayoría de diseños iniciales fueron reestructurados desde cero. Añadiendo a su vez nuevos componentes visuales dinámicos para hacer mucho más llamativa la aplicación. A su vez, estos 32 32 Sistema de Gestión de Citas Médicas para un Centro de Salud diseños fueron probados con multitud de pruebas, añadiendo una nueva iteración en el en la planificación. En este apartado se tratan las desviaciones de estos tipos que ha sufrido este proyecto y su repercusión en los plazos y en el coste final del mismo comparando este coste real con el presupuesto antes calculado. Puntos de Función Fecha Inicio Fecha de Fin PRIMERA ITERACIÓN 25 03/12/19 20/02/19 Ingeniería de Requisitos 15 03/12/19 12/12/18 Diseño e Implementación 7 13/12/19 18/12/18 Documentación 3 19/12/19 20/12/18 SEGUNDA ITERACIÓN 31 21/12/19 10/01/19 Ingeniería de Requisitos 8 21/12/19 26/12/18 Diseño e Implementación 19 27/12/19 08/01/19 Pruebas 2 09/01/19 09/01/19 Documentación 2 10/01/19 10/01/19 TERCERA ITERACCIÓN 26 11/01/19 29/01/19 Ingeniería de Requisitos 7 11/01/19 15/01/19 Diseño e Implementación 11 16/01/19 22/01/19 Pruebas 8 23/01/19 28/01/19 Documentación 3 29/01/19 29/01/19 CUARTA ITERACIÓN 35 30/01/19 22/02/19 Ingeniería de Requisitos 5 30/01/19 01/02/19 Diseño e Implementación 20 04/02/19 15/02/19 Pruebas 4 18/02/19 19/02/19 Documentación 6 20/02/19 22/02/19 QUINTA ITERACIÓN 24 25/02/19 14/03/19 Ingeniería de Requisitos 3 25/02/19 26/02/19 Diseño e Implementación 12 27/02/19 06/03/19 Pruebas 2 07/03/19 08/03/19 Documentación 7 11/03/19 14/03/19 SEXTA ITERACIÓN 30 15/03/19 04/04/19 Ingeniería de Requisitos 2 15/03/19 15/03/19 Diseño e Implementación 18 18/03/19 28/03/19 Pruebas 2 29/03/19 29/03/19 Documentación 8 01/04/19 04/04/19 SEPTIMA ITERACIÓN 25 05/04/19 26/04/19 Ingeniería de Requisitos 8 05/04/19 10/04/19 Diseño e Implementación 17 11/04/19 24/04/19 Pruebas 4 25/04/19 26/04/19 OCTAVA ITERACIÓN 18 29/04/19 09/05/19 Pruebas 8 29/04/19 02/05/19 Documentación 10 06/05/19 09/05/19 33 33 Sistema de Gestión de Citas Médicas para un Centro de Salud En total se estima que el proyecto supone un esfuerzo real de 214 puntos de función, lo que equivale a 856 horas (1 pto. de función ≡ 4 horas), distribuidas de forma no uniforme (excepto sábados y domingos) a lo largo del calendario (teniendo en cuenta 40 horas de trabajo semanales). Por lo tanto, este aumento de esfuerzo temporal, supondrá un incremento en el coste real del proyecto. 2.5 Coste real El aumento del coste temporal del proyecto en 100 horas supone un incremento del coste final del hardware y software, a la vez que incremento en el coste del personal. Por lo tanto: Coste (€) Uso (%) Total (€) Ordenador Personal 594€ 11,23% 65,34€ Conexión a Internet 5x35€ 33,23% 57,75€ Otros 70€ 100,00% 70,00€ Total 193,10€ Tabla 14: Coste real del hardware Coste (€) Uso (%) Total (€) Microsoft Office 483€ 11,7% 53,13 Amazon EC2 100€ 10,00% 10,00€ Total 63,13€ Tabla 15: Coste real del software Personal Tiempo (h) Coste(€/h) Total (€) Analista 190 horas 13,18€ 2504,02€ Programador 518 horas 11,90€ 6164,20€ Documentación 164 horas 9,25€ 1517,00€ Total 10,185.20€ Tabla 16: Coste real del personal 34 34 Sistema de Gestión de Citas Médicas para un Centro de Salud Total € Coste Hardware 193,10€ Coste Software 63,13€ Coste Personal 10,185.20€ 10,441.30€ Tabla 17: Coste real del proyecto 35 35 Sistema de Gestión de Citas Médicas para un Centro de Salud 3. Análisis 36 36 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.1 Características Principales Desde el punto de vista de los usuarios finales de esta aplicación, esta debe proporcionar una serie de características básicas que satisfagan las funcionalidades que debe de tener un sistema de citas. Por ello, tendremos tres enfoques diferentes a la hora de implementar dichas características. • Desde el punto de vista de los usuarios: intentaremos dotar a la herramienta de un sistema de información que permita pedir cita con mayor libertad, gracias a la posibilidad de elegir el horario que más le convenga dentro de las posibilidades disponibles. • Desde el punto de vista del personal sanitario: ofreceremos una plataforma sencilla para que puedan comprobar su agenda de cita concertadas en orden cronológico y conocer información extra sobre los síntomas del paciente, para obtener una mayor anticipación al conocimiento del problema. • Desde el punto de vista de los administradores: ofreceremos un panel de control para gestionar todos los posibles conflictos entre el personal sanitario y los usuarios del sistema, así como funciones de registro en la aplicación. 3.1.2 Árbol de Características Las características más relevantes citadas en el anterior apartado se describen de forma esquemática en el siguiente árbol de características. Tabla 18:Árbol de características 37 37 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.2 Descripción de los Actores En este apartado, explicaremos el desempeño que tiene cada actor con el sistema: Usuario no registrado: este actor es el único que acceder al sistema de forma anónima. Este actor podrá iniciar sesión como un usuario registrado dependiendo de su rol en el sistema, tanto si es administrador, personal sanitario o paciente. Usuarios: - Paciente: este rol será para todos aquellos usuarios ya pertenecientes al sistema (pacientes) que quieran pedir cita en el sistema - Personal sanitario: este rol estará asignado para todos usuarios que formen parte del personal sanitario de la entidad prestadora de salud. - Administrador: este rol será designado aquella persona que desempeñe las funciones de registro de nuevos usuarios y de gestión del calendario de citas. Tabla 19: Actores del sistema 38 38 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.3 Requisitos de Usuario Un requisito de usuario es una especificación clara de una acción que es llevada a cabo por un actor. Por lo que el conjunto entero de los requisitos de usuario, forman todas las acciones que se pueden llevar a cabo en la herramienta. En este apartado tiene como objetivo definir de forma correcta todos aquellos requisitos de usuario que se han capturado durante el desarrollo de la aplicación. A su vez, se describirán todos aquellos actores que interactúan de una manera u otra con la aplicación, para ello se utilizará la StarUML para implementar todos los diagramas para reflejar todas aquellas relaciones entre ellos. • Usuario no registrado: - RU-01: El usuario no registrado podrá iniciar sesión en el sistema dependiendo del rol que desempeñe en el sistema. • Paciente: - RU-02: El usuario registrado podrá cerrar sesión en el sistema. - RU-03: El usuario registrado podrá pedir cita en el sistema. - RU-04: El usuario registrado podrá ver sus próximas citas en el sistema. - RU-05: El usuario registrado podrá cancelar su cita en el sistema. - RU-06: El usuario registrado podrá ver su historial de citas en el sistema. • Personal Sanitario: - RU-07: El personal sanitario podrá cerrar sesión en la aplicación. - RU-08: El personal sanitario podrá visualizar su agenda de citas en el sistema. - RU-09: El personal sanitario podrá ver un histórico de sus citas en la aplicación. • Administrador: - RU-12: El administrador podrá cerrar sesión de la aplicación. - RU-13: El administrador podrá añadir especialidades en la aplicación. - RU-14: El administrador podrá editar las especialidades en la aplicación. - RU-15: El administrador podrá borrar especialidades en la aplicación. - RU-16: El administrador podrá añadir doctores en la aplicación. - RU-17: El administrador podrá editar doctores en la aplicación. - RU-18: El administrador podrá borrar doctores en la aplicación. - RU-19: El administrador podrá añadir pacientes en la aplicación. - RU-20: El administrador podrá editar pacientes en la aplicación. - RU-21: El administrador podrá borrar pacientes en la aplicación. - RU-22: El administrador podrá ver las próximas citas en la aplicación. - RU-23: El administrador podrá cancelar las próximas citas en la aplicación. - RU-24: El administrador podrá consultar el historial de citas en la aplicación. - RU-25: El administrador podrá eliminar las citas de la aplicación dada una fecha de registro. - RU-26: El administrador podrá añadir un turno de servicio en la aplicación. 39 39 Sistema de Gestión de Citas Médicas para un Centro de Salud - RU-27: El administrador podrá modificar los datos del turno de servicio en la aplicación. - RU-28: El administrador podrá eliminar el turno de servicio de la aplicación. - RU-29: El administrador podrá añadir un horario a un turno creado en la aplicación. - RU-30: El administrador podrá modificar un horario a un turno creado en la aplicación. - RU-31: El administrador podrá eliminar un horario a un turno creado en la aplicación. 3.3.1 Diagrama de Casos de Uso Un caso de uso es la especificación de un requisito de usuario poniendo en este al menos las condiciones previas necesarias, el actor del requisito de usuario, el estado en el que queda el sistema al terminar el requisito, el flujo normal y las excepciones que pueden ocurrir al realizar las diferentes acciones. Estos diagramas nos servirán para describir las actividades que deberán realizar los diferentes actores para llevar a cabo ciertos procesos. Estas relaciones se describen mediante una conexión de elementos del siguiente tipo: Tabla 20:Principales elementos de un Caso de Uso Por un primer lado, dispondremos del sistema que limitará las funcionalidades definidas en el proyecto. Segundo, los actores, que son las entidades que interfieren en el sistema. En nuestro caso, como hemos definido anteriormente, tendremos tres tipos diferentes de actores, el administrador del sistema, el personal sanitario y los pacientes. Por último, los casos de Uso, que serán las actividades que realicen los actores sobre el sistema. Todos los usuarios en el sistema podrán iniciar y cerrar sesión, por lo tanto, estas funcionalidades se han obviado en el siguiente diagrama de casos de USO. 40 40 Sistema de Gestión de Citas Médicas para un Centro de Salud 47 47 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU8: VER HISTORIAL DE CITAS Descripción: El personal sanitario dispondrá de un histórico con las citas anteriores a la fecha actual. Precondiciones: Ninguno Postcondiciones: POST-01: El sistema mostrará al doctor/ra un listado con sus citas anteriores a la fecha actual. Flujo normal: 1. El doctor/ra solicita ver su historial de citas. 2. El sistema le muestra su historial de citas. Excepciones: 1.1 El sistema informará al doctor/ra en el caso de que no disponga de citas registradas. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 29: CU8 - Ver historial de citas ID y Nombre: CU9: AÑADIR ESPECIALIDAD Descripción: El administrador rellena un formulario con los datos de la especialidad que quiere añadir al sistema. Precondiciones: Ninguno Postcondiciones: POST-01: La especialidad se almacenará en el sistema. Flujo normal: 1. El administrador solicita añadir una especialidad. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para registrar la especialidad en el sistema. Excepciones: 3.1 El sistema comprueba que la especialidad no haya sido registrada anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 30: CU9 – Añadir especialidad 48 48 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU10: EDITAR ESPECIALIDAD Descripción: El administrador rellena un formulario con la información de la especialidad a modificar. Precondiciones: PRE-01: El administrador debe de haber añadido una especialidad antes de poder modificarla. CU9: Añadir Especialidad Postcondiciones: POST-01: La información de la especialidad modificada quedará registrada en el sistema. Flujo normal: 1. El administrador solicita modificar una especialidad. 2. El sistema presenta al actor el formulario con la especialidad a modificar. 3. El administrador rellena la información necesaria modificar la especialidad. Excepciones: 3.1 El sistema comprueba que los datos introducidos son correctos, sino solicita al usuario que introduzca los datos de nuevo. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 31: CU10 – Editar especialidad ID y Nombre: CU11: BORRAR ESPECIALIDAD Descripción: El administrador solicita borrar una especialidad. Precondiciones: PRE-01: El administrador debe de haber añadido una especialidad antes de poder borrarla. CU9: Añadir Especialidad Postcondiciones: POST-01: La especialidad del sistema se eliminará del sistema. Flujo normal: 1. El administrador solicita borrar una especialidad. 2. El sistema presenta al actor un listado con las especialidades a borrar. 3. El sistema selecciona la especialidad a borrar. Excepciones: Ninguno. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 32: CU11 – Borrar especialidad 49 49 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU12: AÑADIR DOCTOR Descripción: El administrador rellena un formulario con los datos de doctor/ra que quiere añadir al sistema. Precondiciones: Ninguno Postcondiciones: POST-01: El/la doctor/ra se almacenará en el sistema. Flujo normal: 1. El administrador solicita añadir un/a doctor/ra. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para registrar el/la doctor/ra en el sistema. Excepciones: 3.1 El sistema comprueba que el doctor/ra no haya sido registrado anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 33: CU12 – Añadir doctor ID y Nombre: CU13: EDITAR DOCTOR Descripción: El administrador rellena un formulario con la información del doctor a modificar. Precondiciones: PRE-01: El administrador debe de haber añadido un doctor antes de poder modificarla. CU12: Añadir Doctor Postcondiciones: POST-01: La información del doctor modificado quedará registrada en el sistema. Flujo normal: 1. El administrador solicita modificar un doctor 2. El sistema presenta al actor el formulario con el doctor a modificar. 3. El administrador rellena la información necesaria del doctor. Excepciones: 3.1 El sistema comprueba que los datos introducidos son correctos, sino solicita al usuario que introduzca los datos de nuevo. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 34: CU13 – Editar doctor 50 50 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU14: BORRAR DOCTOR Descripción: El administrador solicita borrar un doctor. Precondiciones: PRE-01: El administrador debe de haber añadido un doctor antes de poder borrarlo. CU12: Añadir Doctor Postcondiciones: POST-01: El Doctor del sistema se eliminará del sistema. Flujo normal: 1. El administrador solicita borrar un doctor. 2. El sistema presenta al actor un listado con los doctores a borrar. 3. El actor selecciona el doctor a borrar. Excepciones: Ninguno. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 35: CU14 – Borrar doctor ID y Nombre: CU15: AÑADIR PACIENTE Descripción: El administrador rellena un formulario con los datos del paciente que quiere añadir al sistema. Precondiciones: Ninguno Postcondiciones: POST-01: El paciente se almacenará en el sistema. Flujo normal: 1. El administrador solicita añadir un paciente. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para registrar un paciente. en el sistema. Excepciones: 3.1 El sistema comprueba que el paciente no haya sido registrado anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 36: CU15 – Añadir paciente 51 51 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU16: EDITAR PACIENTE Descripción: El administrador rellena un formulario con la información del paciente a modificar. Precondiciones: PRE-01: El administrador debe de haber añadido un pacienter antes de poder modificarlo. CU15: Añadir Paciente Postcondiciones: POST-01: La información del paciente se ha modificado y quedará registrada en el sistema. Flujo normal: 1. El administrador solicita modificar un paciente 2. El sistema presenta al actor el formulario con el paciente a modificar. 3. El administrador rellena la información necesaria del paciente Excepciones: 3.1 El sistema comprueba que los datos introducidos son correctos, sino solicita al usuario que introduzca los datos de nuevo. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 37: CU16 – Editar paciente ID y Nombre: CU17: BORRAR PACIENTE Descripción: El administrador solicita borrar un paciente. Precondiciones: PRE-01: El administrador debe de haber añadido un paciente antes de poder borrarlo. CU15: Añadir Paciente Postcondiciones: POST-01: El paciente se eliminará del sistema. Flujo normal: 1. El administrador solicita borrar un paciente. 2. El sistema presenta al actor un listado con los pacientes a borrar. 3. El actor selecciona el paciente a borrar. Excepciones: Ninguno. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 38: CU17 – Borrar paciente 52 52 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU18: VER CITAS REGISTRADAS Descripción: El administrador solicita ver las citas registradas en el sistema. Precondiciones: Ninguno Postcondiciones: POST-01: La información del usuario se almacenará en el sistema. Flujo normal: 1. El administrador solicita ver las citas en el sistema. 2. El sistema presenta al actor un listado con las citas registradas en el sistema. Excepciones: Ninguno. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 39: CU18 - Ver citas registradas ID y Nombre: CU19: CANCELAR CITAS Descripción: El administrador solicita cancelar una cita en el sistema. Precondiciones: PRE-01: Debe de haberse creado una cita anteriormente por un paciente. Postcondiciones: POST-01: La cita se eliminará del sistema. Flujo normal: 1. El administrador solicita cancelar una cita. 2. El sistema presenta al actor un listado con las citas a cancelar. 3. El administrador selecciona la cita a cancelar. Excepciones: Ninguno Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 40: CU19 – Cancelar citas 53 53 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU20: VER HISTORIAL DE CITAS REGISTRADAS Descripción: El administrador dispondrá de un histórico con las citas anteriores a la fecha actual. Precondiciones: Ninguno Postcondiciones: POST-01: El sistema mostrará al administrador un listado con sus citas anteriores a la fecha actual. Flujo normal: 1. El administrador solicita ver su historial de citas. 2. El sistema le muestra un listado de citas pasadas. Excepciones: 1.1 El sistema informará al administrador en el caso de que no disponga de citas registradas. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 41: CU20 – Ver historial de citas registradas ID y Nombre: CU21: AÑADIR TURNO Descripción: El administrador rellena un formulario con los datos del turno que quiere añadir al sistema. Precondiciones: Ninguno Postcondiciones: POST-01: El turno se almacenará en el sistema. Flujo normal: 1. El administrador solicita añadir un turno. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para registrar el turno en el sistema. Excepciones: 3.1 El sistema comprueba que el turno no haya sido registrado anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 42: CU21 – Añadir Turno 54 54 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU22: AÑADIR HORARIO Descripción: El administrador rellena un formulario con los datos del horario que quiere añadir al sistema. Precondiciones: Ninguno Postcondiciones: POST-01: El horario se almacenará en el sistema. Flujo normal: 1. El administrador solicita añadir un horario. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para registrar el horario en el sistema. Excepciones: 3.1 El sistema comprueba que el horario no haya sido registrada anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 43: CU22 – Añadir Horario ID y Nombre: CU23: EDITAR TURNO Descripción: El administrador rellena un formulario con los datos del turno que quiere modificar en el sistema. Precondiciones: PRE-01: Debe de haberse creado un turno anteriormente. Postcondiciones: POST-01: El turno modificado se almacenará en el sistema. Flujo normal: 1. El administrador solicita añadir un turno. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para modificar el turno en el sistema. Excepciones: 3.1 El sistema comprueba que el turno no haya sido registrado anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 44: CU23 – Editar Turno 55 55 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU24: EDITAR HORARIO Descripción: El administrador rellena un formulario con los datos del horario que quiere modificar en el sistema. Precondiciones: PRE-01: Debe de haberse creado un horario anteriormente. Postcondiciones: POST-01: El horario modificado se almacenará en el sistema. Flujo normal: 1. El administrador solicita modificar un horario. 2. El sistema presenta al administrador un formulario con los datos que debe rellenar (RI:01). 3. El administrador rellena la información necesaria para modificar el horario en el sistema. Excepciones: 3.1 El sistema comprueba que el horario no haya sido registrado anteriormente en el sistema. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 45: CU24 – Editar Horario ID y Nombre: CU25: BORRAR TURNO Descripción: El administrador solicita borrar un turno en el sistema Precondiciones: PRE-01: Debe de haberse creado un turno anteriormente. Postcondiciones: POST-01: El turno borrado se eliminará del sistema. Flujo normal: 1. El administrador solicita borrar un turno. 2. El sistema presenta al administrador listado con los turnos. 3. El administrador selecciona el turno a eliminar. Excepciones: Ninguno. Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 46: CU25 – Borrar Turno 56 56 Sistema de Gestión de Citas Médicas para un Centro de Salud ID y Nombre: CU26: BORRAR HORARIO Descripción: El administrador rellena un formulario con los datos del horario que quiere modificar en el sistema. Precondiciones: PRE-01: Debe de haberse creado un horario anteriormente. Postcondiciones: POST-01: El horario modificado se almacenará en el sistema. Flujo normal: 1. El administrador solicita borrar un horario. 2. El sistema presenta al administrador listado con los horarios. 3. El administrador selecciona el horario a eliminar. Excepciones: Ninguno Prioridad: Alta Frecuencia de uso: Media Comentarios Ninguno Tabla 47: CU26 – Borrar Horario 63 63 Sistema de Gestión de Citas Médicas para un Centro de Salud Entidad HORARIO Requisitos fuente Descripción Datos asociados a las horas asignadas para cada turno de atención a los pacientes. Atributo Tipo Longitud Nulo Predeterminado Descripción ID INT 11 No Ninguno Número identificativo del Horario Turno INT 11 No Ninguno Nombre del turno que tendrá asociado un horario. Horas Time - No Ninguno Hora asignada a cada turno registrado. Tabla 52: Entidad - Horario Entidad TURNO Requisitos fuente Descripción Datos asociados al turno asignado para cada Doctor. Atributo Tipo Longitud Nulo Predeterminado Descripción ID INT 11 No Ninguno Número identificativo del Turno Nombre CHAR 20 No Ninguno Nombre del turno que tendrá asociado un horario. Tabla 53: Entidad - Turno 64 64 Sistema de Gestión de Citas Médicas para un Centro de Salud Entidad PACIENTE Requisitos fuente Descripción Datos asociados a la cita entre los pacientes y el personal sanitario perteneciente al sistema. Atributo Tipo Longitud Nulo Predeterminado Descripción ID INT 11 No Ninguno Número identificativo del Paciente Username CHAR 20 No Ninguno Nombre de usuario asociado al Paciente Password CHAR 128 No Ninguno Contraseña asociada al Paciente Name CHAR 60 No Ninguno Nombre y Apellidos asociados al Paciente DNI INT 9 No Ninguno Documento Nacional de Identidad asociado al Paciente Email INT 30 No Ninguno Correo Electrónico asociado al Paciente Teléfono INT 11 No Ninguno Número de Teléfono asociado al Paciente Tabla 54: Entidad - Paciente 65 65 Sistema de Gestión de Citas Médicas para un Centro de Salud 3.6 Requisitos no funcionales Los requisitos no funcionales son aquellos describen propiedades que debe tener el sistema o restricciones que debe respetar. Dentro de los requisitos no funcionales algunos pueden organizarse según su diferente tipo. En este caso se van a diferenciar los siguientes tipos: Disponibilidad RNF-01: La aplicación deberá estar disponible 24/7 durante los 365 días al año salvo mantenimiento. Accesibilidad RNF-02: La aplicación deberá ser accesible desde cualquier dispositivo que disponga de un navegador web que soporte HTML5. Usabilidad RNF-03: El tamaño de los componentes y texto de los formularios de la aplicación se ajustará al tamaño de la pantalla del dispositivo. RNF-04: La aplicación deberá validar las diferentes opciones con mensajes de confirmación o de error. RNF-05: La aplicación deberá tener manuales indicando las diferentes opciones para cada rol en el sistema. RNF-06: El orden por defecto de las citas en el sistema será por fecha de registro. Seguridad RNF-07: Las contraseñas de los usuarios viajarán en las peticiones y se almacenarán cifradas mediante una función SHA-512. Restricciones RNF-08: El sistema validará el DNI del paciente cuando se registre en el sistema. RNF-09: El sistema comprobará que no pueden existir dos citas de pacientes distintos a la misma hora y fecha. RNF-10: El sistema comprobará que los pacientes solo podrán pedir un máximo de tres citas en 24 horas para evitar un mal uso del sistema. RNF-12: El sistema comprobará que los pacientes no podrán pedir dos citas en la misma fecha y hora, en especialidades diferentes. Atributos de Calidad RNF-13: Se utilizará el formato de codificación de caracteres UTF-8. RNF-14: El sistema soportará el idioma Español. 66 66 Sistema de Gestión de Citas Médicas para un Centro de Salud 4.Diseño 67 67 Sistema de Gestión de Citas Médicas para un Centro de Salud 4.1 Arquitectura Lógica El objetivo de la arquitectura lógica es describir y representar los componentes lógicos que intervienen en la aplicación y su relación entre ellos. Por las características que presenta, se utilizará una arquitectura cliente-servidor. Por un lado, está el cliente (el navegador o browser) y por otro lado el servidor web. Tabla 55: Arquitectura lógica En un mismo servidor, se alojará todo el servicio de HTTP, la lógica de negocio (las especificaciones de la aplicación), la lógica de datos (la forma de cómo se accede a los datos) y los datos. Las tecnologías ASP y PHP emplean esta clase de arquitectura. Tabla 56: Modelo Cliente-Servidor El cliente realizará las peticiones necesarias y el servidor realizará sus consultas y operaciones en la base de datos devolviendo una respuesta al cliente. 68 68 Sistema de Gestión de Citas Médicas para un Centro de Salud 4.2 Arquitectura Física La arquitectura física representa los componentes físicos que forman parte del sistema así como la relación existente entre estos. Su representación se muestra en la siguiente imagen: Por un lado, el cliente puede acceder a la aplicación desde cualquier dispositivo que disponga de un navegador web para acceder al servidor. El servidor será encargado de obtener la información correspondiente en la base de datos y devolvérsela al cliente. En el caso de que el sistema aumenta sus prestaciones y peticiones, se podrán incorporar balanceadores, uno se encontrará activo y otro pasivo, en caso de que el activo tenga un problema entrará el pasivo en funcionamiento. Esto nos ofrecerá una disponibilidad 24/7. Los balanceadores se encargarán de distribuir las peticiones y accederán al servidor para obtener la información que necesiten. 69 69 Sistema de Gestión de Citas Médicas para un Centro de Salud 4.5 Diseño de la Interfaz Las aplicaciones hoy en día pueden ofrecernos multitud de funcionalidades y resolvernos problemas en cuestión de segundos. Aunque nuestra aplicación no tiene tal fin, como diseñadores sabemos que la interacción con el usuario es primordial y más en aplicaciones de estas características. Menús complejos y mal optimizados pueden hacer que una buena aplicación pase a segundo plano en cuestión de segundos. Por ello, teniendo en cuenta la variedad de perfiles en esta aplicación, hemos tenido especial cuidado en distribuir los elementos dependiendo de cada rol participe y sus funcionalidades correspondientes. Por otro lado, se ha tenido como objetivo en diseñar una interfaz sencilla e intuitiva, minimalista y atractiva a la vista desde cualquier dispositivo. A continuación, especificaremos el diseño para cada rol participe y sus funcionalidades correspondientes. Inicio Descripción Página de Inicio de la aplicación, contiene un slider con diferentes imágenes relacionadas con el Centro de Salud y tres opciones diferentes para Iniciar Sesión dependiendo del rol asociado al sistema. Activación Acceso a la aplicación Boceto Eventos Acceso a los formularios de autentificación dependiendo si el usuario tiene como rol Administrador, Paciente o forma parte del Personal Sanitario. Tabla 57: Diseño de la interfaz - Inicio 70 70 Sistema de Gestión de Citas Médicas para un Centro de Salud Iniciar Sesión Descripción Página compuesta por un formulario de registro donde cada rol participe en la aplicación puede iniciar sesión en el sistema. Activación Acceso a la aplicación desde la página de inicio Boceto Eventos Acceso a las páginas de inicio de cada rol registrado en el sistema, ya sea Administrador, Paciente o formar parte del Personal Sanitario. Tabla 58: Diseño de la interfaz – Iniciar sesión 71 71 Sistema de Gestión de Citas Médicas para un Centro de Salud Admin Home Descripción Página de Inicio del Administrador. Esta página contiene una cabecera frontal con todas las opciones que puede realizar el administrador. Activación Acceso a la aplicación como Administrador. Boceto Eventos Acceso a las funcionalidades relacionadas con el control y gestión del sistema. El administrador puede añadir, editar y borrar: Pacientes, doctores, especialidades, turnos, horarios y citas. Tabla 59: Diseño de la interfaz – Admin Home 72 72 Sistema de Gestión de Citas Médicas para un Centro de Salud Doctor Home Descripción Página de Inicio del Doctor. Esta página contiene un menú minimalista con la opción de ver un listado con las próximas citas registradas para el Doctor y una función correspondiente para cerrar la sesión. Activación Acceso a la aplicación como Doctor Boceto Eventos Acceso a un listado con las próximas citas registradas. Acceso a cerrar sesión. Tabla 60: Diseño de la interfaz – Doctor Home 79 79 Sistema de Gestión de Citas Médicas para un Centro de Salud Gestionar Horario Descripción Página donde el administrador puede gestionar los horarios de los doctores. Activación Acceso a la aplicación como Administrador seleccionando Gestionar Horarios. Boceto Eventos Acceso a la edición del horario. Acceso al borrado del horario. Tabla 67: Diseño de la interfaz – Gestionar horario 80 80 Sistema de Gestión de Citas Médicas para un Centro de Salud Añadir Doctor Descripción Página donde el administrador puede registrar a un nuevo Doctor. Activación Acceso a la aplicación como Administrador seleccionando Añadir Doctor Boceto Eventos Mensaje de confirmación cuando el Doctor se ha registrado correctamente. Tabla 68: Diseño de la interfaz – Añadir doctor 81 81 Sistema de Gestión de Citas Médicas para un Centro de Salud Gestionar Doctores Descripción Página donde el administrador puede gestionar el personal sanitario registrado en la aplicación. Activación Acceso a la aplicación como Administrador seleccionando Doctores Boceto Eventos Acceso a la edición del Doctor Acceso a la eliminación del Doctor Tabla 69: Diseño de la interfaz – Gestionar Doctores 82 82 Sistema de Gestión de Citas Médicas para un Centro de Salud Añadir Paciente Descripción Página donde el administrador podrá registrar un nuevo paciente. Activación Acceso como Administrador mediante la selección de Añadir Paciente. Boceto Eventos Mensaje de confirmación de paciente añadido correctamente. Tabla 70: Diseño de la interfaz – Añadir Paciente 83 83 Sistema de Gestión de Citas Médicas para un Centro de Salud Gestionar Pacientes Descripción El administrador podrá acceder a un listado con todos los pacientes registrados en el sistema. Activación Acceso a la aplicación como Administrador seleccionando Pacientes Boceto Eventos Acceso a la edición del paciente. Acceso a la eliminación del paciente. Tabla 71: Diseño de la interfaz – Gestionar Pacientes 84 84 Sistema de Gestión de Citas Médicas para un Centro de Salud Pedir Cita Descripción Página donde el paciente pide su cita. Primero seleccionando la especialidad, su doctor, la fecha y la hora. Por último tendrá la posibilidad de seleccionar si desea una notificación en el correo electrónico. Activación Acceso a la mediante la petición de una cita. Boceto Eventos Mensaje de confirmación o error en la petición de cita. Tabla 72: Diseño de la interfaz – Pedir Cita 85 85 Sistema de Gestión de Citas Médicas para un Centro de Salud 4.6 Diseño Responsive El diseño de la aplicación debe de tener como objetivo la visualización correcta de sus diferentes componentes desde cualquier dispositivo. Por ello, dicha organización de sus componentes debe ser adaptable en función de la pantalla del dispositivo empleado para su visualización. En nuestro caso, se optó por un Diseño Responsive, utilizando Bootstrap para su implementación, ofreciéndonos una mayor flexibilidad y haciendo que la organización de los diferentes componentes de la interfaz se adapte al tamaño de la pantalla del dispositivo. Ilustración 17: Diseño Responsive Para finalizar este apartado, mostraremos algunas capturas de estas páginas en simulando un Samsung Galaxy S mediante la herramienta que nos ofrece Google Chrome. Ilustración 18: Pantalla de Inicio de sesión 86 86 Sistema de Gestión de Citas Médicas para un Centro de Salud Ilustración 19: Pantalla para pedir cita Ilustración 20: Pantalla para añadir a un nuevo Doctor 87 87 Sistema de Gestión de Citas Médicas para un Centro de Salud Ilustración 21: Menú principal del Administrador Ilustración 22: Menú de inicio del paciente 88 88 Sistema de Gestión de Citas Médicas para un Centro de Salud 5. Implementación 95 95 Sistema de Gestión de Citas Médicas para un Centro de Salud Y comprobar que funciona correctamente cuando el paciente selecciona la casilla de notificación por email: Ilustración 31: Confirmación de la cita por correo electrónico 96 96 Sistema de Gestión de Citas Médicas para un Centro de Salud 6. Pruebas 97 97 Sistema de Gestión de Citas Médicas para un Centro de Salud 6.1 Prueba de caja blanca Estos test, también llamados pruebas estructurales, se enfocan a las funciones de cada script por separado, probando a bajo nivel y de forma unitaria cada parte para asegurar su correcto funcionamiento en diferentes situaciones y posteriormente aplicar las pruebas de caja negra a la característica o funcionalidad que engloba dicho script. Estas pruebas sobre cada componente se han realizado de forma simultánea a la implementación del mismo y se han basado generalmente en las siguientes comprobaciones: - Comprobación de las sentencias que emplean expresiones regulares (DNI). - Comprobación de la conexión desde el script PHP a la Base de Datos. - Comprobación mediante logs de las sentencias SQL generadas dinámicamente antes de proceder a ejecutar las mismas. - Comprobación en la Base de Datos del efecto de las sentencias SQL ejecutadas. - Comprobación mediante logs de los parámetros de las peticiones HTTP antes de realizar las mismas. - Comprobación de los distintos caminos en la ejecución de un script determinados por bucles y sentencias condicionales. - Verificación del correcto funcionamiento de los enlaces entre las páginas. - Comprobación de los script que controlan aspectos de la interfaz como la habilitación de ciertos botones tras cierta condición. - Comprobación de los estilos CSS en diferentes tamaños de pantalla empleando la “Device Toolbar” de Google Chrome. - Comprobación del correcto flujo en el total de la navegación de la página en diferentes navegadores: Google Chrome, Internet Explorer y Mozilla Firefox. 98 98 Sistema de Gestión de Citas Médicas para un Centro de Salud 6.2 Pruebas de Caja Negra Para un correcto funcionamiento de la aplicación se necesitan llevar a cabo diferentes test o pruebas funcionales con el objetivo de verificar las diferentes características de la aplicación establecidas previamente en los requisitos en el análisis. A partir de las pruebas de caja negra podremos realizar pruebas aplicadas a más alto nivel a partir de las salidas aportadas ante unos datos de entrada determinados. A continuación se detallan las casos de prueba más relevantes. CP-01: Arrancar servidor Objetivo Probar la correcta instalación y configuración del servidor en local mediante XAMPP. Precondiciones XAMPP instalado y configurado. Datos de Entrada Dirección: http://localhost/ Acción Esperada Visualizar la página del dashboard de XAMPP. Secuencia Paso Acción 1 Iniciar XAMPP 2 Arrancar los módulos Apache y MySQL 3 Abrir el navegador 4 Introducir la dirección Resultado Correcto Tabla 73: CP-01: Arrancar servidor CP-02: Iniciar Sesión Objetivo Probar que el formulario de acceso funciona correctamente. Este formulario es independiente dependiendo del rol ejercido en el sistema. Precondiciones Usuario “Alberto” registrado. Usuario no registrado. Datos de Entrada Nombre de usuario: Alberto Contraseña: Alberto Acción Esperada Visualizar la página de Inicio del rol correspondiente. Secuencia Paso Acción 1 Completar el campo para el nombre de usuario. 2 Completar el campo para la contraseña. 3 Pulsar el botón: Iniciar Sesión. Resultado Correcto Tabla 74: CP-02: Iniciar Sesión CP-03: Cerrar Sesión Objetivo Probar que la función de cerrar sesión funciona correctamente. Precondiciones El usuario debe de haber iniciado sesión previamente. Datos de Entrada Ninguno Acción Esperada Visualizar la página de Inicio. Sesión Destruida. No se puede volver hacia atrás si el usuario ha cerrado la sesión. Secuencia Paso Acción 1 Pulsar sobre la opción Salir en el menú del rol correspondiente. Resultado Correcto Tabla 75:CP-03: Cerrar Sesión 99 99 Sistema de Gestión de Citas Médicas para un Centro de Salud CP-04: Error de Inicio de Sesión Objetivo Probar que el formulario de acceso muestra los errores asociados a datos incorrectos. Precondiciones Usuario “Alberto” registrado. Usuario “Alberto1” no registrado. Usuario no registrado previamente. Datos de Entrada Nombre de usuario: Alberto1 Contraseña: Alberto1 Acción Esperada Se muestra un mensaje alertando de que el usuario no está registrado. Se muestra un mensaje alertando de que la contraseña es incorrecta. Secuencia Paso Acción 1 Introducir el nombre de usuario no registrado. 2 Pulsar sobre Iniciar Sesión. 3 Introducir una contraseña incorrecta. 4 Pulsar sobre Iniciar Sesión. 5 Introducir el nombre de usuario no registrado. 6 Introducir una contraseña incorrecta. 7 Pulsar sobre Iniciar Sesión. Resultado Correcto Tabla 76: CP-04: Error de Inicio de sesión CP-05: Registrar Paciente Objetivo Probar que el formulario de registro de Paciente funciona correctamente. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Usuario: Alberto Contraseña: Alberto Nombre y Apellidos: Alberto Segovia Cámara DNI: 70260453F Email: [email protected] Teléfono: 636349057 Acción Esperada Se muestra un mensaje de confirmación. Usuario creado en la base de datos. Secuencia Paso Acción 1 Completar el campo nombre de usuario 2 Completar el campo contraseña 3 Completar el campo nombre y apellidos 4 Completar el campo DNI 5 Comprobar validez del DNI 6 Completar el campo Email 7 Completar el campo Teléfono 8 Pulsar sobre la opción Añadir Resultado Correcto Tabla 77: CP-05: Registrar Paciente 100 100 Sistema de Gestión de Citas Médicas para un Centro de Salud CP-06: Registro incorrecto del Paciente Objetivo Probar que el formulario de registro de Paciente muestra los mensajes asociados a los datos erróneos introducidos. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Usuario: Alberto Contraseña: Alberto Nombre y Apellidos: Alberto Segovia Cámara DNI: 70260459F (DNI no válido) Email: [email protected] Teléfono: 636349057 Acción Esperada Se muestra un mensaje alertando al usuario de que el DNI introducido del Paciente no es válido. Secuencia Paso Acción 1 Completar el campo nombre de usuario 2 Completar el campo contraseña 3 Completar el campo nombre y apellidos 4 Completar el campo DNI 5 Completar el campo Email 6 Completar el campo Teléfono 7 Pulsar sobre la opción Añadir 8 Comprobar disponibilidad Resultado Correcto Tabla 78: CP-06: Registro incorrecto del paciente CP-07: Registrar Personal Sanitario Objetivo Probar que el formulario de registro del Personal Sanitario funciona correctamente. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Nombre y Apellidos: Doctor Usuario: Doctor Contraseña: Doctor Especialidad: Medicina Turno: Completo Acción Esperada Se muestra un mensaje de confirmación. Usuario creado en la base de datos. Secuencia Paso Acción 1 Completar el campo Nombre y Apellidos 2 Nombre el campo Usuario 3 Completar el campo Contraseña 4 Seleccionar la Especialidad 5 Seleccionar el Turno 6 Pulsa sobre el botón Añadir Resultado Correcto Tabla 79: CP-07: Registrar Personal Sanitario 101 101 Sistema de Gestión de Citas Médicas para un Centro de Salud CP-08: Registrar Especialidad Objetivo Probar que el formulario de registro de una nueva especialidad funciona correctamente. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Nombre de la Especialidad: Medicina Acción Esperada Se muestra un mensaje de confirmación. Especialidad creada en la base de datos. Secuencia Paso Acción 1 Completar el campo Especialidad 2 Pulsar sobre el botón Añadir Resultado Correcto Tabla 80: CP-08: Registrar Especialidad CP-09: Registrar Especialidad Duplicada Objetivo Probar que el formulario de registro de una nueva especialidad no permitir añadir una especialidad duplicada. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Nombre de la Especialidad: Medicina Acción Esperada Se muestra un mensaje alertando al usuario de que la especialidad está duplicada. Secuencia Paso Acción 1 Completar el campo Especialidad 2 Pulsar sobre el botón Añadir 3 Comprobar disponibilidad Resultado Correcto Tabla 81: CP-09: Registrar Especialidad Duplicada CP-10: Registrar Turno Objetivo Probar que el formulario de registro de un nuevo turno funciona correctamente. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Nombre del Turno. Acción Esperada Se muestra un mensaje de confirmación. Turno creado en la base de datos. Secuencia Paso Acción 1 Completar el campo del nombre del Turno 2 Pulsar sobre el botón de Añadir Resultado Correcto Tabla 82: CP-10: Registrar Turno 102 102 Sistema de Gestión de Citas Médicas para un Centro de Salud CP-11: Registrar Turno Duplicado Objetivo Probar que el formulario de registro de un nuevo turno no permitir añadir un turno duplicado. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Nombre del Turno. Acción Esperada Se muestra un mensaje alertando al usuario de que el turno está duplicado. Secuencia Paso Acción 1 Completar el campo del nombre del Turno 2 Pulsar sobre el botón de Añadir 3 Comprobar duplicidad Resultado Correcto Tabla 83: CP-11: Registrar Turno Duplicado CP-12: Registrar Horario Objetivo Probar que el formulario de registro de un nuevo horario funciona correctamente. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Seleccionar Turno: Mañana Seleccionar nueva Hora: 09:00 Acción Esperada Se muestra un mensaje de confirmación. Horario creado en la base de datos. Secuencia Paso Acción 1 Seleccionar el Turno 2 Seleccionar una nueva Hora 3 Pulsar sobre el botón de Añadir Resultado Correcto Tabla 84: CP-12: Registrar Horario CP-13: Registrar Horario Duplicado Objetivo Probar que el formulario de registro de un nuevo horario no permitir añadir una nueva hora duplicada. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Seleccionar Turno: Mañana Seleccionar nueva Hora: 09:00 Acción Esperada Se muestra un mensaje alertando al usuario de que la hora está duplicada. Secuencia Paso Acción 1 Seleccionar el Turno 2 Seleccionar una nueva Hora 3 Pulsar sobre el botón de Añadir 4 Comprobar duplicidad Resultado Correcto Tabla 85: CP-13: Registrar Horario Duplicado 103 103 Sistema de Gestión de Citas Médicas para un Centro de Salud CP-14: Visualizar Pacientes Objetivo Probar que los pacientes se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Ninguno Acción Esperada Visualizar los pacientes registrados en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Gestionar Pacientes. Resultado Correcto Tabla 86: CP-14: Visualizar Pacientes CP-15: Visualizar Personal Sanitario Objetivo Probar que los doctores se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Ninguno Acción Esperada Visualizar los doctores registrados en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Gestionar Doctores Resultado Correcto Tabla 87: CP-15: Visualizar Personal Sanitario CP-16: Visualizar Especialidades Objetivo Probar que las especialidades se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Ninguno Acción Esperada Visualizar las especialidades registradas en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Gestionar Especialidades. Resultado Correcto Tabla 88: CP-16: Visualizar especialidades 104 104 Sistema de Gestión de Citas Médicas para un Centro de Salud CP-17: Visualizar Turnos Objetivo Probar que los turnos se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Ninguno Acción Esperada Visualizar los turnos registrados en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Gestionar Turnos. Resultado Correcto Tabla 89: CP-17: Visualizar turnos CP-18: Visualizar Horarios Objetivo Probar que los horarios se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Seleccionar el Turno: Completo Acción Esperada Visualizar los horarios asignados a ese turno registrado en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Gestionar Horarios Resultado Correcto Tabla 90: CP-18: Visualizar horarios CP-19: Visualizar Citas Objetivo Probar que las citas registradas se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Seleccionar la Especialidad: Todas las especialidades. Acción Esperada Visualizar las especialidades registradas en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Gestionar Especialidades. Resultado Correcto Tabla 91: CP-19: Visualizar Citas CP-20: Visualizar Historial de Citas Objetivo Probar que las citas anteriores a la fecha actual registradas se listan correctamente en su respectiva página de visualización. Precondiciones El usuario con el rol de Administrador debe de haber iniciado sesión previamente. Datos de Entrada Seleccionar la Especialidad: Todas las especialidades. Acción Esperada Visualizar las especialidades anteriores a la fecha actual registradas en el sistema. Secuencia Paso Acción 1 Pulsar sobre el botón Historial de Citas Resultado Correcto Tabla 92: CP-20: Ver Historial de Citas 111 111 Sistema de Gestión de Citas Médicas para un Centro de Salud 7.2 Manual de usuario A continuación, se mostrarán brevemente las funcionalidades que desempeñan los diferentes roles de usuario de la aplicación en los siguientes manuales de usuario. 7.2.1 Gestión del Administrador Una vez hayamos iniciado sesión como administrador, accederemos al panel de control. Se nos presentará un mensaje de bienvenida junto con un menú con todas las funcionalidades disponibles en este rol. Ilustración 33: Página de Inicio del administrador Una de las funcionalidades características es la posibilidad de añadir nuevas especialidades en el sistema, así ampliaremos los servicios de nuestros centros de salud en caso de necesitarlo. Ilustración 34: Añadiendo nuevas especialidades A su vez, posteriormente, podemos obtener un listado de nuestras especialidades que hayamos añadido, al igual que podremos editarlas o eliminarlas. 112 112 Sistema de Gestión de Citas Médicas para un Centro de Salud Ilustración 35: Gestión de especialidades Una vez que hayamos creado nuestra especialidad, es hora de añadir un nuevo doctor y enlazarlo con la nueva especialidad. Esto último lo podremos realizar rellenando el siguiente formulario: Ilustración 36: Añadiendo un nuevo Doctor Nuevamente, podremos consultar un listado con todo el personal sanitario que haya sido registrado en el sistema. Como ya hemos citado, podremos gestionar nuestro personal, editando su información o eliminando su contenido del sistema. 113 113 Sistema de Gestión de Citas Médicas para un Centro de Salud Ilustración 37: Personal sanitario registrado A su vez, al personal sanitario podremos asignarle un turno de servicio o crear un turno especial de atención. Ilustración 38: Creando un nuevo turno 114 114 Sistema de Gestión de Citas Médicas para un Centro de Salud También, podremos gestionar nuestros turnos, así como editar su información: Ilustración 39: Gestionando los turnos Por último, una vez que hayamos creado nuestro turno, podremos asignar las horas de servicios para ese turno. Primero seleccionaremos el turno y posteriormente asignaremos las horas deseadas: Ilustración 40: Asignando un horario 115 115 Sistema de Gestión de Citas Médicas para un Centro de Salud El administrador además de registrar al personal sanitario podrá registrar a los pacientes rellenando el siguiente formulario. Para añadir al paciente será necesario introducir un DNI válido en el sistema. A su vez, dispondremos de un listado con todos los pacientes registrados en el sistema con toda su información disponible. En el caso de que haya una gran cantidad de pacientes registrados podremos usar el buscador para encontrar los datos de cualquier paciente registrado en el sistema introduciendo cualquier campo de su información. Ilustración 41: Añadiendo nuevos pacientes Ilustración 42: Buscando pacientes Por último, podremos acceder a la agenda de próximas citas registradas y podremos filtrarlas por su especialidad. 116 116 Sistema de Gestión de Citas Médicas para un Centro de Salud Ilustración 43: Filtrando las citas por especialidad Ilustración 44: Historial de citas En el caso de que no existen citas registrados el sistema nos informará: Ilustración 45: Mensaje de alerta 117 117 Sistema de Gestión de Citas Médicas para un Centro de Salud 7.2.2 Gestión del Paciente Una vez que hayamos iniciado sesión como paciente se nos presentará un mensaje de bienvenida con nuestro nombre y apellidos. Ilustración 46: Mensaje de bienvenida al paciente A continuación, podremos acceder al menú principal que contendrá las siguientes opciones: Ilustración 47: Menú principal del paciente Para pedir una cita el paciente primero deberá seleccionar una especialidad, a continuación un doctor/a que esté asignado a esa especialidad y por último seleccionar la hora y fechas deseadas junto con un pequeño asunto de la cita. 118 118 Sistema de Gestión de Citas Médicas para un Centro de Salud Ilustración 48: Seleccionando una especialidad Ilustración 49: Seleccionando el Doctor/a Ilustración 50: Seleccionando la fecha y hora 119 119 Sistema de Gestión de Citas Médicas para un Centro de Salud Como podemos observar en la imagen anterior, el paciente puede solicitar incluso un correo electrónico notificándole la información de su cita correspondiente. Si acude a su bandeja de entrada, obtendrá un mensaje parecido al siguiente: Ilustración 51: Notificación de la cita en el correo 120 120 Sistema de Gestión de Citas Médicas para un Centro de Salud 7.2.3 Gestión del Personal Sanitario Una vez que hayamos accedido como parte del personal sanitario se nos presentará el siguiente mensaje de bienvenida: Ilustración 52: Mensaje de bienvenida para el personal sanitario A continuación, podremos acceder el menú disponible para este rol con las siguientes opciones: Ilustración 53: Menú principal para el personal sanitario El doctor/a podrá visualizar sus citas y consultar un histórico con sus citas anteriores y los pacientes.