Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 88

TEMA:

DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL


DEL DÍA.
Tabla de contenidos

Introducción ........................................................................................................................................ 1
Capítulo 1. Análisis de la información y de los procesos de un hospital del día ................................. 2
1.1. La historia clínica ...................................................................................................................... 2
1.1.1. Confidencialidad y accesibilidad a la historia clínica ................................................... 2
1.1.2. Documentos que forman la historia clínica ...................................................................... 2
1.1.3. Apartados de la historia clínica y sus contenidos ............................................................. 3
1.2. Manejo de citas médicas .......................................................................................................... 3
1.3. Especialidades Médicas............................................................................................................ 4
Capítulo 2. Análisis de procesos externos ........................................................................................... 5
2.1. Análisis de medios de reservación actuales ............................................................................. 5
2.2. Anulaciones y cancelaciones de citas....................................................................................... 5
2.3. Fallos a citas ............................................................................................................................. 6
2.4. Disponibilidad y conocimiento de manejo de medios digitales ............................................... 6
2.4.1. Uso de servicios a través de dispositivos móviles ............................................................. 6
Capítulo 3. Metodología y herramientas ............................................................................................ 8
3.1. Metodología de programación ágil Extreme Programming (XP) ............................................. 8
3.1.1. Introducción ...................................................................................................................... 8
3.1.2. Características fundamentales .......................................................................................... 9
3.1.3. Ventajas y desventajas ...................................................................................................... 9
3.1.4. Adaptación y Aplicación de Extreme Programmingal desarrollo Web ........................... 10
3.2. Lenguaje de programación del lado del servidor PHP........................................................... 10
3.2.1. Introducción .................................................................................................................... 10
3.2.2. Características fundamentales ........................................................................................ 11
3.2.3. Ventajas y desventajas .................................................................................................... 11
3.3. Lenguaje de programación del lado del cliente Javascript .................................................... 12
3.3.1. Introducción .................................................................................................................... 12
3.3.2. Características Fundamentales ....................................................................................... 12
3.3.3. Ventajas y desventajas .................................................................................................... 13
3.4. Servidor de plataforma XAMPP ............................................................................................. 13

3.4.1. Introducción .................................................................................................................... 13i


3.4.2. Características fundamentales ........................................................................................ 14
3.4.3. Ventajas y desventajas .................................................................................................... 14
3.4.4. Servidor web HTTP APACHE ............................................................................................ 15
3.4.5. Sistema de gestión de bases de datos MySQL ................................................................ 15
3.5. Manejo de Frameworks para el desarrollo Web.................................................................... 16
3.5.1. Definición de Framework ................................................................................................ 16
3.5.2. Ventajas y desventajas .................................................................................................... 17
3.5.3. Tipos de Framework ........................................................................................................ 17
3.5.4. Frameworks para el desarrollo en PHP .......................................................................... 18
3.5.5. Kohana Framework ......................................................................................................... 18
3.5.7. JQuery Framework ......................................................................................................... 19
Capítulo 4. Diseño y especificaciones técnicas ................................................................................. 21
4.1. Introducción ........................................................................................................................... 21
4.2. Diagramas de Casos de uso .................................................................................................... 22
4.2.1. Casos de uso a nivel general ........................................................................................... 22
4.2.2. Casos de uso a detalle: .................................................................................................... 22
4.3. Diagramas de Clase ............................................................................................................... 50
4.4. Diagramas de Secuencia......................................................................................................... 51
4.4.1. Módulo de perfiles .......................................................................................................... 51
4.4.2. Módulo de Áreas ............................................................................................................. 53
4.4.3. Módulo de Usuarios ........................................................................................................ 55
4.4.4. Módulo de Pacientes....................................................................................................... 57
4.4.5. Módulo de Citas .............................................................................................................. 59
4.5. Desarrollo de la capa modelo................................................................................................. 63
4.5.1 Diseño Conceptual de la Base de Datos ........................................................................... 63
4.5.2 Diseño Físico de la Base de Datos .................................................................................... 64
Capítulo 5. Desarrollo del sistema..................................................................................................... 65
5.4. Manual de Usuario ................................................................................................................. 65
5.4.1. Interfaz de pacientes ....................................................................................................... 65
5.4.2. Interfaz de doctores ........................................................................................................ 68
5.4.3. Interfaz de administradores ............................................................................................ 74

Capítulo 6: Conclusiones y recomendaciones ................................................................................... 82


6.1. Conclusiones .......................................................................................................................... 82ii
6.2. Recomendaciones .................................................................................................................. 82
Bibliografía ........................................................................................................................................ 84

ii
i
Introducción

Hoy en día las empresas e instituciones manejan cantidades de información exorbitantes, los
hospitales del día no se quedan atrás. Estos interactúan con una gran cantidad de personas
diariamente, entre personal, doctores y pacientes. La seguridad y legitimidad de esta información
es esencial en cualquiera de estos establecimientos para lo cual hoy en día es imprescindible que
los archivos cuenten con servicios informáticos.

La historia clínica es el documento fundamental de nuestra consulta, tanto desde un punto de vista
asistencial como investigador y docente. Además tiene gran importancia desde un punto de vista
legal. Por todo ello resulta fácil comprender la importancia que tiene el disponer de una buena
historia clínica, entendiendo por "buena" una historia clínica en la que la información sea lo más
clara posible y lo más accesible posible.

Un sistema informatizado pretende conseguir las siguientes metas:

 Identificación correcta de los pacientes atendidos.


 Monitorización cronológica e inmediata de los circuitos asistenciales.
 Disminución de los errores en el manejo de la información asistencial.
 Registro de signos y síntomas del paciente.
 Registro de los actos y decisiones asistenciales tomadas por los profesionales.
 Recordatorio de las decisiones asistenciales importantes o protocolizadas, detección de
errores y omisiones en el proceso asistencial e identificación de resultados indeseables.
 Recuperación, interrelación, análisis y presentación adecuada de los datos registrados en
cualquier punto del proceso asistencial.
 Presentación y prescripción adecuada de las instrucciones e informes asistenciales a los
pacientes.
 Identificación de grupos de alto riesgo o susceptibles de intervenciones preventivas,
terapéuticas o rehabilitadoras específicas.
 Cuantificación inmediata de los costes no fijos producidos por la asistencia.
 Mayor interrelación entre los profesionales.
 Accesibilidad instantánea a la literatura científica.
 Mayores posibilidades de trabajo cooperativo entre diversas instituciones.
 Creación progresiva de bases de conocimiento médico para ayudar en el proceso de toma
de decisiones clínicas.

1
Capítulo 1. Análisis de la información y de los procesos de un
hospital del día

1.1. La historia clínica


La asistencia a los pacientes tanto hospitalizados como ambulatorios genera una serie de
información médica y administrativa sobre los mismos. Dicha información se registra en varios
documentos, siendo el conjunto de estos documentos lo que constituye la historia clínica.

La historia clínica debe ser única, integrada y acumulativa para cada paciente en el hospital,
debiendo existir un sistema eficaz de recuperación de la información clínica.

La principal función de la historia clínica es la asistencial ya que permite la atención continuada a los
pacientes por equipos distintos. Otras funciones son: la docencia, el permitir la realización de
estudios de investigación y epidemiología, la evaluación de la calidad asistencial, la planificación y
gestión sanitaria y su utilización en casos legales en aquellas situaciones jurídicas en que se requiera.

Para cumplir estas funciones la historia clínica debeser realizada con rigurosidad, relatando todos
los detalles necesarios y suficientes que justifiquen el diagnóstico y el tratamiento y con letra legible

1.1.1. Confidencialidad y accesibilidad a la historia clínica


La historia clínica con todos sus documentos tiene carácter confidencial. Por lo tanto, todos los
profesionales que tienen acceso a dicha información en su actividad diaria, tienen la obligación de
mantener la confidencialidad.

Normalmente, en la mayoría de hospitales está establecida una normativa de acceso a la


documentación clínica para los profesionales que trabajan en el centro. El farmacéutico clínico,
como cualquier otro profesional sanitario, debe conocer estas normas y actuar de acuerdo a ellas.
Cuando sea preciso recoger información o consultar alguna historia clínica que se encuentre en el
archivo, se seguirá el procedimiento establecido en el hospital.

1.1.2. Documentos que forman la historia clínica


La historia clínica consta de diferentes bloques de información. Generalmente toda la información
que se genera de un paciente se almacena en unos grandes sobres identificados con el nombre del
paciente y su número de historia clínica. Dentro de dicho sobre se archivan todos los documentos,
normalmente en una carpeta con anillas que permita la introducción de nuevos documentos y en
sobre o sobres aparte aquellas pruebas diagnósticas de gran tamaño.

Es conveniente que los diferentes documentos uhojas que constituyen la historia clínica se archiven
con un orden preestablecido.

2
1.1.3. Apartados de la historia clínica y sus contenidos
- Motivo del ingreso: Se inicia describiendo el síntoma que perturba al paciente y la duración del
mismo.

- Antecedentes familiares: Estado de salud de la familia, edades de los hijos si los hay,
enfermedades importantes, causas de fallecimiento de los parientes más cercanos, enfermedades
hereditarias.

- Historia social: Ambiente de vida y de trabajo, condiciones higiénicas.

- Historia médica previa: Enfermedades importantes padecidas por el paciente con anterioridad
(incluidas las de la infancia), intervenciones quirúrgicas que se le han practicado.

- Hábitos: Dieta, alcohol, tabaco, ejercicio.

- Historia de la enfermedad actual: Descripción por el propio paciente de su enfermedad desde el


principio.

- Historia medicamentosa: Registro de la medicación que está tomando el paciente a su ingreso en


el hospital o que ha tomado duranteel último año.

- Alergias a medicamentos y alimentos: Registro de las alergias sufridas por el paciente a lo largo
de su vida.

- Revisión por sistemas: El médico realiza una serie de preguntas al paciente acerca del
funcionamiento de los diferentes sistemas delorganismo desde la cabeza a los pies. Los diferentes
sistemas del organismo se agrupan en: cabeza,ojos,garganta,narizyoído,sistema respiratorio,
cardiovascular, gastrointestinal, genitourinario, piel, huesos, articulaciones y músculos, sistema
endocrino y nervioso. El médico debe registrar los síntomas que describe el paciente y realizar una
serie de preguntas, anotando los síntomas tanto presentes como ausentes.

- Examen físico: El examen físico es lo que evidencia y verifica la información obtenida mediante la
revisiónpor sistemas. En el examen físico hay una parte general y una por sistemas.

En la parte general se hace una breve descripcióngeneral y mental del paciente. Registrándose el
peso, la talla, pulso, temperatura, respiración así como estado de lasmucosas, piel, boca, uñas, pelo,
glándula tiroides, ganglios linfáticos, huesos y articulaciones.

1.2. Manejo de citas médicas


Existen varios métodos para programar la asignación de citas, entre ellos se destacan:

1. Programación proporcional: Este modelo incluye citas de diferente duración, cuya


determinación se basa en la interacción entre el paciente y la recepcionista en el momento de
asignarla.

3
Se realizan ciertas preguntas predeterminadas para clasificar la cita en una de estas tres categorías:
corta, intermedia o larga. La diferencia entre las tres categorías yace en cuanto tiempo tome la cita,
medido desde el momento en que el paciente es llamado al interior del consultorio, hasta el
momento en que el médico finalice la cita.

2. Programación en olas: En este modelo un grupo de pacientes se citan al inicio de cada hora. Los
exámenes se practican de acuerdo al orden de llegada. Puede también realizarse dividiendo la hora
en pequeños bloques; el primer grupo de pacientes se cita al inicio de la hora y los demás son citados
en intervalos de 15 a 30 minutos, dentro de la misma hora.

3. Programación clínica: Se refiere a la programación de un grupo específico de pacientesque ya


han sido previamente vistos. Se espera quese mejore la eficiencia al atender pacientes con similares
características patológicas, que requieren exámenes, evaluación y servicios similares.

4. Programación personal: Los médicos que no siguen ninguno de los protocolos propuestos sino
que adoptan sus propios criterios.

1.3. Especialidades Médicas


Las especialidades médicas se corresponden con la figura tradicional de "médico": asisten
personalmente al paciente con actividades preventivas, diagnósticas y terapéuticas, generalmente
sin utilizar técnicas quirúrgicas.El hospital del día cuenta con servicios de atención a sus pacientes
en:

 Medicina general
 Medicina clínica
 Obstetricia
 Pediatría
 Odontología
 Oftalmología
 Psiquiatría
 Rayos x
 Laboratorio clínico

4
Capítulo 2. Análisis de procesos externos

2.1. Análisis de medios de reservación actuales


Dentro del sistema de salud se establecen 3 niveles de atención de acuerdo con las patologías de la
enfermedad. El primer nivel de atención, lo puedes identificar por los servicios que se ofrecen en
enfermedades no complejas y que regularmente son de carácter preventivo y es la que recibes en
tu centro de salud más cercano. Este tipo de citas se las puede agendar telefónicamente o
acercándose a la ventanilla del consultorio médico.

El segundo nivel es la atención que se ofrece en los hospitales generales en donde se manejan ciertas
especialidades médicas y quirúrgicas para la atención de enfermedades más complejas y que
requieren de un tratamiento y seguimiento muy puntual. Para agendar este tipo de citas por lo
general se necesita una orden de un médico general o de misma forma telefónicamente o
acercándose a la ventanilla del consultorio.

El tercer nivel significa la atención a enfermedades poco frecuentes y que requieren de una alta
resolución y tratamiento, para ello existen los institutos de salud y los hospitales de alta
especialidad.

Para ingresar se requiere que un hospital de segundo nivel haya diagnosticado al paciente alguna
enfermedad que sea atendida de acuerdo con las patologías; un centro de salud comunitario
también puede referir siempre y cuando el diagnóstico sea comprobado, de otra manera es
necesario que primero la referencia sea a un segundo nivel de atención.

La referencia es un mecanismo que existe dentro del sistema de salud en donde el médico tratante
hace la solicitud de atención al hospital indicando los datos generales del paciente, el servicio a
donde le refiere y un resumen clínico para la valoración de los médicos especialistas. Cuando la
solicitud es aceptada por los jefes de servicios, se da aviso a la unidad de referencia del paciente
para que le informen de la fecha y horario en que la cita ha sido agendada con las indicaciones
correspondientes.

2.2. Anulaciones y cancelaciones de citas


La importancia del cumplimiento de las citas médicas, radica en que cuando un usuario no asiste a
una consulta programada, le está quitando la oportunidad a otra persona de ser atendida
oportunamente. Debido a esto los pacientes deben cancelar la cita con anterioridad ya sea vía
telefónicamente o acercándose a la ventanilla del consultorio.

Las razones para cancelar una cita médica puede variar desde calamidades domésticas hasta porque
el paciente se olvidó de la fecha agendada. Muchos hospitales y doctores manejan un sistema de
alertas donde se contacta al paciente con un tiempo predefinido de anterioridad para recordarle de
su próxima cita.

5
Muchos hospitales y médicos de buena reputación son muy concurridos por lo que tienen sus
agendas bastante apretadas, para un paciente con una enfermedad leve que se le asigne una cita
médica después de un tiempo muy largo puede ser motivo de una cancelación. En este tiempo el
paciente pudo haber conseguido una cita con otro médico o pudo mejorar de salud por su cuenta.

2.3. Fallos a citas


Los fallos en las citas es cuando un paciente no asiste a la cita médica que tiene agendada sin previa
cancelación. Como se menciona anteriormente esto puede traer consecuencias consigo ya que otros
pacientes podrían necesitar de una cita con urgencia o hasta puede causar pérdidas económicas a
la entidad de salud.

Muchos centros médicos aplican un sistema de multas para los pacientes que fallan a citas
repetidamente. También se registra en el historial de citas del paciente y para una próxima solicitud
se le será más difícil conseguir una.

2.4. Disponibilidad y conocimiento de manejo de medios digitales


El internet ha abierto un mercado muy notable en la oferta de servicios y productos, el uso de e-
comerce y e-marketing se ha vuelto una parte indispensable en el crecimiento de las empresas.

Cada vez más son los clientes o usuarios que prefieren manejar compras y uso de servicios a través
de portales web, esto es notable en empresas como Amazon, EBay, mercado libre, donde los
usuarios crecen de manera significativa.

Además el porcentaje de personas con acceso a internet está creciendo de una manera acelerada,
gracias a mejores infraestructuras de redes de telecomunicaciones, En el Ecuador existen 6,663,558
usuarios de internet, 43.8% de la población, según IWS en Junio 30, 2012. Y se estima un crecimiento
al 65% en este año.

Gracias a las redes sociales, las empresas tienen interacción con sus clientes, lo cual mejora la
imagen y el nivel de satisfacción del cliente.

Cada vez los portales son más seguros, mejorando la confianza de los clientes a utilizarlos para
satisfacer sus necesidades.

2.4.1. Uso de servicios a través de dispositivos móviles


El uso de teléfonos inteligentes y tabletas también favorece al comercio electrónico, pues a través
de estos dispositivos pueden acceder a los portales web y aplicaciones de las empresas que ofrecen
productos o servicios.

6
Los usuarios pueden acceder desde cualquier lugar los servicios ofrecidos, además de obtener la
información sobre lo que están buscando.

En el Ecuador, Una encuesta del INEC reveló que el acceso a Internet y telefonía móvil es mayor en
el país. El 8,4% de la población tiene un teléfono inteligente (2012).

Según ellos, la tecnología ha superado la barrera de la edad. Según la encuesta, el 71,5% de los
ecuatorianos entre 25 a 34 años tiene un celular activo y el 69,1% corresponde a las personas de 35
a 44 años de edad.

7
Capítulo 3. Metodología y herramientas

3.1. Metodología de programación ágil Extreme Programming (XP)


3.1.1. Introducción
La programación extrema (Extreme Programming XP), creada por Kent Beck, es una de las
metodologías de desarrollo ágil la cual a través de buenas prácticas o valores tiende a un aumento
de productividad en el momento de desarrollar sistemas o programas.

Se basa en varias metodologías de desarrollo de software, las cuales no utilizan principios nuevos,
pero esta combinación logra una manera de desarrollar más compacta y ágil.

XP se enfoca en la previsibilidad y la adaptabilidad logrando que los desarrollos,aplicando el sentido


común, sean más sencillos.

“Extreme Programming es exitoso porque se enfoca en la satisfacción del cliente” (Don Wells, 1999).

Esta metodología está inspirada en los siguientes valores:

Comunicación

Utiliza una comunicación directa y continua con los clientes y desarrolladores. El cliente se integra
en el equipo para establecer prioridades y resolver dudas.

“El XP busca mantener ciertas comunicaciones que fluyen a través del empleo de muchas prácticas
que no se pueden hacer sin la comunicación. Son prácticas que tienen sentido en el corto plazo,
como las pruebas, la programación en parejas y estimación es la comunicación entre los
desarrolladores, clientes y gerentes.” (Marcus Sá, 2011)

Simplicidad

Consiste en desarrollar sólo el sistema que realmente se necesita es decir resolver sólo las
necesidades que se dan en el momento.

“XP utiliza el concepto de simplicidad en muchos aspectos del proyecto para asegurar que el
personal se centre, en primer lugar, en qué es realmente necesario y evitar hacer lo que pueda
necesitar, pero todavía no se ha demostrado esencial.” (ViníciusManhães Teles, 2006)

3.1.2. Características fundamentales


Las características fundamentales del método son:

 Desarrollo iterativo e incremental: Pequeñas mejoras, unas tras otras.


 Pruebas de regresión y pruebas unitarias continuas, repetidas y automatizadas.
8
 Programación en parejas: Es recomendable que las tareas sean realizadas en parejas pues
la calidad del código realizado de esta forma es revisado mientras se desarrolla lo que
mejora la productividad.
 Integración del equipo de programación con el cliente. Se recomienda que un representante
del cliente trabaje junto al equipo de desarrollo.
 Corrección de todos los errores previo de incluir nuevas funcionalidades. Hacer entregas
frecuentes.
 Refactorización del código: Reescribir ciertas partes del código para aumentar su legibilidad
y mantenibilidad sin alterar su comportamiento.
 Propiedad del código compartida: Todo los integrantes del equipo pueden corregir y
extender cualquier parte del proyecto. Las pruebas de regresión garantizan que los posibles
errores sean detectados.
 Simplicidad en el código: Es más sencillo hacer algo simple y tener un poco de trabajo extra
para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.

3.1.3. Ventajas y desventajas


Ventajas:

 Adaptación al desarrollo de sistemas pequeños y grandes.


 Optimización el tiempo de desarrollo.
 Permite realizar el desarrollo del sistema en parejas para complementar los
conocimientos.
 El código es sencillo y entendible.

9
 Poca documentación a elaborar para el desarrollo del sistema.

Desventajas:

 No se tiene la definición del costo y el tiempo de desarrollo.


 El sistema va creciendo después de cada entrega al cliente y nadie puede decir que el cliente
no querrá una función más.
 Se necesita de la presencia constante del usuario, lo cual en la realidad es muy difícil de
lograr.
 En ocasiones la programación en parejas es una desventaja pues algunos desarrolladores
son celosos del código que escriben y no les agrada que alguien más modifique las funciones
que realizó o que su código sea desechado por no seguir el estándar.

3.1.4. Adaptación y Aplicación de Extreme Programmingal desarrollo Web


La programación extrema es el modelo que se emplea generalmente en la mayoría de desarrollos
web, en el que se dispone de un entorno público de desarrollo que permite que los clientes opinen
mientras se vs construyendo los proyectos.

XP es uno de los muchos procesos ágiles que se basa fundamentalmente en que no podemos
adelantarnos a los cambios de requisitos, y a que los clientes siempre serán variantes. De modo que
nos propone varias pautas a seguir cuando gestionamos nuestro proyecto.

Es muy útil para ejecutar proyectos cortos y sin mucha profundidad de código (por ejemplo una
página web) pero requiere de un importante esfuerzo del programador.

Un programador que trabaje con XP deberá tenerdescansos regulares, ya sean días libres,
permitiéndole periodos de investigación o asignándole de vez en cuando a proyectos basados en
procesos más relajados.

Al ser la programación Web principalmente enfocada a sistemas a medida en la que hay diferentes
roles: un equipo de gestión (o diseño), uno de desarrollo y los clientes finales. La programación
extrema parte de este caso y se enfoca en la relación entre el equipo de diseño, los desarrolladores
y los clientes a diferencia de las metodologías tradicionales las cuales se basan en una fase de
captura de los requisitos previa al desarrollo, y de una fase de validación posterior al mismo.

3.2. Lenguaje de programación del lado del servidor PHP


3.2.1. Introducción
PHP es uno de los lenguajes de lado servidor más usados en la web, se caracteriza en ser un lenguaje
de script interpretado en el lado del servidor utilizado para el desarrollo de páginas Web dinámicas,
similar al ASP o JSP, embebido en páginas HTML y ejecutado en el servidor.

10
La mayor parte de su sintaxis ha sido tomada de C, Java y Perl pero con características específicas
de sí mismo.

Creado en 1994 por RasmusLerdorf, se trata de un lenguaje que ha tenido una gran aceptación en
la comunidad de desarrolladores Web debido a su potencia y simplicidad.

En una publicación de la universidad del Valle (Cali, Colombia) se señala, “PHP presenta una filosofía
totalmente diferente y, con un espíritu más generoso, es progresivamente construido por
colaboradores desinteresados que implementan nuevas funciones en nuevas versiones del
lenguaje.” (2012)

3.2.2. Características fundamentales


Las características fundamentales del lenguaje son:

 Acceso a ficheros, ejecución de comandos o abrir conexiones de red desde el servidor.


Además está diseñado específicamente para ser un lenguaje más seguro para escribir
aplicaciones CGI
 Según la página de oficial de PHP “PHP puede ser usado para construir completas
aplicaciones de servidor, con toda la potencia de un usuario de consola, o se puede usar
sólo desde el lado del servidor implicando un menor riesgo dentro de un entorno
controlado.”
 Realizar determinadas acciones de una forma fácil y eficaz embebiendo fragmentos de
código dentro de la página HTML sin tener que generar programas externos en un lenguaje
distinto al HTML.
 Soporte para una gran cantidad de bases de datos: MySQL, PostgreSQL, Oracle,MS SQL
Server, SybasemSQL, Informix, entre otras.
 Integración con varias bibliotecas externas, permitiendo generar documentos en
PDF(documentos de Acrobat Reader) hasta analizar código XML.
 “Ofrece una solución simple y universal para las paginaciones dinámicas del Web de fácil
programación.” (Christina Van Der HenstS., 2001)
 Aunque multiplataforma, en entornos UNIX es donde se pueden aprovechar mejor sus
prestaciones.

3.2.3. Ventajas y desventajas


Ventajas

 Es un lenguaje multiplataforma.
 Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan
en la actualidad, destacando su conectividad con MySQL.

11
 Capacidad de expandir su potencial utilizando la enorme cantidad de módulos
(extensiones).
 Posee una amplia documentación en su página oficial, donde se explica todas las
funciones del sistema.
 Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
 Permite las técnicas de Programación Orientada a Objetos.
 Biblioteca nativa de funciones sumamente amplia e incluida.
 No requiere definición de tipos de variables.
 Tiene manejo de excepciones.

Desventajas

 No posee una abstracción de base de datos estándar, sino bibliotecas especializadas para
cada motor.
 No posee adecuado manejo de internacionalización.
 Difícil de optimizar debido a su diseño dinámico.
 Favorece la generación de código desordenado y complejo de mantener.

3.3. Lenguaje de programación del lado del cliente Javascript


3.3.1. Introducción
Javascript es un lenguaje de programación interpretado. Definido como orientado a objetos,
basándose en prototipos, dinámico e imperativo.

Introducido por primera vez en 1995 en la versión 2 de Netscape, Javascript representa,


actualmente, el estándar no oficial de referencia para el uso de script en documentos hipertextuales.

Su uso se da principalmente del lado del cliente (client-side), implementado como parte del
navegador web donde permite mejoras en la interfaz de usuario y páginas web dinámicas.

Se diseñó con una sintaxis similar al C, adoptando nombres y convenciones de Java. No obstante
Java y Javascript tienen semánticas y propósitos distintos.

3.3.2. Características Fundamentales


Las características fundamentales del lenguaje son:

 Imperativo y estructurado: Soporta gran parte de la estructura de C como por ejemplo,


sentencias if, bucles for, sentencias switch, etc.
 Tipado dinámico: El tipo de objeto está asociado al valor, no a la variable. Javascript
soporta tiene varias formas de comprobar el tipo de un objeto, incluyendoduck-typing.

12
 Objetual: Está formado por objetos en la mayoría. Los cuales son arrays asociativos con la
inclusión de prototipos.
 Funcional: Su programación se basa en la generación de funciones donde una función es un
conjunto de instrucciones que se agrupan para realizar una tarea concreta y que se pueden
reutilizar fácilmente.

3.3.3. Ventajas y desventajas


Ventajas

 Validación de datos de un formulario en el lado del cliente.


 Creación de efectos dinámicos tales como imágenes dinámicas y presentaciones de
diapositivas.
 Ejecución por el lado del cliente por lo que el servidor no es solicitado más de lo debido.
 Lenguaje de scripting es seguro y fiable.
 Ligero de carga.
 Poco uso de memoria.

Desventajas

 El código es visible y puede ser leído por terceros con facilidad.


 Los scripts tienen capacidades limitadas.
 Se puede desactivar desde el navegador.
 Opciones 3D limitadas.
 Recursos no muy extensos.

3.4. Servidor de plataforma XAMPP


3.4.1. Introducción
“XAMPP, es un servidor de plataforma libre, es un software que integra en una sola aplicación, un
servidor web Apache, intérpretes de lenguaje de scripts PHP, un servidor de base de datos MySQL,
un servidor de FTP FileZilla, el popular administrador de base de datos escrito en PHP, MySQL, entre
otros módulos.” (http://myu-charly.blogspot.com/2012/02/blog-post.html, 2012)

El nombre viene del siguiente acrónimo:

 X (para cualquiera de los diferentes sistemas operativos)


 Apache
 MySQL
 PHP
 Perl

13
El servidor es independiente de plataforma y el software es libre.El programa está liberado bajo la
licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas
dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y
MacOS X.

XAMPP solamente requiere descargar y ejecutar un archivo zip, tar o exe, con algunas
configuraciones en sus componentes que el servidor Web necesite.

Se actualiza regularmente para incorporar las últimas versiones de Apache/MySQL/PHP y Perl.

También incluye otros módulos como OpenSSL y phpMyAdmin.

3.4.2. Características fundamentales


Las características fundamentales del servidor son:

 Licencia de esta aplicación es GNU (General PublicLicense),


 Fácil instalación: requiere descargar y ejecutar un archivo .zip, .tar, o .exe, con unas
pequeñas configuraciones en alguno de sus componentes que el servidor Web.

Multiplataforma, compatible con diferentes sistemas operativos, como: Microsoft Windows,


GNU/Linux, Solaris, y MacOS X.

3.4.3. Ventajas y desventajas


Ventajas

 Nos permite instalar el entorno MySQL, Apache y PHP.


 Proporciona servicios como servidor de correos y servidor FTP.
 Su instalación es muy fácil, solo requiere descargarlo y extraerlo.
 Las configuraciones son mínimas o inexistentes.

Desventajas

 No soporta MySQL desde la consola.


 No se pueden actualizar individualmente las versiones de los programas que instala.
 Dificultad para configurar aplicaciones de terceros.
 No posee garantía.

14
3.4.4. Servidor web HTTP APACHE

3.4.4.1. Introducción

El servidor web Apache se basa en el originar servidor web NCSA, al que ha sustituido prácticamente
en su totalidad. Se configura mediante un fichero de texto que contiene las directivas que le indican
las instrucciones sobre cómo tiene que ser su comportamiento. Normalmente cada distribución de
Apache trae un fichero de configuración en el que los cambios que tendremos que realizar son
mínimos.

Tiene una alta configurabilidad en la creación y gestión de logs. Permite la creación de archivos de
log a medida del administrador, de este modo se puede tener un mayor control sobre lo que sucede
en el servidor.

Apache es una tecnología gratuita de código fuente abierto.

Apache trabaja con muchos lenguajes como Perl, PHP, Java, Jsp y otros lenguajes de script.

3.4.4.2. Características Fundamentales


Las características fundamentales del servidor son:

 Multiplataforma.
 Es un servidor de web conforme al protocolo HTTP/1.1.
 Modular: Puede ser adaptado a diferentes entornos y necesidades, con los diferentes
módulos de apoyo que proporciona, y con la API de programación de módulos, para el
desarrollo de módulos específicos.
 Basado en hebras en la versión 2.0.
 Incentiva la realimentación de los usuarios, obteniendo nuevas ideas, informes de fallos y
parches para la solución de los mismos.
 Se desarrolla de forma abierta.
 Extensible: gracias a ser modular se han desarrollado diversas extensiones entre las que
destaca PHP, un lenguaje de programación del lado del servidor.

3.4.5. Sistema de gestión de bases de datos MySQL

3.4.5.1. Introducción
MySQL es el mayor sistema gestionador de bases de datos de código abierto SQL, es desarrollado,
distribuido y mantenido por MySQL AB. MySQL AB es una compañía comercial, fundada por
desarrolladores de MySQL.

15
MySQL es una base de datos relacional, originalmente desarrollado para manejar grandes bases de
datos de manera más rápida que con otras soluciones existentes.

La conectividad, velocidad y seguridad del servidor MySQL proponen un ambiente apropiado para
acceder a bases de datos en Internet.

3.4.5.2. Características Fundamentales


Las características fundamentales del gestor de bases de datos son:

 Escrito en C y en C++.
 Probado con varios compiladores diferentes.
 Funciona en diferentes plataformas.
 Usa GNU Automake, Autoconf, y Libtool para portabilidad.
 APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.
 Uso completo de multi-threaded mediante threads del kernel. Pueden usarse fácilmente
múltipleCPUs si están disponibles.
 Proporciona sistemas de almacenamiento transaccionales y no transaccionales.
 Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión de índice.
 Un sistema de reserva de memoria rápido basado en threads.
 Joins muy rápidos usando un multi-join de un paso optimizado.
 Tablas hash en memoria, que son usadas como tablas temporales.
 Las funciones SQL están implementadas usando una librería altamente optimizada y
deben ser tan rápidas como sea posible.
 El servidor está disponible como un programa separado para usar en un entorno de red
cliente/servidor.

3.5. Manejo de Frameworks para el desarrollo Web


3.5.1. Definición de Framework
“Es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de
problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de
índole similar (plataforma, entorno, marco de trabajo).”(Jorge R. Castillo C)

Desde el punto de vista del desarrollo de software, un framework es una estructura de soporte
definida, donde se puede desarrollar y organizar otros proyectos de software.

16
Los frameworks incluyen:

 Soporte de programas.
 Bibliotecas.
 Lenguaje de scripting.
 Software para desarrollar y unir diferentes componentes de un proyecto de desarrollo de
programas.

Los frameworks permiten:

 Facilitar el desarrollo de software.


 Evitar los detalles de bajo nivel, permitiendo aplicar mayor esfuerzo y tiempo en
identificar los requerimientos de software.

3.5.2. Ventajas y desventajas


Ventajas

 El desarrollo rápido de aplicaciones.


 Reutilización de componentes.
 Uso y la programación de componentes regidos a una política de diseño uniforme.
 Bibliotecas fáciles de usar.

Desventajas

 Dependencia del código fuente de una aplicación con respecto al framework.


 Demanda de muchos recursos computacionales.
 Incluye recursos que no se usan en todos los proyectos.

3.5.3. Tipos de Framework


Existen varios tipos de frameworks Web:

 Orientados a la interfaz de usuario, Ej.: Java Server Faces


 Orientados a aplicaciones de publicación de documentos, Ej.: Coocon
 Orientados a la parte de control de eventos, Ej.: Struts

“La mayoría de frameworks Web se encargan de ofrecer una capa de controladores de acuerdo con
el patrón MVC o con el modelo 2 de Servlets y JSP, ofreciendo mecanismos para facilitar la
integración con otras herramientas para la implementación de las capas de negocio y presentación”
(Javier J. Gutiérrez).

17
3.5.4. Frameworks para el desarrollo en PHP
El uso de frameworks para el desarrollo de aplicaciones en PHP, ha evolucionado debido a la
demanda de aplicaciones web, con el objetivo de mejorar la productividad y rapidez de los
productos,proponiendo la generación de nuevas librerías y facilidades en el desarrollo de los
proyectos

Los componentes de los frameworks en PHP simplificarán el trabajo y además ahorraran


considerablemente el trabajo repetitivo, además permite la creación de nuevas funcionalidades,
modificar existentes promoviendo el rehúso de código.

Se basan en la separación de capas lógicas (MVC) con un controlador frontal.

Poseen una alta seguridad, pues los datos ingresados son validados y filtrados evitando posibles
ataques.

Existe una buena comunicación con Bases de Datos (MySQL) pues la mayoría de estos procesos ya
están automatizados.

3.5.5. Kohana Framework

3.5.5.1. Introducción
Kohana es un framework para aplicaciones web exclusivamente para versiones superiores a PHP4
que implementa el patrón de Modelo Vista Controlador (MVC).

Sus principales objetivos se basan en ser seguro, ligero, y fácil de utilizar.

Kohana es unfork(bifurcación, desarrollo alterno) de CodeIgniter.

3.5.5.2. Características Fundamentales


Las características fundamentales del framework son:

 Basado en CodeIgniter.
 Diseño Orientado a Objetos.
 Acceso a funciones get, post , cookies y sesiones.
 Manejo de prefijos para evitar conflictos.
 Carga automática de Clases
 Control de eventos del sistema.
 Extendible
 Basado en el patrón MVC.

18
3.5.6. Frameworks para el desarrollo con Javascript
Actualmente los framework para Javascript se está popularizando mucho, su manejo nos facilita la
creación de interfaces de usuario avanzadas en Javascript, necesarias para hacer proyectos de la
web 2.0.

Las aplicaciones web buscan parecerse a las aplicaciones de escritorio, pues su funcionalidad en
gran parte se mueve de la parte servidor al cliente, las funcionalidades son cada vez más complejas
y requieren mayor cantidad de código Javascript.

Los frameworks ofrecen una única interfaz para todos los navegadores, encargándose de corregir
las incompatibilidades con estos.

Ofrecen funcionalidad de alto nivel además logran que Javascript parezca más a otros lenguajes con
el manejo de clases e iteradores.

Entre los frameworks más populares tenemos: JQuery, Prototype, Mootools, Script.aculo.us, YUI,
entre otros.

JQuery tiene una aceptación de un 78% según “State of web Development 2010”.

3.5.7. JQuery Framework

3.5.7.1. Introducción
jQuery es una librería Javascript la cuál agiliza el desarrollo de aplicaciones web, cuya característica
es ser ligera, rápida y concisa, pues simplifica el desarrollo para documentos HTML, facilitando el
manejo de eventos, la creación de animaciones y las interacciones vía Ajax.

Creada inicialmente por John Resig.

jQuery es software libre y de código abierto.

Se puede usar en proyectos tanto públicos como privados pues posee Licencia MIT y la Licencia
Pública General de GNU v2.

jQuery facilita la generación de un código más limpio, separando el comportamiento del contenido
(Javascript no obstrusivo).

3.5.7.2. Características Fundamentales


Las características fundamentales del framework son:

 Selección de elementos DOM.


 Eventos.
 Manipulación de la hoja de estilos CSS.

19
 Efectos y animaciones.
 Animaciones personalizadas.
 Incorpora un módulo de widgets que proporcionan componentes predefinidos y efectos
visuales a la interfaz de usuario: jQuery UI.
 Soporta extensiones.
 Es Cross browser, de modo que está testada en los siguientes navegadores: I.E. 6.0+,
FireFox2+, Safari 2.0+, Opera 9.0+, Chrome.
 Plugable, su funcionalidad se extiende con el uso de plugins además permite la generación
de nuevos plugins.

20
Capítulo 4. Diseño y especificaciones técnicas

4.1. Introducción
A continuación se presentan los diagramas de casos de uso, diagramas de clases, diagramas de
secuencia y esquemas de base de datos realizados previos al inicio del desarrollo del sistema.

Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un


sistema mediante su interacción con los usuarios y otros sistemas. Se utilizan para ilustrar los
requerimientos del sistema al mostrar cómo reacciona a eventos que se producen en su ámbito o
en él mismo.

Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un


sistema mostrando sus clases, orientados a objetos. Detalla la relación entre una y otra, la herencia
de propiedades de otraclase, conjuntos de operaciones y propiedades que son implementadas para
una interfaz gráfica.

Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a


través del tiempo y se modela para cada caso de uso. Mientras que el diagrama de casos de uso
permite el modelado de una vista empresarial del escenario, el diagrama de secuencia contiene
detalles de implementación del escenario, incluyendo los objetos y clases que se usan para
implementar el escenario y mensajes intercambiados entre los objetos.

El esquema de una base de datos describe la estructura de una base de datos, en un lenguaje formal
soportado por un sistema de gestión de base de datos (DBMS). En una base de datos relacional, el
esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada
tabla.El esquema conceptual es una descripción de alto nivel de la estructura de la base de datos,
independiente del software de DBMS que se use para manipularla. Un modelo conceptual es un
lenguaje que se usa para describir esquemas conceptuales. El esquema físico es una descripción de
la implantación de una base de datos en la memoria secundaria; describe las estructuras de
almacenamiento y los métodos usados para tener un acceso efectivo a los datos.

21
4.2. Diagramas de Casos de uso
4.2.1. Casos de uso a nivel general

F1. Módulo de Perfiles

F2. Módulo de Áreas

Administrador

F3. Módulo de Usuarios

F4. Módulo de Pacientes

Paciente
Doctor F5. Módulo de Citas

4.2.2. Casos de uso a detalle:

F1. Módulo de Perfiles

F1.1. Crear nuevo Perfil

F1.2. Actualizar Perfil

F1. Módulo de Perfiles


F1.3. Eliminar Perfil
Administrador

F1.4. Listar Perfiles

F1.5. Exportar Perfiles

22
Detalle:

F1.1. Crear nuevo Perfil

F1.1. Crear nuevo Perfil

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador crear un nuevo perfil.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un
opción de crear un nuevo formulario para el ingreso
perfil. de un nuevo perfil.
3 El usuario llena el E1, E2
formulario con los datos
deseados.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los datos en la base de datos.
datos.

Excepciones:

Código Descripción Alternativa


E1 El nombre del perfil ya está Seleccionar otro nombre de perfil.
asignado en el sistema
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

23
F1.2. Actualizar Perfil

F1.2. Actualizar Perfil

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador actualizar los datos de un perfil
existente en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un E1
perfil para actualizar sus formulario con la
datos. información del perfil
seleccionado.
3 El usuario actualiza los E2
datos deseados en el
formulario.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los cambios en la base de
cambios. datos.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar datos del perfil. Volver a intentar o comunicarse con un
administrador.
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

24
F1.3. Eliminar Perfil

F1.3. Eliminar Perfil

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador eliminar un perfil registrado en


el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un
perfil para eliminarlo. mensaje para verificar si
el usuario está seguro.
3 El usuario presiona el 4 El sistema elimina el perfil E1
botón para confirmar la de la base de datos.
eliminación.

Excepciones:

Código Descripción Alternativa


E1 Error al eliminar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F1.4. Listar Perfiles

F1.4. Listar Perfiles

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador visualizar un listado de todos los
perfiles registrados en el sistema.

25
Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar perfiles. listado con todos los
perfiles ingresados en el
sistema.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
perfiles de la base de datos. administrador.

F1.5. Exportar Perfiles

F1.5. Exportar Perfiles

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador exportar a formato csv, pdf o
excel el listado de perfiles registrados en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema genera un E1
opción exportar la lista de archivo con el listado de
perfiles en el formato perfiles registrados en el
deseado. sistema en el formato
seleccionado.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
perfiles de la base de datos. administrador.

26
F2. Módulo de Áreas

F2.1. Crear nueva Área

F2.2. Actualizar Área

F2. Módulo de Áreas


F2.3. Eliminar Área
Administrador

F2.4. Listar Áreas

F2.5. Exportar Áreas

Detalle:

F2.1. Crear nueva Área

F2.1. Crear nueva Área

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador crear una nueva área para
clasificación de médicos.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un
opción de crear una formulario para el ingreso
nueva área. de una nueva área.
3 El usuario llena el E1, E2
formulario con los datos
deseados.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los datos en la base de datos.
datos.

27
Excepciones:

Código Descripción Alternativa


E1 El nombre del área ya está Seleccionar otro nombre del área.
asignado en el sistema
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F2.2. Actualizar Área

F2.2. Actualizar Área

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador actualizar un área registrada en


el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un E1
área para actualizar sus formulario con la
datos. información del área
seleccionada.
3 El usuario actualiza los E2
datos deseados en el
formulario.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los cambios en la base de
cambios. datos.

28
Excepciones:

Código Descripción Alternativa


E1 Error al cargar datos del área. Volver a intentar o comunicarse con un
administrador.
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F2.3. Eliminar Área

F2.3. Eliminar Área

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador eliminar un área registrada en el


sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un
área para eliminarla. mensaje para verificar si
el usuario está seguro.
3 El usuario presiona el 4 El sistema elimina el área E1
botón para confirmar la de la base de datos.
eliminación.

Excepciones:

Código Descripción Alternativa


E1 Error al eliminar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

29
F2.4. Listar Áreas

F2.4. Listar Áreas

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador visualizar un listado de todas las
áreas registradas en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar áreas. listado con todas las
áreas ingresadas en el
sistema.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las Volver a intentar o comunicarse con un
áreas de la base de datos. administrador.

F2.5. Exportar Áreas

F2.5. Exportar Áreas

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador exportar a formato csv, pdf o
excel el listado de áreas registradas en el sistema.

30
Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema genera un E1
opción exportar la lista de archivo con el listado de
áreas en el formato áreas registrados en el
deseado. sistema en el formato
seleccionado.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las Volver a intentar o comunicarse con un
áreasde la base de datos. administrador.

F3. Módulo de Usuarios

F3.1. Crear nuevo Usuario

F3.2. Actualizar Usuario

Doctor

F3. Módulo de Usuarios F3.3. Eliminar Usuario


Administrador

F3.4. Listar Usuarios

F3.5. Exportar Usuarios

Detalle:

F3.1. Crear nuevo usuario

F3.1. Crear nuevo Usuario

Administrador

Actores:

Administrador

31
Descripción:

Este proceso le permite a un usuario de tipo administrador crear un nuevo usuario del
sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un
opción de crear un nuevo formulario para el ingreso
usuario. de un nuevo usuario.
3 El usuario llena el E1,E2
formulario con los datos
deseados.
4 El usuario presiona el 5 El sistema guarda los E2
botón para guardar los datos en la base de datos.
datos.

Excepciones:

Código Descripción Alternativa


E1 El nick de usuario ya está asignado Seleccionar otro nick para el usuario.
en el sistema.
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F3.2. Actualizar Usuario

F3.2. Actualizar Usuario

Administrador Doctor

Actores:

Administrador, Doctor

Descripción:

Este proceso le permite a un usuario de tipo administrador actualizar los datos de un


usuario registrado en el sistema, o a un usuario de tipo doctor actualizar sus propios datos.

32
Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un E1
usuario para actualizar formulario con la
sus datos. información del usuario
seleccionado.
3 El usuario actualiza los E2
datos deseados en el
formulario.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los cambios en la base de
cambios. datos.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar datos del usuario. Volver a intentar o comunicarse con un
administrador.
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F3.3. Eliminar Usuario

F3.3. Eliminar Usuario

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador eliminar un usuario registrado


en el sistema.

33
Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un
usuario para eliminarlo. mensaje para verificar si
el usuario está seguro.
3 El usuario presiona el 4 El sistema elimina el E1
botón para confirmar la usuario de la base de
eliminación. datos.

Excepciones:

Código Descripción Alternativa


E1 Error al eliminar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F3.4. Listar Usuarios

F3.4. Listar Usuarios

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador visualizar un listado de todos los
usuarios registrados en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar usuarios. listado con todos los
usuarios ingresados en el
sistema.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
usuarios de la base de datos. administrador.

34
F3.5. Exportar Usuarios

F3.5. Exportar Usuarios

Administrador

Actores:

Administrador

Descripción:

Este proceso le permite a un usuario de tipo administrador exportar a formato csv, pdf o
excel el listado de usuarios registrados en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema genera un E1
opción exportar la lista de archivo con el listado de
usuarios en el formato usuarios registrados en el
deseado. sistema en el formato
seleccionado.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
usuarios de la base de datos. administrador.

35
F4. Módulo de Pacientes

Paciente

Doctor

Detalle:

F4.1. Crear nuevo Paciente

F4.1. Crear nuevo Paciente

Doctor Paciente

Actores:

Doctor, Paciente

Descripción:

Este proceso le permite a un usuario de tipo doctor crear un nuevo paciente en el sistema.
El paciente también puede crearse un registro en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un
opción de crear un nuevo formulario para el ingreso
paciente. de un nuevo paciente.
3 El usuario llena el E1, E2
formulario con los datos
deseados.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los datos en la base de datos.
datos.

36
Excepciones:

Código Descripción Alternativa


E1 El nombre email ingresado está Seleccionar otro email o seleccionar
siendo utilizado en el sistema olvidó su contraseña.
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F4.2. Actualizar Paciente

F4.2. Actualizar Paciente

Doctor
Paciente

Actores:

Doctor, Paciente

Descripción:

Este proceso le permite a un usuario de tipo doctor actualizar los datos de un paciente, o a
un usuario de tipo paciente actualizar sus propios datos.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un E1
paciente para actualizar formulario con la
sus datos. información del paciente
seleccionado.
3 El usuario actualiza los E2
datos deseados en el
formulario.
4 El usuario presiona el 5 El sistema guarda los E3
botón para guardar los cambios en la base de
cambios. datos.

37
Excepciones:

Código Descripción Alternativa


E1 Error al cargar datos del paciente. Volver a intentar o comunicarse con un
administrador.
E2 Faltan datos obligatorios en el Llenar todos los datos obligatorios del
formulario. formulario.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F4.3. Eliminar Paciente

F4.3. Eliminar Paciente

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor eliminar el registro de un paciente


registrado en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona un 2 El sistema despliega un
paciente para eliminarlo. mensaje para verificar si
el usuario está seguro.
3 El usuario presiona el 4 El sistema elimina el E1
botón para confirmar la paciente de la base de
eliminación. datos.

Excepciones:

Código Descripción Alternativa


E1 Error al eliminar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

38
F4.4. Listar Pacientes

F4.4. Listar Pacientes

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor visualizar un listado de los pacientes
registrados en el sistema.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar listado con todos los
pacientes. pacientes ingresados en
el sistema.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
pacientes de la base de datos. administrador.

F4.5. Exportar Pacientes

F4.5. Exportar Pacientes

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor exportar a formato csv, pdf o excel el
listado de pacientes registrados en el sistema.

39
Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema genera un E1
opción exportar la lista de archivo con el listado de
pacientes en el formato pacientes registrados en
deseado. el sistema en el formato
seleccionado.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
pacientes de la base de datos. administrador.

F5. Módulo de Citas

F5.1. Crear nueva Cita

F5.2. Asignar Cita


Doctor

F5.3. Solicitar Cita

F5. Módulo de Citas F5.4. Aprobar Cita

Paciente
F5.5. Anular Cita

F5.6. Cancelar Cita

F5.7. Ver Citas

F5.8. Realizar Segumiento


de Citas

40
Detalle:

F5.1. Crear nueva Cita

F5.1. Crear nueva Cita

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor, crear una cita en el calendario con la
disponibilidad de su tiempo

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega una
opción de asignar fechas pantalla con un
a horario. calendario.
3 El usuario selecciona una 4 El sistema pregunta la
fecha en la que desea hora de inicio de la cita.
crear una cita disponible.
5 El usuario ingresa la hora 6 El sistema pregunta la E1, E2
de inicio de la cita y hora de finalización de la
presiona aceptar. cita.
6 El usuario ingresa la hora 7 El sistema guarda la E3, E4, E5
de finalización de la cita y información de la cita en
presiona aceptar. la base de datos.

Excepciones:

Código Descripción Alternativa


E1 El campo de la hora de inicio está Ingresar una hora válida.
vacío.
E2 El campo de la hora de inicio tiene Ingresar una hora válida.
un formato no válido.
E3 El campo de la hora de finalización Ingresar una hora válida.
está vacío.
E4 El campo de la hora de inicio tiene Ingresar una hora válida.
un formato no válido.
E5 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

41
F5.2. Asignar Cita

F5.2. Asignar Cita

Doctor Paciente

Actores:

Doctor, Paciente

Descripción:

Este proceso le permite a un usuario de tipo doctor asignar a un paciente una cita
previamente creada. Un paciente también puede asignarse una cita a sí mismo.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de asignar citas a listado de los pacientes
pacientes registrados en el sistema.
3 El usuario selecciona el 4 El sistema me despliega E2
paciente al que desea un calendario con las
asignar la cita. citas disponibles.
5 El usuario selecciona la 5 El sistema asigna la cita E3
cita que desea asignar. seleccionada al usuario
seleccionado y guarda la
información en la base de
datos.
6 El sistema envía un E4
correo electrónico al
doctor y al paciente con
la información de la cita.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de los Volver a intentar o comunicarse con un
pacientes de la base de datos. administrador.
E2 Error al cargar los datos de las citas Volver a intentar o comunicarse con un
de la base de datos. administrador.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.
E4 Error al enviar correo electrónico Verificar datos del servidor de correos
de confirmación. electrónicos.

42
F5.3. Solicitar Cita

F5.3. Solicitar Cita

Paciente

Actores:

Paciente

Descripción:

Este proceso le permite a un usuario de tipo paciente solicitar la creación de una cita en un
horario deseado.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema muestra un
opción de solicitar cita formulario para la
para un horario no solicitud de una cita.
existente.
3 El usuario llena los datos E1, E2
del formulario junto con
la hora en la cual desea
hacer la cita.
4 El usuario presiona el 5 El sistema guarda la E3
botón para guardar la información en la base de
información. datos.

Excepciones:

Código Descripción Alternativa


E1 Algún campo del formulario está Llenar completamente los datos
vacío. requeridos por el formulario.
E2 El campo de la hora de inicio tiene Ingresar una hora válida.
un formato no válido.
E3 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

43
F5.4. Aprobar Cita

F5.4. Aprobar Cita

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor aprobar citas solicitadas por un
paciente.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de visualizar las listado de todas las citas
citas en cola. en cola por aprobarse
registradas en el sistema.
2 El usuario selecciona la
cita que desea aprobar.
3 El usuario ingresa la hora E2, E3
de finalización de la cita
solicitada.
4 El usuario presiona el 5 El sistema guarda la E4
botón para guardar y información en la base de
aprobar la cita. datos.
6 El sistema envía un E5
correo electrónico al
doctor y al paciente con
la información de la cita.

44
Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las citas Volver a intentar o comunicarse con un
en cola de la base de datos. administrador.
E2 El campo de la hora está vacío. Ingresar un valor válido para el campo de
hora.
E3 El campo de la hora tiene un Ingresar un valor válido para el campo de
formato no válido. hora.
E4 Error al guardar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.
E5 Error al enviar correo electrónico Verificar datos del servidor de correos
de confirmación. electrónicos.

F5.5. Anular Cita

F5.5. Anular Cita

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor anular una cita registrada en el sistema
y que esté asociada al mismo.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar las citas listado con la información
existentes en el sistema. de las citas registradas en
el sistema.
3 El usuario selecciona la 4 El sistema muestra un
cita que desea anular. mensaje de confirmación.
5 El usuario presiona 6 El sistema cambia de E2
aceptar. estado a la cita a anulado.

45
Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las citas Volver a intentar o comunicarse con un
de la base de datos. administrador.
E2 Error al actualizar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

F5.6. Cancelar Cita

F5.6. Cancelar Cita

Paciente

Actores:

Paciente

Descripción:

Este proceso le permite a un usuario de tipo paciente anular una cita registrada en el
sistema y que esté asociada al mismo.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar las citas listado con la información
existentes en el sistema. de las citas registradas en
el sistema.
3 El usuario selecciona la 4 El sistema muestra un
cita que desea cancelar. mensaje de confirmación.
5 El usuario presiona 6 El sistema cambia de E2
aceptar. estado a la cita a
cancelado.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las citas Volver a intentar o comunicarse con un
de la base de datos. administrador.
E2 Error al actualizar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

46
F5.7. Ver Citas

F5.7. Ver Citas

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor o de tipo paciente visualizar un listado
de citas que tienen asignadas.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar las citas listado con la información
existentes en el sistema. de las citas registradas en
el sistema.

Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las citas Volver a intentar o comunicarse con un
de la base de datos. administrador.

F5.8. Realizar Seguimiento de Citas

F5.8. Realizar Segumiento de Citas

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor ir llenando los datos de la cita como
hora de llegada, duración de la cita y observaciones de la misma.

47
Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona la 2 El sistema despliega un E1
opción de listar las citas listado con la información
existentes en el sistema. de las citas registradas en
el sistema.
3 El usuario selecciona la 4 El sistema despliega los E2
cita que desea hacer el datos de la cita.
seguimiento.
5 El sistema muestra una
ventana para el ingreso
de la hora de inicio de la
cita.
6 El usuario llena los datos
de inicio de la cita.
7 El usuario presiona el 8 El sistema guarda la E3
botón de aceptar. información en la base de
datos.
9 El usuario presiona el 9 El sistema muestra una
botón de finaliza. ventana para el ingreso
de la hora de finalización
de la cita.
10 El usuario llena los datos
de finalización de la cita.

11 El usuario presiona el 12 El sistema guarda la E3


botón de aceptar. información en la base de
datos.
13 El sistema muestra una
ventana para el ingreso
de observaciones de la
cita.
14 El usuario llena los datos
de observaciones de la
cita.
15 El usuario presiona el 16 El sistema guarda la E3
botón de aceptar. información en la base de
datos.

48
Excepciones:

Código Descripción Alternativa


E1 Error al cargar los datos de las citas Volver a intentar o comunicarse con un
de la base de datos. administrador.
E2 Error al cargar los datos de la cita Volver a intentar o comunicarse con un
seleccionada de la base de datos. administrador.
E3 Error al actualizar la información en Volver a intentar o comunicarse con un
la base de datos. administrador.

F5.9. Eliminar Citas en Cola

F5.9. Eliminar Citas en Cola

Doctor

Actores:

Doctor

Descripción:

Este proceso le permite a un usuario de tipo doctor eliminar citas que aún no estén
aprobadas.

Flujo Principal:

Paso Actor Paso Sistema Excepciones


1 El usuario selecciona una 2 El sistema despliega un
cita para eliminarla. mensaje para verificar si
el usuario está seguro.
3 El usuario presiona el 4 El sistema elimina la cita E1
botón para confirmar la en cola de la base de
eliminación. datos.

Excepciones:

Código Descripción Alternativa


E1 Error al eliminar la información en Intentar más tarde o comunicarse con un
la base de datos. administrador.

49
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera
4.3. Diagramas de Clase
50
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4. Diagramas de Secuencia.


4.4.1. Módulo de perfiles

4.4.1.1. Crear nuevo Perfil

4.4.1.2. Actualizar Perfil


views/perfiles views/perfil Controller_Perfil Model_Perfil

Administrador

Seleccionar perfil para actualizar Solicita formul ario de ingreso de datos


de perfil
Llama a la función find(id)

retorna datos de perfil o false


Despliega el formulario
Actualiza datos del perfil
Preciona botón de guardar
Validación del lado del cliente

Envía datos al controlador

Si hay e rror muestra mensajes


Validaci ón del lado del servidor

Llama a la función save()


Si hay error muestra mensajes
retorna true/false

Muestra mensaje de éxito o error

51
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.1.3. Eliminar Perfil

4.4.1.4. Listar Perfiles

views/perfiles Controller_Perfil Model_Perfil

Administrador

Ingresa a la administración de perfiles


Solicita listado de Perfiles

Llama a la función find all()

retorna datos de perfiles o false

Despliega listado de perfiles

Si hay error muestra mensajes

4.4.1.5. Exportar Perfiles

Administrador
Slecciona exportar perfiles en el formato
deseado
Solicita archivo con listado de perfiles
Llama a la función find all()

retorna datos o false


retorna archivo con listado de perfiles en el formato
deseado

archivo exportado

52
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.2. Módulo de Áreas

4.4.2.1. Crear nueva Área

4.4.2.2. Actualizar Área

53
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.2.3. Eliminar Área

views/areas Controller_Area Model_Area

Administrador

Seleccionar área para eliminar


Solicita eliminar el área seleccionada
llama a la función delete()

Retorna true o false


Muestra mensaje de éxito o de error

4.4.2.4. Listar Áreas

4.4.2.5. Exportar Áreas

54
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.3. Módulo de Usuarios

4.4.3.1. Crear nuevo Usuario

or

4.4.3.2. Actualizar Usuario

55
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.3.3. Eliminar Usuario

4.4.3.4. Listar Usuarios


views/usuarios Controller_Usuario Model_Usuario

Administrador

Ingresa a la administración de usuarios


Solicita listado de usuarios
Llama a la función find all()

Retorna datos de usuarios o false


Despliega listado de usuarios

Si hay error muestra mensajes

4.4.3.5. Exportar Usuarios


views/usuarios Controller_Usuario Model_Usuario

Administrador

Seleccionar usuarios en el formao deseado


Solicita archivo con listado de usuarios
Llama a la función find all()

Retorna archivo con listado de usuarios en el


Retorna datos de usuarios o false
formato deseado

Si hay errores muestra mensaje


archivo exportado

56
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.4. Módulo de Pacientes

4.44.1. Crear nuevo Paciente

4.4.4.2. Actualizar Paciente

57
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.4.3. Eliminar Paciente


views/pacientes Controller_Paciente Model_Paciente

Doctor

Seleccionar paciente para eliminar


Solicita eliminar paciente seleccionado
Llama a la función delete()

Retorna true o false


Muestra mensaje de éxito o de error

4.4.4.4. Listar Pacientes

4.4.4.5. Exportar Pacientes


views/pacientes Controller_Paciente Model_Paciente

Doctor
Seleccionar exportar pacientes en el
formato deseado
Solicita archivo con listado de pacientes
Retorn rchivo con listado de pacientes en el Llama a la función find all()
formato deseado
Retorna datos de pacientes o false
archivo exportado

Si hay errores muestra mensaje

58
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.5. Módulo de Citas

4.4.5.1. Crear nueva Cita


views/menuCita views/horario Controller_Horario Model_Cita

Doctor
Selecciona asignar fechas a calendario Solic ita desplegar calendario con citas
ya creadas
Llama a la función find all()

Retorna datos de Citas o false


Selecciona fecha donde desea agregar la
cita Despliega calendario con citas creadas

Muestra prompt para ingreso de hora de


inicio
Ingresa hora de inici o

Muestra prompt para ingreso de hora de


finalización
Ingresa hora de finaliza ción Envía datos al controlador

Validación del lado de servidor

Llama a la función save()


Si hay error muestra mensaje

Retorna true o false

Muestra mensaje de éxito o error

4.4.5.2. Asignar Cita

59
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.5.3. Solicitar Cita

4.4.5.4. Aprobar Cita


views/listadoCola Controller_Cita Model_Cola Model_Cita

Doctor

Selecciona abrobar citas


Solicita listado de citas en cola
Llama a find all()

Retorna datos o false

Despliega lista de citas en cola

Selecciona cita que desea aprobar Envía datos al servidor


Llama a save()

Retorna true o false

Llama a delete()

Retorna true o false


Muestra mensaje de éxito o error

60
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.5.5. Anular Cita

4.4.5.6. Cancelar Cita

61
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera

4.4.5.7. Ver Citas

4.4.5.8. Realizar Seguimiento de Citas


views/menuCita views/seguimientoCitas Controller_Cita Model_Cita

Doctor
Selecciona seguimiento citas
Solicita calendario con citas pendientes
Llama a find all()

Retorna datos o false


Despliega calendario con citas pendientes
Selecciona cita a la que realizará
seguimiento Despliega datos de cita

Despliega campo para ingreso de inicio de


cita

Ingresa hora de inic io de cita


Envía datos al controlador
Preciona guar dar Llama a save()

Retorna true o false


Despliega campo para ingreso de fin de
cita
Ingresa hora de fin de cita

Preciona guar dar Envía datos al controlador


Llama a save()

Retorna true o false


Despliega campo para ingreso de
observaciones de cita
Ingresa observacion es de cita

Preciona guar dar Envía datos al controlador


Llama a save()

Retorna true o false

Despliega mensaje de éxito o error

62
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera
4.5. Desarrollo de la capa modelo
4.5.1 Diseño Conceptual de la Base de Datos
Time
Time

Time
Text
cedula_paciente
63
DESARROLLO DE UN SISTEMA WEB DE CONTROL DE CITAS, PARA UN HOSPITAL DEL DÍA Marcelo Aguilera
4.5.2 Diseño Físico de la Base de Datos
64
Capítulo 5. Desarrollo del sistema

5.4. Manual de Usuario


5.4.1. Interfaz de pacientes

5.4.1.1. Ingreso al sistema

En la pantalla principal el paciente debe ingresar su nombre de usuario y clave de acceso en los
campos presentados y luego presionar el botón "Validarse para entrar". En caso de no tener una
cuenta creada el paciente puede presionar el botón de "Registrarse" que le llevará al paso 1.3.

5.4.1.2. Asignación de citas

Una vez ingresado, el paciente podrá asignarse una cita. Primero deberá seleccionar el área de
especialidad en que desea la cita.

65
El sistema desplegará un listado de doctores que pertenezcan a esa área. El paciente deberá
seleccionar el doctor de su predilección.

El sistema desplegará un campo para la selección de la fecha de la cita, una vez ingresado este valor
el paciente debe presionar el botón "Buscar Horario". El sistema desplegará un listado de horarios
para la fecha seleccionada. En caso de no existir un horario deseado disponible, el paciente podrá
ingresar un horario y presionar el botón "Enviar" para solicitarlo.

66
5.4.1.3. Creación de perfil

En caso de no poseer una cuenta, un paciente podrá crear su propio perfil con esta opción. El sistema
desplegará un formulario para el ingreso de datos del paciente. Una vez completo el formulario el
paciente deberá presionar el botón "Registrarse" para que el sistema cree su perfil.

5.4.1.4. Actualización del perfil

67
Un paciente podrá actualizar algunos de los datos de su perfil así como cambiar su contraseña. Para
guardar los cambios realizados en su perfil el usuario deberá presionar el botón de "Actualizar" una
vez completo el formulario. En esta pantalla el paciente también podrá visualizar las citas que tiene
asignadas y las podrá cancelar en caso de no desearlas.

5.4.2. Interfaz de doctores

5.4.2.1. Ingreso al sistema

En la pantalla de ingreso de usuarios el doctor debe proveer al sistema su nombre de usuario y clave
de acceso y luego presionar el botón "Validarse para entrar".

5.4.2.2. Datos de usuario

El doctor puede visualizar sus datos en esta pantalla. También los puede exportar en tres formatos;
csv, Excel y pdf. El doctor tiene la opción de editar sus datos presionando el lápiz que se encuentra
en la tabla y será llevado a la opción 2.2.1.

68
5.4.2.2.1. Actualización de datos de usuario

El doctor puede actualizar sus datos mediante este formulario, una vez finalizados los cambios debe
presionar el botón de "Actualizar usuario".

5.4.2.3. Administración de pacientes

Un doctor tiene la opción de administrar los pacientes registrados en el sistema. En la pantalla


principal se muestra un listado de los pacientes donde el doctor tiene la opción de exportarlos a tres
formatos; csv, Excel y pdf. El doctor también puede crear nuevos pacientes (2.3.1.), actualizarlos
(2.3.2.) o eliminarlos.

69
5.4.2.3.1. Crear nuevo paciente

Para crear un nuevo paciente el doctor debe llenar el formulario presentado por el sistema con los
datos del paciente. Luego el doctor deberá presionar el botón "Crear Paciente" para que los datos
sean guardados.

5.4.2.3.2. Actualización de datos de paciente

70
Para actualizar un paciente el doctor debe llenar el formulario presentado por el sistema con los
datos que desee cambiar del paciente. Luego el doctor deberá presionar el botón "Actualizar
Paciente" para que los datos sean guardados.

5.4.2.4.Administración de citas

En la administración de citas el doctor podrá crear, asignar, visualizar y hacer seguimiento de citas
haciendo uso del menú que esta pantalla presenta.

5.4.2.4.1. Asignación de fechas a horario

El sistema despliega una pantalla con un calendario interactivo donde el doctor puede seleccionar
un día e indicar los horarios en los que podrá atender en dicha fecha.

71
5.4.2.4.2. Visualización de citas

El sistema muestra una pantalla con un calendario donde el doctor puede visualizar la información
de las citas que tiene asignadas.

5.4.2.4.3. Asignación de citas a pacientes

Tras crear horarios disponibles el doctor puede asignarlos a los pacientes registrados en el
sistema. El doctor debe seleccionar el paciente al que le va a asignar la cita.

72
Luego deberá seleccionar un horario disponible y el sistema asignará ese horario al paciente
seleccionado.

5.4.2.4.4. Seguimiento de citas

Un doctor podrá hacer seguimiento de citas y actualizar sus datos. Al seleccionar en el calendario
mostrado la cita el doctor podrá indicar la hora de llegada del paciente y la duración de la misma.

73
5.4.2.5. Administración de pacientes en cola

El doctor podrá aprobar peticiones de citas en horarios no especificados en el calendario. Una vez
aprobada la cita se creará automáticamente en el sistema y podrá ser vista en el calendario.

5.4.3. Interfaz de administradores

5.4.3.1. Ingreso al sistema

En la pantalla de ingreso de usuarios el administrador debe proveer al sistema su nombre de


usuario y clave de acceso y luego presionar el botón "Validarse para entrar".

74
5.4.3.2. Administración de usuarios

Un administrador tiene la opción de administrar los usuarios registrados en el sistema. En la pantalla


principal se muestra un listado de los usuarios donde el administrador tiene la opción de exportarlos
a tres formatos; csv, Excel y pdf. El administrador también puede crear nuevos usuarios (2.3.1.),
actualizarlos (2.3.2.) o eliminarlos.

5.4.3.2.1. Crear nuevo usuario

Para crear un nuevo usuario el administrador debe llenar el formulario presentado por el sistema
con los datos del usuario. Luego el doctor deberá presionar el botón "Crear Usuario" para que los
datos sean guardados.

75
5.4.3.2.2. Actualizar datos de usuario

Para actualizar un usuario el administrador debe llenar el formulario presentado por el sistema con
los datos que desee cambiar del usuario. Luego el administrador deberá presionar el botón
"Actualizar usuario" para que los datos sean guardados.

5.4.3.2.3. Agendar citas a usuario

El administrador puede asignar citas a los pacientes registrados en el sistema. El administrador debe
seleccionar el paciente al que le va a asignar la cita.

76
Luego deberá seleccionar un horario disponible y el sistema asignará ese horario al paciente
seleccionado.

5.4.3.3.Administración de perfiles

Un administrador tiene la opción de administrar los perfiles registrados en el sistema. En la pantalla


principal se muestra un listado de los perfiles donde el administrador tiene la opción de exportarlos
a tres formatos; csv, Excel y pdf. El administrador también puede crear nuevos perfiles (3.3.1.),
actualizarlos (3.3.2.) o eliminarlos.

77
5.4.3.3.1. Crear nuevo perfil

Para crear un nuevo perfil el administrador debe llenar el formulario presentado por el sistema con
los datos del perfil. Luego deberá presionar el botón "Crear Perfil" para que los datos sean
guardados.

5.4.3.3.2. Actualizar perfil

Para actualizar un perfil el administrador debe llenar el formulario presentado por el sistema con
los datos que desee cambiar. Luego el administrador deberá presionar el botón "Actualizar Perfil"
para que los datos sean guardados.

78
5.4.3.4.Administración de pacientes

Un administrador tiene la opción de administrar los pacientes registrados en el sistema. En la


pantalla principal se muestra un listado de los pacientes donde el administrador tiene la opción de
exportarlos a tres formatos; csv, Excel y pdf. El administrador también puede crear nuevos pacientes
(3.4.1.), actualizarlos (3.4.2.) o eliminarlos.

5.4.3.4.1. Crear nuevo paciente

Para crear un nuevo paciente el administrador debe llenar el formulario presentado por el sistema
con los datos del paciente. Luego deberá presionar el botón "Crear Paciente" para que los datos
sean guardados.

79
5.4.3.4.2. Actualización de datos de paciente

Para actualizar un paciente el administrador debe llenar el formulario presentado por el sistema con
los datos que desee cambiar. Luego el administrador deberá presionar el botón "Actualizar
Paciente" para que los datos sean guardados.

5.4.3.5. Administración de áreas

Un administrador tiene la opción de administrar las áreas registradas en el sistema. En la pantalla


principal se muestra un listado de áreas donde el administrador tiene la opción de exportarlas a tres
formatos; csv, Excel y pdf. El administrador también puede crear nuevas áreas (3.5.1.), actualizarlas
(3.5.2.) o eliminarlas.

80
5.4.3.5.1. Crear nueva área

Para crear una nueva área el administrador debe llenar el formulario presentado por el sistema con
los datos del área. Luego deberá presionar el botón "Crear Área" para que los datos sean guardados.

5.4.3.5.2. Actualizar datos de área

Para actualizar un área el administrador debe llenar el formulario presentado por el sistema con los
datos que desee cambiar. Luego el administrador deberá presionar el botón "Actualizar Área" para
que los datos sean guardados.

81
Capítulo 6: Conclusiones y recomendaciones

6.1. Conclusiones
Luego de terminar con el desarrollo del proyecto se concluye lo siguiente:

 Un sistema de citas médicas facilita el proceso de asignación, cancelación y cumplimiento


de citas médicas tanto para médicos como para pacientes, evitando largas colas en
consultorios y esperas en la línea telefónica.
 La utilización de sistemas informáticos dentro de centros de salud y hospitales es
indispensable, hoy en día, debido a las gigantescas cantidades de información que se
manejan. Así mismo, estos sistemas deben contar con altos estándares de seguridad ya que
dicha información puede ser delicada y confidencial.
 Debido a las herramientas utilizadas para el desarrollo del sistema y las tecnologías de alto
nivel, el sistema desarrollado para esta disertación cuenta con los estándares de seguridad
necesarios para un sistema de citas médicas, así como también la facilidad y rapidez de uso.
 El trabajar con un framework como Kohana agilita el proceso de desarrollo de la aplicación
ya que cuenta con una extensa colección de herramientas y librerías para integrarlas con
nuestro sistema. Además que cuenta con una amplia comunidad de desarrolladores que nos
pueden ayudar solventando inquietudes.
 La modularidad del framework utilizado convierte al proyecto en un sistema escalable
donde futuros desarrolladores podrán seguir implementando funcionalidades sin afectar a
lo previamente realizado.
 El sistema brinda un servicio al paciente de alta calidad, donde él se podrá sentir seguro y
le facilitará mucho el proceso de petición de citas médicas. Le ahorrará el tiempo que le
tomaría esperando en la línea telefónica hasta que le asignen una cita o acercándose hasta
el consultorio médico directamente.
 La metodología que apliqué en este proyecto es Extreme Programming, la cual es una
disciplina para el desarrollo de software basada en los valores de simpleza, comunicación,
retroalimentación y compromiso. A mi parecer no existe una metodología universal para
hacer frente con éxito a cualquier proyecto de desarrollo de software. Toda metodología
debe ser adaptada al contexto del proyecto (recursos técnicos y humanos, tiempo de
desarrollo, tipo de sistema, etc.)

6.2. Recomendaciones
 El sistema debe ser administrado con responsabilidad ya que la información que va a
contener es confidencial. A pesar de que el sistema cuenta con altos estándares de
seguridad, las personas que tengan acceso al sitio como administradores deberán ser muy
prudentes al respecto.

82
 El sistema debe ser utilizado como apoyo del médico para la asignación de citas médicas y
sincronizarlo con las citas que se realicen por teléfono o presencialmente. Esto para evitar
solapamiento de horarios.
 Para que el sistema opere en óptimas condiciones debe ser alojado en un servidor
Linux (de preferencia Debian por su velocidad de procesamiento y seguridad) con
versión de PHP 5.3 y motor de base de datos MySQL 5.
 Hoy en día se deberían implementar soluciones de este tipo para otros servicios médicos
como por ejemplo en laboratorios.
 Los médicos deben aprovechar la herramienta para organizar horarios y tiempos para la
atención de pacientes, esto les facilitaría el trabajo a ellos y les ahorraría tiempo a sus
pacientes.

83
Bibliografía

 Alegsa (2010). Disponible en http://www.alegsa.com.ar/Dic/framework.php


 Arume. Jose (2012). Disponible en http://www.arumeinformatica.es/blog/introduccion-a-
jquery/
 Álvarez. Miguel Ángel(2008). Disponible en
http://www.desarrolloweb.com/articulos/listado-distintos-framework-javascript.html
 Chávez .MallelinBolufe (201). Disponible en
http://www.monografias.com/trabajos70/frameworks-desarrollo-aplicaciones-
php/frameworks-desarrollo-aplicaciones-php.shtml
 Club Ensayos (2012). Disponible en http://clubensayos.com/Temas-Variados/JAVA-SCRIPT-
VENTAJAS-Y-DESVENTAJAS/222066.html
 Escuela de Ingeniería de Sistemas y Computación
Ciudad Universitaria Meléndez (2012), disponible en
http://eisc.univalle.edu.co/materias/WWW/material/lecturas/xp.pdf
 Giacolone, V.(2000). Scheduling for practice success. Administrative Eye Care
 Gutiérrez . Javier J. Disponible en
http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
 Hospital Regional de Alta Especialidad del Bajío (2012), disponible en
http://www.hraeb.salud.gob.mx/lateral/preguntas/preguntas_frecuentes.html
 Juan Sanjuan,Miguel M. Disponible enhttp://es.scribd.com/doc/76381334/XAMPP
 MATPEC Soluciones Web, disponible en http://www.matpec.com.ar/desde0/desde0-6-
introduccion.htm
 Meza Martínez. Jorge Iván (2008). Disponible en
http://www.slideshare.net/jimezam/introduccin-a-kohana-framework
 Sánchez Suárez. JoséManuel(2010). Disponible en
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jQueryIntro
 Slideshare (2010) Disponible en http://www.slideshare.net/aitorgr/por-que-usar-
frameworks-javascript
 Tejero Álvaez, Mercedes (2004). DOCUMENTACIÓN CLÍNICA Y ARCHIVO, Ediciones Díaz de
Santos S.A Normativa de uso y ordenación de la Historia Clínica del Hospital de la Santa
Creu i Sant Pau. Barcelona, 1993
 Wikipedia (2013), disponible en http://es.wikipedia.org/wiki/Script
 Wikipedia (2013). Disponible en http://es.wikipedia.org/wiki/Framework
 http://www.compensar.com/salud/citmed_pos.aspx
 http://php.net/manual/es/security.intro.php
 http://php.net/manual/es/history.php.php
 http://myu-charly.blogspot.com/
 http://dev.mysql.com/doc/refman/5.0/es/features.html
 http://jquery.com/

84

También podría gustarte