Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Residencia profesional saga medica
1. INSTITUTO TECNOLÓGICO DE
TAPACHULA
CARRERA:
ING. EN SISTEMAS COMPUTACIONALES
LUGAR DE RESIDENCIA:
SANATORIO SANTA ISABEL
PROYECTO DE RESIDENCIA:
“SISTEMA DE AGENDA Y ADMINISTRACIÓN
MÉDICA SAGA-MÉDICA”
RESIDENTE:
09510197 EXAL ALEJANDRO SAENZ MATUZ
ASESOR ACADÉMICO ASESOR EXTERNO
Tapachula,Chiapas,Junio de 2013
ING. ROBERTO DE JESÚS
AGUILAR DILLMANN
DR. OSCAR GURRÍA PENAGOS
2. RESIDENCIA PROFESIONAL
ÍNDICE DE FIGURAS
Figura 1- Organigrama del sanatorio Santa Isabel................................................................7
Figura 2- Macrolocalización del Sanatorio Santa Isabel .......................................................8
Figura 3- Microlocalización del Sanatorio Santa Isabel.........................................................9
Figura 4- Plano del sanatorio .................................................................................................9
Figura 5- Modelo general de un sistema..............................................................................13
Figura 6- Representación de los casos de uso....................................................................17
Figura 7- Implementación del Patrón Singleton en PHP5 ...................................................22
Figura 8- Implementación de PDO en PHP 5......................................................................26
Figura 9- Diagrama de Casos de uso General ....................................................................33
Figura 10- Arquitectura del sistema.....................................................................................35
Figura 11- Patrón MVC.........................................................................................................36
Figura 12- Diagrama de clases de SAGA Médica...............................................................37
Figura 13- Modelo Relacional de SAGA Médica .................................................................38
Figura 14- Página de inicio de sesión..................................................................................39
Figura 15- Página principal...................................................................................................40
Figura 16- Página de catálogos ...........................................................................................40
Figura 17- Almacenamiento de los catálogos......................................................................41
3. RESIDENCIA PROFESIONAL
ÍNDICE
INTRODUCCIÓN .................................................................................................................1
CAPITULO 1. DESCRIPCIÓN DEL PROYECTO..........................................................2
1.1. Objetivos ...............................................................................................................3
1.1.1. Objetivo General ............................................................................................3
1.1.2. Objetivos Específicos....................................................................................3
1.2. Problemas a Resolver........................................................................................3
1.3. Justificación .........................................................................................................4
1.4. Alcances y Limitaciones del proyecto ..........................................................4
1.4.1. Alcances ..........................................................................................................4
1.4.2. Limitaciones....................................................................................................5
CAPITULO 2. DATOS GENERALES DE LA EMPRESA............................................6
2.1. Nombre o Razón Social.....................................................................................7
2.2. Descripción del Área de Trabajo ....................................................................7
2.3. Organigrama de la Empresa ............................................................................7
2.4. Misión de la Empresa.........................................................................................7
2.5. Macro y Micro Localización..............................................................................8
2.5.1. Macrolocalización...........................................................................................8
2.5.2. Microlocalización............................................................................................8
2.6. Plano del Sanatorio Santa Isabel....................................................................9
2.7. Antecedentes Generales de la Institución .................................................10
CAPITULO 3. FUNDAMENTO TEÓRICO.....................................................................11
3.1. Antecedentes Investigativos..........................................................................12
3.1.1. www.comfama.com .....................................................................................12
3.1.2. www.sanitas.es.............................................................................................12
4. RESIDENCIA PROFESIONAL
3.1.3. www.sat.gob.mx...........................................................................................13
3.2. Concepto de Sistema.......................................................................................13
3.3. Concepto de Sistema de Información .........................................................14
3.4. Categorías de los Sistemas............................................................................14
3.5. Sistemas de Información Estratégicos .......................................................15
3.6. Casos de Uso.....................................................................................................17
3.7. Patrones de Diseño ..........................................................................................19
3.8. Framework..........................................................................................................24
3.9. JQuery..................................................................................................................24
3.10. PDO ...................................................................................................................25
CAPITULO 4. DESCRIPCIÓN DE LAS ACTIVIDADES REALIZADAS..................27
4.1. Análisis de Requisitos .....................................................................................28
4.1.1. Recolección de Información.......................................................................29
4.1.2. Resultados Obtenidos del Análisis de la Información Recolectada ....29
4.1.3. Requerimientos del Sistema ......................................................................30
4.2. Diseño arquitectónico......................................................................................35
4.2.1. Arquitectura del Sistema.............................................................................35
4.2.2. Diseño de Clases.........................................................................................36
4.2.3. Modelo Relacional de la Base de Datos ..................................................38
4.2.4. Diseño de Interfaces....................................................................................39
4.3. Codificación y Prueba......................................................................................42
CAPITULO 5. CONCLUSIONES Y RECOMENDACIONES......................................46
5.1. Conclusiones.....................................................................................................46
5.2. Recomendaciones ............................................................................................47
BIBLIOGRAFÍA .................................................................................................................48
5. RESIDENCIA PROFESIONAL
ANEXOS .............................................................................................................................49
Anexo I Entrevista Para Obtención de Requerimientos ...................................50
Anexo II Muestra Expediente Clínico de Paciente del Sanatorio Santa
Isabel ...............................................................................................................................56
Anexo III Especificación de los Casos de Uso ...................................................59
Anexo IV Diagrama de Secuencias.........................................................................77
Anexo V Diccionario de Datos .................................................................................86
Anexo VI Manual de Usuario ................................................................................. 106
6. RESIDENCIA PROFESIONAL
ACRÓNIMOS
(PDO) PHP Data Objects /Objetos de Datos de PHP.
(PHP) Hypertext Pre-processor / Pre Procesador de Hipertexto.
(SAGA) Sistema de Agenda y Administración Médica.
(SGBD) Sistema Gestor de Base de Datos.
7. RESIDENCIA PROFESIONAL
1
INTRODUCCIÓN
El mundo empresarial es cada vez más complejo, los directivos de las
empresas tienen que acceder a la información con más intensidad y rapidez para la
toma de decisiones. Las instituciones de salud, específicamente los Hospitales y
Sanatorios particulares, son en la actualidad, por la complejidad que han alcanzado,
organizaciones que tienen que ser administrados como cualquier empresa de
envergadura, ameritan el uso de computadoras para manejar grandes volúmenes
de datos en forma compleja, lo que obliga a los administradores a proyectar las
partes de modo que se integren bien entre sí.
Es por ello que el presente trabajo constituye una propuesta para implementar un
Sistema de Información de apoyo en la gestión de citas médicas he historial clínico
de los pacientes del Sanatorio Santa Isabel, para que se desarrollen con suficiente
rapidez y amplitud los procesos de información que satisfagan las necesidades del
área en estudio.
Normalmente los procesos de calendarización de citas médicas se realizan
mediante la utilización de hojas de cálculo, y en otros casos, en hojas de papel, lo
cual resulta tedioso he ineficaz para realizar dicho proceso.
Con lo que respecta al proceso de manejo de historiales clínicos, los datos de cada
paciente son capturados en hojas de Word, y cada historial es clasificado en
carpetas por nombre, lo cual hace lento el proceso de atención a la persona que
está recibiendo consulta médica.
Con el desarrollo de SAGA Médica el control de la información es de mayor calidad,
reduciendo tiempos de búsqueda de datos así como el riesgo de transposición de
citas agendadas.
8. RESIDENCIA PROFESIONAL
2
CAPITULO 1. DESCRIPCIÓN DEL PROYECTO
En este capítulo se presenta la descripción del proyecto “Sistema de Agenda y
Administración Médica – SAGA Médica”, en donde se da a conocer las razones por
la cual se decidió desarrollar la investigación, resaltando los objetivos que se
trazaron en el inicio del proyecto; se da a conocer también los problemas que se
pretenden resolver con la implementación del proyecto, así como los alcances que
se esperan sean alcanzados y las limitantes que podrían perjudicar el desarrollo de
dicho proyecto.
1.1 Objetivos.
1.1.1 Objetivo General.
1.1.2 Objetivos Específicos.
1.2 Problemas a Resolver.
1.3 Justificación.
1.4 Alcances y Limitaciones del Proyecto.
1.4.1 Alcances.
1.4.2 Limitaciones.
9. RESIDENCIA PROFESIONAL
3
1.1. Objetivos
1.1.1. Objetivo General
Sistematizar los procesos de información realizados por el personal del Sanatorio
Santa Isabel, mediante el uso de software.
1.1.2. Objetivos Específicos
Brindar un mejor servicio al paciente.
Acortar el tiempo que transcurre cada cita.
Evitar transposición en la calendarización de citas.
Mejorar la búsqueda del expediente de cada paciente.
Reducir costos de operación (papelería).
1.2. Problemas a Resolver
Actualmente el sanatorio lleva el control de las citas y las recetas médicas que
suministra a sus pacientes mediante el programa informático Word.
Los pasos realizados en cada cita médica son los siguientes:
1. Llenar una ficha de identificación.
2. Vaciar los datos de la ficha en una hoja de Word.
3. Apuntar los datos clínicos del padecimiento actual.
4. Antecedentes clínicos.
5. Exploración física.
6. Estudios de laboratorio de gabinete (análisis clínicos, etc.).
7. Diagnostico.
8. Plan de Tratamiento.
9. Elaboración de la receta correspondiente.
10.Fecha de la próxima cita.
10. RESIDENCIA PROFESIONAL
4
En varias ocasiones han tenido problemas de calendarización, ya que, por descuido,
han antepuesto horarios de dos o más pacientes. Esto es ocasionado por la forma
en que se tiene estructurado cada expediente de los pacientes, ya que están
separados por carpetas, en las que incluye un documento por cada cita y receta
realizada. Otro problema que se presenta en cada una de las citas, es la pérdida de
tiempo valioso, ya que la búsqueda del expediente, del paciente en turno, es
tediosa.
1.3. Justificación
Llevar el control de cada cita y receta médica con herramientas ofimáticas no
siempre es la mejor opción para un profesional de la medicina. Puede llegar a ser
tediosa la utilización de dichas herramientas, ya que no están hechas para llevar
ese tipo de control.
Desarrollar un sistema a la medida que controle las citas médicas, y que administre
cada una de las recetas que se suministren a los pacientes, podría reducir
considerablemente el tiempo que el doctor brinda a cada uno de los pacientes,
mejorando su productividad como profesional.
1.4. Alcances y Limitacionesdelproyecto
1.4.1. Alcances
Los beneficios que conllevará realizar este sistema serán principalmente a los
pacientes, ya que se les ofrecerá un mejor servicio médico, mejorando la rapidez en
cada consulta médica, así también como una mejor administración de sus
expedientes clínicos.
11. RESIDENCIA PROFESIONAL
5
1.4.2. Limitaciones
Los médicos tienen poca familiarización en la utilización de sistemas informáticos;
como ellos mencionan, en lo que lleva de vida profesional, han utilizado únicamente
la suite ofimática Office para realizar trabajos. Al momento de utilizar el nuevo
sistema pueden tener dificultades en su utilización, que se tratará de resolver con la
creación de un manual de usuario.
Otra de las limitaciones que se presentan es el tiempo establecido por el instituto
tecnológico de Tapachula para lograr los alcances establecidos del proyecto, el cual
es limitado, ya que el número de módulos necesarios para tener un sistema que
satisfaga completamente las necesidades de los médicos del Sanatorio Santa
Isabel es considerable.
12. RESIDENCIA PROFESIONAL
6
CAPITULO 2. DATOS GENERALES DE LA EMPRESA
En este capítulo se describen los datos generales de la dependencia denominada
“Sanatorio Santa Isabel” con el objetivo de dar a conocer las actividades que se
desarrollan en dicha empresa, su estructura organizacional, además de su
ubicación exacta para futuras visitas.
2.1 Nombre o Razón Social.
2.2 Descripción del Área de Trabajo.
2.3 Organigrama de la Empresa.
2.4 Misión de la Empresa.
2.5 Macro y Micro Localización.
2.5.1 Macrolocalización.
2.5.2 Microlocalización.
2.6 Plano del sanatorio Santa Isabel.
2.7 Antecedentes Generales de la Institución.
13. RESIDENCIA PROFESIONAL
7
2.1. Nombre o Razón Social
El Sanatorio Santa Isabel se dedica al servicio médico, quirúrgico y hospitalario.
2.2. Descripción delÁrea de Trabajo
El Sanatorio Santa Isabel cuenta con 2 consultorios médicos de diferente
especialidad, El Dr. Oscar Gurría Penagos (Cirugía General) y el Dr. Werclain Gurría
Penagos (Ginecología), además de un médico de guardia, el Dr. Braulio Trujillo. El
edificio también cuenta con sala de operaciones para llevar a cabo cirugías, y
cuartos con sus respectivas camas para brindar servicio hospitalario.
2.3. Organigramade la Empresa
2.4. Misión de la Empresa
Cuidar la salud de las personas en beneficio de la familia.
Figura 1- Organigrama del sanatorio Santa Isabel
14. RESIDENCIA PROFESIONAL
8
2.5. Macroy Micro Localización
2.5.1. Macrolocalización
El Sanatorio Santa Isabel se encuentra ubicado en la ciudad de Tapachula, Chiapas
(Figura 2).
2.5.2. Microlocalización
El Sanatorio Santa Isabel tiene como dirección la 15° Calle Poniente No. 13 entre
4° y 6° Avenida Norte CP 30700, Colonia Centro (Figura 3).
Figura 2- Macrolocalización del Sanatorio Santa Isabel
15. RESIDENCIA PROFESIONAL
9
2.6. Plano del Sanatorio Santa Isabel
El sanatorio Santa Isabel está dividida en las siguientes partes (Figura 4):
2 Consultorios.
1 Sala de quirófano.
8 Cuartos de internación.
Figura 3- Microlocalización del Sanatorio Santa Isabel
Figura 4- Plano del sanatorio
16. RESIDENCIA PROFESIONAL
10
2.7. Antecedentes Generalesde la Institución
El Sanatorio Santa Isabel es fundado el 13 de septiembre de 1997 por La señora
Laura Angélica García Arjona, el Dr. Werclain Gurría Penagos y el Dr. Oscar Gurría
Penagos, este último desempeñándose como director hasta el día de hoy. El
principal objetivo de este Sanatorio, como toda institución de salud, es el brindar un
servicio médico de calidad.
17. RESIDENCIA PROFESIONAL
11
CAPITULO 3. FUNDAMENTO TEÓRICO
En este capítulo se plantearán los estudios e investigaciones, antecedentes y
teorías que darán respaldo al desarrollo del proyecto; los conceptos presentados
ampliarán el horizonte del estudio, además de establecer hipótesis que se
someterán a prueba más adelante en la realidad.
3.1. Antecedentes Investigativos.
3.1.1. www.comfama.com
3.1.2. www.sanitas.es
3.1.3. www.sat.gob.mx
3.2. Concepto de Sistema.
3.3. Concepto de Sistema de Información.
3.4. Categorías de los Sistemas.
3.5. Sistemas de Información Estratégicos.
3.6. Casos de Uso.
3.7. Patrones de Diseño.
3.8. Framework.
3.9. JQuery.
3.10. PDO.
18. RESIDENCIA PROFESIONAL
12
3.1. Antecedentes Investigativos
De acuerdo a la investigación realizada en Internet se encontraron algunos sitios
Web, los cuales ofrecen servicios relacionados con los que se pretende implementar
en este proyecto.
3.1.1. www.comfama.com
Es el sitio Web de la caja de compensación familiar del Departamento de Antioquía,
Colombia, al cual se le han incorporado dos nuevos servicios: El servicio de
solicitudes médicas y asesoría virtual en línea. Ambos servicios, están
encaminados al desarrollo de nuevas oportunidades de atención, facilitando los
trámites y diversificando las oportunidades de acceso a los diferentes programas
que ofrece COMFAMA tal y como se señala a continuación.
Citas médicas por Internet
Con el servicio de solicitud de citas, los afiliados, los no afiliados y los usuarios de
los Centros Integrales de Salud, tendrán la posibilidad de pedir, consultar, modificar
y cancelar las citas médicas en línea.
Asesor virtual
Igualmente, un asesor virtual, les permitirá a los navegantes de www.comfama.com,
obtener ayuda e información en línea sobre diferentes programas de la Caja.
3.1.2. www.sanitas.es
Es el sitio Web de la organización SANITAS en España, en donde se presta el
servicio de solicitudes de citas para permitir a sus pacientes una atención ágil, de
modo que no deben solicitar atención médica de forma presencial sino virtual.
19. RESIDENCIA PROFESIONAL
13
3.1.3. www.sat.gob.mx
Es el sitio web del Servicio de Administración Tributaria el cual tiene un servicio en
el que los usuarios pueden solicitar citas sin la necesidad de presentarse
personalmente a las oficinas de dicha institución. Primeramente se selecciona el
servicio en el cual está interesado, a continuación se escoge una fecha en la cual
haya disponibilidad; después de realizado estos pasos, se confirma la cita y el
sistema manda un link de confirmación al correo electrónico proporcionado por el
usuario. También existe la posibilidad de consultar y eliminar citas.
3.2. Concepto de Sistema
[1] Es un conjunto de componentes que interaccionan entre sí para lograr un objetivo
en común, aunque existe una gran variedad de sistema, la mayoría de ellos puede
representarse a través de un modelo formado por 5 bloques como se puede
visualizar en la figura 5: elementos de entrada, elementos de salida, sección de
transformación, mecanismos de control y objetivos.
Figura 5- Modelo general de un sistema
20. RESIDENCIA PROFESIONAL
14
3.3. Concepto de Sistema de Información
[2] Es un conjunto de elementos orientados al tratamiento y administración
de datos e información, organizados y listos para su posterior uso, generados para
cubrir una necesidad (objetivo). Dichos elementos formarán parte de alguna de
estas categorías:
Personas.
Datos.
Actividades o técnicas de trabajo.
Recursos materiales en general (típicamente recursos informáticos y de
comunicación, aunque no tienen por qué ser de este tipo obligatoriamente).
Todos estos elementos interactúan entre sí para procesar los datos (incluyendo
procesos manuales y automáticos) dando lugar a información más elaborada y
distribuyéndola de la manera más adecuada posible en una determinada
organización en función de sus objetivos.
3.4. Categorías de los Sistemas
[3] Desde un punto de vista empresarial.
Según la función a la que vayan destinados o el tipo de usuario final del mismo, los
sistemas de información pueden clasificarse en:
Sistema de procesamiento de transacciones (TPS).- Gestiona la información
referente a las transacciones producidas en una empresa u organización.
Sistemas de información gerencial (MIS).- Orientados a solucionar
problemas empresariales en general.
Sistemas de soporte a decisiones (DSS).- Herramienta para realizar el
análisis de las diferentes variables de negocio con la finalidad de apoyar el
proceso de toma de decisiones.
21. RESIDENCIA PROFESIONAL
15
Sistemas de información ejecutiva (EIS).- Herramienta orientada a usuarios
de nivel gerencial, que permite monitorizar el estado de las variables de un
área o unidad de la empresa a partir de información interna y externa a la
misma.
Estos sistemas de información no surgieron simultáneamente en el mercado; los
primeros en aparecer fueron los TPS, en la década de los 60, sin embargo, con el
tiempo, otros sistemas de información comenzaron a evolucionar.
Sistemas de automatización de oficinas (OAS).- Aplicaciones destinadas a
ayudar al trabajo diario del administrativo de una empresa u organización.
Sistema Planificación de Recursos (ERP).- Integran la información y los
procesos de una organización en un solo sistema.
Sistema experto (SE).- Emulan el comportamiento de un experto en un
dominio concreto.
Los últimos fueron los SE, que alcanzaron su auge en los 90 (aunque estos últimos
tuvieron una tímida aparición en los 70 que no cuajó, ya que la tecnología no estaba
suficientemente desarrollada).
3.5. Sistemas de InformaciónEstratégicos
[3] Un Sistema de información estratégico puede ser considerado como el uso de la
tecnología de la información para soportar o dar forma a la estrategia competitiva
de la organización, a su plan para incrementar o mantener la ventaja competitiva o
bien reducir la ventaja de sus competidores.
Su función primordial no es apoyar la automatización de los procesos operativos ni
proporcionar información para apoyar a la toma de decisiones (aunque puede llevar
a cabo dichas funciones), sino crear una diferencia con respecto a los competidores
de la organización (o salvar dicha diferencia) que hagan más atractiva a ésta para
22. RESIDENCIA PROFESIONAL
16
los potenciales clientes. Por ejemplo, en la banca, hace años que se implantaron
los cajeros automáticos, pero en su día, las entidades que primero ofrecieron este
servicio disponían de una ventaja con respecto a sus competidores, y hoy día
cualquier entidad que pretenda ofrecer servicios bancarios necesita contar con
cajeros automáticos si no quiere partir con una desventaja con respecto al resto de
entidades de este sector. En este sentido, los cajeros automáticos se pueden
considerar sistemas de información estratégicos.
Su función es lograr ventajas que los competidores no posean, tales como ventajas
en costos y servicios diferenciados con clientes y proveedores. Apoyan el proceso
de innovación de productos dentro de la empresa. Suelen desarrollarse dentro de
la organización, por lo tanto no pueden adaptarse fácilmente a paquetes disponibles
en el mercado. Entre las características más destacables de estos sistemas se
pueden señalar:
Cambian significativamente el desempeño de un negocio al medirse por uno
o más indicadores clave, entre ellos, la magnitud del impacto.
Contribuyen al logro de una meta estratégica.
Generan cambios fundamentales en la forma de dirigir una compañía, la
forma en que compite o en la que interactúa con clientes y proveedores.
Otra clasificación, según el entorno de aplicación.
Entorno transaccional: Una transacción es un suceso o evento que
crea/modifica los datos. El procesamiento de transacciones consiste en
captar, manipular y almacenar los datos, y también, en la preparación de
documentos; en el entorno transaccional, por tanto, lo importante es qué
datos se modifican y cómo, una vez que ha terminado la transacción.
Los TPS son los SI típicos que se pueden encontrar en este entorno.
Entorno decisional: Este es el entorno en el que tiene lugar la toma de
decisiones; en una empresa, las decisiones se toman a todos los niveles y
23. RESIDENCIA PROFESIONAL
17
en todas las áreas (otra cosa es si esas decisiones son estructuradas o no),
por lo que todos los SI de la organización deben estar preparados para asistir
en esta tarea, aunque típicamente, son los DSS los que se encargan de esta
función. Si el único SI de una compañía preparado para ayudar a la toma de
decisiones es el DSS, éste debe estar adaptado a todos los niveles
jerárquicos de la empresa.
3.6. Casos de Uso
[4] Un caso de uso es una secuencia de interacciones entre un sistema y alguien o
algo que usa alguno de sus servicios. Un caso de uso es iniciado por un actor. A
partir de ese momento, ese actor, junto con otros actores intercambia datos o control
con el sistema.
El nombre de un caso de uso se expresa con un verbo en gerundio, seguido
generalmente por el principal objeto o entidad del sistema que es afectado por el
caso. Gráficamente, los casos de uso se representan con un óvalo, con el nombre
del caso en su interior como se muestra en la figura 6.
Es importante notar que el nombre del caso siempre está expresado desde el punto
de vista del actor y no desde el punto de vista del sistema. Por eso el segundo caso
Figura 6- Representación de los casos de uso
24. RESIDENCIA PROFESIONAL
18
de uso se llama recibiendo información de pedidos y no generando información de
pedidos.
Los casos de uso tienen las siguientes características:
Están expresados desde el punto de vista del actor.
Se documentan con texto informal.
Describen tanto lo que hace el actor como lo que hace el sistema cuando
interactúa con él, aunque el énfasis está puesto en la interacción.
Son iniciados por un único actor.
Están acotados al uso de una determinada funcionalidad –claramente
diferenciada– del sistema.
Actores
Un actor es una agrupación uniforme de personas, sistemas o máquinas que
interactúan con el sistema que estamos construyendo de la misma forma.
Por ejemplo, para una empresa que recibe pedidos en forma telefónica, todos los
operadores que reciban pedidos y los ingresen en un sistema de ventas, si pueden
hacer las mismas cosas con el sistema, son considerados un único acto.
Los actores se representan con dibujos simplificados de personas, llamados en
inglés “stick man” (hombres de palo).
25. RESIDENCIA PROFESIONAL
19
3.7. Patronesde Diseño
[5] Los patrones de diseño son el esqueleto de las soluciones a problemas comunes
en el desarrollo de software. En otras palabras, brindan una solución ya probada y
documentada a problemas de desarrollo de software que están sujetos a contextos
similares. Se debe tener presente los siguientes elementos de un patrón: su nombre,
el problema (cuando aplicar un patrón), la solución (descripción abstracta del
problema) y las consecuencias (costos y beneficios).
Ventajas de utilizar Patrones de diseño
La gran ventaja del uso de patrones es que minimizan el riesgo de generar un mal
diseño y permiten comunicar experiencias entre diseñadores.
Es posible elegir el patrón más adecuado a nuestras necesidades, estos son los
aspectos de un patrón que se deben evaluar:
Resistencia al cambio: se debe elegir el patrón que facilite lo más posibles futuros
cambios. Los cambios en un diseño no son probables, son seguros, se producen
con toda seguridad. A la hora de diseñar una solución a un problema es conveniente
abstraer el problema concreto a otro más genérico y resolver este último. Los
patrones consiguen precisamente esto.
Reutilización: este aspecto requiere una aclaración importante. La reutilización de
código resulta prácticamente imposible. En cambio, los diseños son mucho más
reutilizables, pero ni siquiera tanto como las propias ideas. Se debe tender a
reutilizar las ideas. Por eso, cuando hacemos un diseño debemos pensar en que
nos debe ser útil para futuros proyectos, en su esencia o filosofía, no en su
estructura o implementación. Así, lo conveniente es buscar patrones nuevos en
diseños nuevos, documentarlos y almacenarlos como una parte importante de
nuestra experiencia. Son como una "álbum de fotos" de nuestros viajes.
26. RESIDENCIA PROFESIONAL
20
Clasificación de los patrones de diseño:
1. Patrones Creacionales: Inicialización y configuración de objetos.
2. Patrones Estructurales: Separan la interfaz de la implementación. Se ocupan
de cómo las clases y objetos se agrupan, para formar estructuras más
grandes.
3. Patrones de Comportamiento: Más que describir objetos o clases, describen
la comunicación entre ellos.
Patrones Creacionales
1. Fábrica Abstracta (Abstract Factory)
El problema a solucionar por este patrón es el de crear diferentes familias de
objetos, como por ejemplo la creación de interfaces gráficas de distintos tipos
(ventana, menú, botón, etc.).
2. Método de Fabricación (Factory Method)
Parte del principio de que las subclases determinan la clase a implementar (Figura
7).
3. Prototipado (Prototype)
Se basa en la clonación de ejemplares copiándolos de un prototipo.
4. Singleton
27. RESIDENCIA PROFESIONAL
21
[6] El patrón de diseño singleton (instancia única) está diseñado para restringir la
creación de objetos pertenecientes a una clase o el valor de un tipo a un único
objeto.
Su intención consiste en garantizar que una clase sólo tenga una instancia y
proporcionar un punto de acceso global a ella.
El patrón singleton se implementa creando en nuestra clase un método que crea
una instancia del objeto sólo si todavía no existe alguna. Para asegurar que la clase
no puede ser instanciada nuevamente se regula el alcance del constructor (con
atributos como protegido o privado).
La instrumentación del patrón puede ser delicada en programas con múltiples hilos
de ejecución. Si dos hilos de ejecución intentan crear la instancia al mismo tiempo
y esta no existe todavía, sólo uno de ellos debe lograr crear el objeto. La solución
clásica para este problema es utilizar exclusión mutua en el método de creación de
la clase que implementa el patrón.
Las situaciones más habituales de aplicación de este patrón son aquellas en las que
dicha clase controla el acceso a un recurso físico único (como puede ser el ratón o
un archivo abierto en modo exclusivo) o cuando cierto tipo de datos debe estar
disponible para todos los demás objetos de la aplicación.
El patrón singleton provee una única instancia global gracias a que:
La propia clase es responsable de crear la única instancia.
Permite el acceso global a dicha instancia mediante un método de clase.
Declara el constructor de clase como privado para que no sea instanciable
directamente.
28. RESIDENCIA PROFESIONAL
22
Una implementación del patrón singleton en PHP5 se muestra en la figura 8:
5. MVC (Modelo Vista Controlador)
Este patrón plantea la separación del problema en tres capas: la capa modelo, que
representa la realidad; la capa controlador, que conoce los métodos y atributos del
modelo, recibe y realiza lo que el usuario quiere hacer; y la capa vista, que muestra
un aspecto del modelo y es utilizada por la capa anterior para interaccionar con el
usuario.
Patrones Estructurales
Adaptador (Adapter): Convierte una interfaz en otra.
Puente (Bridge): Desacopla una abstracción de su implementación
permitiendo modificarlas independientemente.
Objeto Compuesto (Composite): Utilizado para construir objetos complejos a
partir de otros más simples, utilizando para ello la composición recursiva y
una estructura de árbol.
Figura 7- Implementación del Patrón Singleton en PHP5
29. RESIDENCIA PROFESIONAL
23
Envoltorio (Decorator): Permite añadir dinámicamente funcionalidad a una
clase existente, evitando heredar sucesivas clases para incorporar la nueva
funcionalidad.
Fachada (Facade): Permite simplificar la interfaz para un subsistema.
Peso Ligero (Flyweight): Elimina la redundancia o la reduce cuando tenemos
gran cantidad de objetos con información idéntica.
Apoderado (Proxy): Un objeto se aproxima a otro.
Patrones de Comportamiento
Cadena de responsabilidad (Chain of responsibility): La base es permitir que
más de un objeto tenga la posibilidad de atender una petición.
Orden (Command): Encapsula una petición como un objeto dando la
posibilidad de “deshacer” la petición.
Intérprete (Interpreter): Intérprete de lenguaje para una gramática simple y
sencilla.
Iterador (Iterator): Define una interfaz que declara los métodos necesarios
para acceder secuencialmente a una colección de objetos sin exponer su
estructura interna.
Mediador (Mediator): Coordina las relaciones entre sus asociados. Permite
la interacción de varios objetos, sin generar acoples fuertes en esas
relaciones.
Recuerdo (Memento): Almacena el estado de un objeto y lo restaura
posteriormente.
Observador (Observer): Notificaciones de cambios de estado de un objeto.
Estado (Server): Se utiliza cuando el comportamiento de un objeto cambia
dependiendo del estado del mismo.
Estrategia (Strategy): Utilizado para manejar la selección de un algoritmo.
Método plantilla (Template Method): Algoritmo con varios pasos
suministrados por una clase derivada.
30. RESIDENCIA PROFESIONAL
24
Visitante (Visitor): Operaciones aplicadas a elementos de una estructura de
objetos heterogénea.
3.8. Framework
[7] Se define como estructura conceptual y tecnológica de soporte definido,
normalmente con artefactos o módulos de software concretos, que puede servir de
base para la organización y desarrollo de software. Típicamente, puede incluir
soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras
herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un
proyecto.
Son diseñados con la intención de facilitar el desarrollo de software, permitiendo a
los diseñadores y programadores pasar más tiempo identificando requerimientos de
software que tratando con los tediosos detalles de bajo nivel de proveer un sistema
funcional.
3.9. JQuery
[8] JQuery es un framework de JavaScript para facilitar, entre otros, el acceso a los
elementos del DOM, los efectos, interactuar con los documentos HTML, desarrollar
animaciones y agregar interacción con la tecnología AJAX a páginas web.
JQuery consiste en un único fichero JavaScript que contiene las funcionalidades
comunes de DOM, eventos, efectos y AJAX. La característica principal de la
biblioteca es que permite cambiar el contenido de una página web sin necesidad de
recargarla, mediante la manipulación del árbol DOM y peticiones AJAX. Para ello
utiliza las funciones $() o JQuery ().
31. RESIDENCIA PROFESIONAL
25
3.10. PDO
[9]La extensión Objetos de Datos de PHP (PDO por sus siglas en inglés) define una
interfaz ligera para poder acceder a bases de datos en PHP. Cada controlador de
bases de datos que implemente la interfaz PDO puede exponer características
específicas de la base de datos, como las funciones habituales de la extensión.
Obsérvese que no se puede realizar ninguna de las funciones de la bases de datos
utilizando la extensión PDO por sí misma; se debe utilizar un controlador de PDO
específico de la base de datos para tener acceso a un servidor de bases de datos.
PDO proporciona una capa de abstracción de acceso a datos, lo que significa que,
independientemente de la base de datos que se esté utilizando, se usan las mismas
funciones para realizar consultas y obtener datos. PDO no proporciona una
abstracción de bases de datos; no reescribe SQL ni emula características ausentes.
Se debería usar una capa de abstracción totalmente desarrollada si fuera necesaria
tal capacidad.
PDO viene con PHP 5.4, y está disponible como una extensión PECLpara PHP 5.0;
requiere las características nuevas de OO del núcleo de PHP 5, por lo que no se
ejecutará con versiones anteriores de PHP. En la Figura 8 se observa cómo se
implementa PDO en PHP5.
33. RESIDENCIA PROFESIONAL
27
CAPITULO 4. DESCRIPCIÓN DE LAS ACTIVIDADES
REALIZADAS
El objetivo de este capítulo es presentar las actividades que se realizaron durante
el desarrollo del proyecto, los cuales sustentarán la validez y confiabilidad del
estudio. Primeramente se presentará una previa de cada actividad y se desglosarán
detalladamente los pasos que se realizaron en cada una de ellas; se incluyen
imágenes y tablas de los procedimientos llevados a cabo, con su respectiva
descripción.
Dentro del marco del desarrollo del presente trabajo se realizaron las actividades
que a continuación se detallan.
4.1. Análisis de Requisitos.
4.1.1. Recolección de Información.
4.1.2. Resultados Obtenidos del Análisis de la Información Recolectada.
4.1.3. Requerimientos del Sistema.
4.2. Diseño arquitectónico.
4.2.1. Arquitectura del Sistema.
4.2.2. Diseño de Clases.
4.2.3. Modelo Relacional de la Base de Datos.
4.2.4. Diseño de Interfaces.
4.3. Codificación y Prueba.
34. RESIDENCIA PROFESIONAL
28
4.1. Análisis de Requisitos
Para estudiar los tipos de requisitos que habría que recolectar en el desarrollo de
Sistemas de información, lo primero que habría que tener en cuenta es, por un lado,
estudiar las necesidades de almacenamiento y funcionalidad, importantes en todos
los sistemas de información, pero además hay que recabar información referente a
esos aspectos que acercan a los sistemas de información.
[10] El análisis de requisitos proporciona una representación de la información,
función y comportamiento el cual puede trasladar a diseños arquitectónicos, de
interfaz y en el nivel de componentes.
El modelo de análisis debe cumplir tres objetivos:
1) Describir lo que quiere el cliente.
2) Establecer una base para la creación de un diseño de software
3) Definir un conjunto de requisitos que puedan validarse una vez construido el
software.
En el análisis de requisitos se aplican las técnicas de recolección de datos. Esta
información la podemos obtener por medio de entrevistas al personal de la empresa
o con datos que la empresa maneje en documento que servirá de guía para obtener
información.
La información que la empresa pueda brindar será primordial para establecer los
requerimientos del desarrollo del sistema de información.
35. RESIDENCIA PROFESIONAL
29
4.1.1. Recolección de Información
Para recolectar la información necesaria, se realizó una entrevista con los aspectos
fundamentales para el desarrollo de este estudio, con el fin de aplicarla al Dr. Oscar
Gurría Penagos, Médico y Director del Sanatorio Santa Isabel.
Nota: Para mayor información sobre la entrevista realizada, Ver Anexo I
4.1.2. Resultados Obtenidos del Análisis de la Información Recolectada
Inicialmente se realizó un levantamiento de requerimientos para el sistema,
logrando tener una primera visión del negocio.
Tras el análisis de la información recolectada se decide realizar visitas al Sanatorio
Santa Isabel para observar personalmente los procesos que fueron resaltados en la
información que proporcionó el Dr. Oscar Gurría Penagos.
A continuación, se presentan los detalles que se pudieron observar en el
procedimiento que realiza el personal del sanatorio que no fueron descritos en la
entrevista, y que serán de gran ayuda para el desarrollo del proyecto:
Cada médico tiene asignado una secretaria
Los pacientes pueden solicitar reservaciones de citas personalmente o por
teléfono.
El proceso de asignación de una cita tarda en promedio de 2 a 5 minutos.
El día de la cita del paciente, la secretaria llena un formato con los datos del
paciente, y luego se los proporciona a su respectivo médico.
Al término de una consulta, el paciente realiza el pago de este a la secretaria,
quien por último entrega el respectivo comprobante de pago.
Al igual que las consultas médicas, en las cirugías se cobra, el servicio
correspondiente (cirugía mayor o menor) y su respectiva hospitalización.
36. RESIDENCIA PROFESIONAL
30
En total se realizaron 4 visitas (2 para la entrevista y 2 para la observación de los
procedimientos del personal), y se llegó a la conclusión de que ya no eran
necesarias más visitas, puesto que los requerimientos del sistema están completos.
Nota: Para Observar el formato de ejemplo del expediente clínico de un paciente
del Sanatorio Santa Isabel, ver anexo número II.
4.1.3. Requerimientos del Sistema
Como resultado del análisis de requisitos se obtuvieron los siguientes entregables:
1.- Requerimientos funcionales.
2.- Casos de usos.
3.- Diagramas de secuencia.
Los cuales permitieron establecer una base para la creación de un diseño de
software en la siguiente etapa.
Requerimientos funcionales
R1.- En el sistema existirán 3 tipos de usuarios: Administrador, Médico y Gestor de
citas.
R2.- El administrador será el encargado de ingresar al sistema a nuevos
administradores, Médicos y gestores de citas.
R3.- Al momento de dar de alta a un gestor de citas (en este caso es la secretaria),
se le asignará a los médicos con los cuales trabajará.
R4.- Un paciente podrá reservar únicamente una cita en un día con un especialista.
37. RESIDENCIA PROFESIONAL
31
R5.- La única manera en que un paciente podrá tener dos o más citas reservadas
en el mismo día, será que estas sean con diferentes especialistas.
R6.- El gestor de citas únicamente podrá gestionar las citas, así también como a los
pacientes de los respectivos médicos a los cuales fue asignado.
R7.- El gestor de citas podrá realizar reportes de citas del día, así como las citas
pendientes en total.
R8.- El médico podrá iniciar una consulta, según la hora estipulada en una cita.
R9.- El médico podrá gestionar las consultas médicas.
R10.- El médico podrá gestionar los antecedentes clínicos de los pacientes.
R11.- En cada consulta, el médico podrá formular una receta e imprimirla.
R12.- El médico podrá gestionar los resultados de ultrasonido, así también como los
resultados de laboratorio entregados por el paciente.
R13.- El médico podrá agendar citas para cirugías a los pacientes.
R14.- El médico podrá modificar, eliminar o consultar las cirugías las cuales haya
reservado.
R15.- El médico no podrá transponer horarios de cirugías, cuando se trate del
mismo cirujano.
R16.- El médico podrá gestionar los datos de las cirugías de los pacientes.
38. RESIDENCIA PROFESIONAL
32
R17.- El médico podrá realizar reportes de las cirugías que estén pendientes por
realizarse.
R18.- El médico podrá realizar reportes del historial clínico de los pacientes.
R19.- El médico podrá gestionar los pagos hechos por los pacientes.
R20.- Por cada consulta y cirugía (cirugía mayor o menor), el paciente realiza un
pago.
R21.- El médico podrá realizar reportes de las ganancias obtenidas según el lapso
de tiempo que se requiera.
Casos de uso
[10] En lugar de examinar un problema mediante un modelo convencional del tipo
entrada-procesamiento-salida (flujo de información) o un modelo derivado en forma
exclusiva de las estructuras jerárquicas de información, el análisis orientado a
objetos construye un modelo orientado a las clases que se basa en la comprensión
de los conceptos orientados a objetos.
Por lo cual se procedió a la creación de escenarios en la forma de casos de uso
(Figura 9).
39. RESIDENCIA PROFESIONAL
33
uc Casos de uso
Médico
Secretaria
Gestor de
citas
Administrar Paciente
Administrar cobros
Administrar resultados de
ultrasonido
Administrar pruebas de
laboratorio
Buscar paciente
Administrar cirugías
Administrar Consultas
Administrar citas
médicas
Consulta calendario de citas
Administrar Fechas de
cirugía
Consulta de calendario de
cirugías
Reporte de cirugías
pendientes
Generar reportes
Para poder realizar las
acciones de todos los
casos de uso, es
necesario que el
usuario esté logueado
Exportar lista de
pacientes
Se generan reportes
de:
-Citas del dia
-Citas pendientes
-Cobros por paciente
-Ganancias
Administrar recetas
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
Figura 9- Diagrama de Casos de uso General
40. RESIDENCIA PROFESIONAL
34
Nota: Para mayor información sobre la documentación de los casos de uso, ver
anexo número III.
Para el diseño de los diagramas de casos de uso se hizo uso de la herramienta
CASE Enterprise Architect en su versión 7.5.
Diagramas de secuencia.
Una vez que se han identificado los eventos al examinar un caso de uso, es
necesario hacer una transición al comportamiento dinámico del sistema. Para
lograrlo se diseñaron los llamados diagramas de secuencia. Dichos diagramas son
una representación de cómo los eventos causan un flujo de un evento a otro como
una función de tiempo.
Nota: Para mayor información sobre los diagramas de secuencia realizados en el
análisis de requisitos, ver anexo número IV.
Para el diseño de los diagramas de secuencia se hizo uso de la herramienta CASE
Enterprise Architect en su versión 7.5.
41. RESIDENCIA PROFESIONAL
35
4.2. Diseño arquitectónico
Con los entregables de la actividad anterior se estableció la base para la creación
de un diseño de software.
Para el diseño Arquitectónico del sistema se contemplaron dos elementos
principales:
Interfaces usables.
Un diseño minimalistico para la fácil utilización del sistema por parte del
usuario final.
4.2.1. Arquitectura del Sistema
El sistema fue diseñado con la arquitectura cliente/servidor de tres capas (Figura
10), siendo estas las siguientes:
arch comp
Navegador Web
Sistema Gestor de Base
de DatosPágina Estática
(HTML)
Servidor Web
Página Dinámica
(PHP)
Figura 10- Arquitectura del sistema
42. RESIDENCIA PROFESIONAL
36
capa de presentación: Esta etapa es con la que interactúan los usuarios del
sistema. Está formada por el navegador, el cual traduce el código HTML en
algo visual.
Capa del servidor web: aquí se encuentra la lógica del negocio requerida
para atender la solicitud de los usuarios y retornar a la capa de presentación
los resultados esperados. Dicha capa, en el proyecto, está conformada por
el servidor de páginas web Apache 2.2.17 y por PHP 5.3.5.
Capa de base de datos: en el proyecto esta capa está conformada por el
sistema gestor de base de datos MySQL 5.0.7. Cabe destacar que es posible
implementar cualquier otro SGBD (PostgreSQL, SQL Server, Oracle, etc.)
gracias a la implementación del patrón de diseño MVC (Figura 11).
4.2.2. Diseño de Clases
Para el diseño de los diagramas de clases se hizo uso de la herramienta CASE
Enterprise Architect en su versión 7.5.
En la figura 12 se observa el diagrama de clases diseñado para SAGA Médica.
Figura 11- Patrón MVC
43. RESIDENCIA PROFESIONAL
37
class Clases
Paciente
- Nombre: string
- ApePat: string
- ApeMat: string
- Direccion: string
- Ciudad: string
- Edad: int
- Sexo: string
- EdoCivil: string
- Ocupacion: string
- Telcasa: int
- Telcel: int
- Email: string
+ exportaPacientesPDF() : void
+ exportaPacientesXLS() : void
Cita
- Fecha: date
- Inicio: time
- Fin: time
- Status: string
- Nota: text
+ reportediaCita() : void
+ reportependienteCita() : void
+ exportaCitaXLS() : void
Pago
- Fecha: date
- Hora: time
- Nota: text
+ reporteGanancia() : void
+ imprimirRecibo() : void
Ultrasonido
- Datos: text
Laboratorio
- Datos: text
Consulta
- Fecha: date
- Hora: time
- Temperatura: int
- Talla: int
- Peso: int
- Imc: int
- Ta: string
- Sintomas: text
- Inspeccion: text
- Palpacion: text
- Auscultacion: text
- Percusion: text
- Plan: text
- Diagnostico: text
+ reporteConsultas() : void
Cirugia
- Fecha: date
- Inicio: time
- Fin: time
- Instrumentista: string
- Anestesiologo: string
- TipoAnestesia: text
- Hallazgos: text
- Sangrado: text
- Complicaciones: text
- Edosalud: text
- Pronostico: text
- Indicaciones: text
- FechaEgreso: date
- HoraEgreso: time
- ObsPostOperatoria: text
- PlanEgreso: text
- DxPre: string
- DxPost: string
Antecedente
- Heredofamiliar: text
- Patologico: text
- Nopatologico: text
CitaCirugia
- Fecha: date
- Hora: time
- Nota: text
+ reportediaAcirugia() : void
+ reportependienteAcirugia() : void
Receta
- Contenido: text
- Fecha: date
- Hora: time
+ imprimirReceta() : void
MyPDO
+ agregarRegistro() : void
+ eliminarRegistro() : void
+ consultarRegistro() : void
+ contarRegistro() : void
+ modificarRegistro() : void
PDO
Trabaj ador
- Nombre: string
- Direccion: string
- Ciudad: string
- TelCasa: int
- TelCel: int
- Email: string
- Cedula: int
- Especialidad: string
- User: string
- Pass: string
- Status: string
+ login() : void
+ logout() : void
Medicina
- Nombre: string
- Componente: text
- Presentacion: text
- Viadmin: string
TipoCirugia
- Nombre: string
- Detalle: text
TipoUltrasonido
- Nombre: string
- Detalle: text
Serv icio
- Nombre: string
- Precio: double
TipoLaboratorio
- Nombre: string
- Detalle: text
Perfil
- Nombre: string
Priv iliegio
- Nombre: string
Todas las clases (excepto PDO) heredan los métodos y
atributos de la clase MyPDO, el cual hereda los métodos
y atributos de la clase PDO
Horario
- Hora: time
Figura 12- Diagrama de clases de SAGA Médica
45. RESIDENCIA PROFESIONAL
39
Para el diseño relacional de la base de datos (Figura 13) se hizo uso de la
herramienta CASE MySQL Workbench en su versión 5.2, la cual facilitó la creación,
el diseño y el mantenimiento de nuestra base de datos y la administración de la
misma, además de la obtención del diccionario de datos
Nota: Para mayor información sobre el diccionario de datos, ver anexo número V.
4.2.4. Diseño de Interfaces
Para la implementación de la interfaz se realizó un análisis funcional y usable que
tuviera un impacto corto en la curva del aprendizaje del usuario final ante el sistema
teniendo como resultado los siguientes diseños de interfaces.
El diseño de la interfaz de usuario se utilizó el lenguaje de marcado HTML, además
del lenguaje de etiquetas CSS para el estilo de cada pantalla.
A continuación se ilustran los bosquejos de pantallas.
Figura 14- Página de inicio de sesión
48. RESIDENCIA PROFESIONAL
42
4.3. Codificacióny Prueba
En esta etapa se genera el código correspondiente a cada uno de los componentes
del sistema de información, identificados en la etapa de diseño arquitectónico.
Una vez de haberse diseñado una arquitectura óptima para el sistema, se inició la
búsqueda de un patrón de diseño que cubriera las siguientes necesidades:
1. Curva de aprendizaje óptima.
2. Fácil implementación.
3. Que agilice el tiempo de desarrollo.
4. Que se adapte a las necesidades del sistema a desarrollar
Las herramientas utilizadas para llevar a cabo esta actividad son las siguientes:
El lenguaje de programación utilizado para el desarrollo de SAGA Médica fue PHP5.
Además se utilizó el lenguaje JavaScript para hacer la interfaz de usuario más
dinámica, implementando el Framework JQuery, que ayuda a reducir código y
mejorar su entendimiento.
El sistema gestor de base de datos utilizado fue MySQL en su versión 5.0.7. Cabe
mencionar que se puede utilizar cualquier otro SGBD, ya que fue implementado
PDO como interfaz para acceder a la base de datos (en este caso el controlador
para MySQL, si se desease cambiar de SGBD, solo basta utilizar su respectivo
controlador).
Para que estas herramientas trabajen juntas, y así el sistema funcione
correctamente, es necesario utilizar un servidor web, en esta ocasión el elegido fue
Apache, en su versión 2.2.17. En la decisión de utilizar este servidor no fue
necesario realizar un estudio de los diferentes servidores que existen en el mercado,
ya que Apache viene integrado con el lenguaje interpretado PHP y con MySQL
49. RESIDENCIA PROFESIONAL
43
como SGBD por defecto, herramientas escogidas previamente para el desarrollo
del sistema.
Para el desarrollo de la aplicación, se implementaron bibliotecas de componentes
como JQuery y JQuery UI que le añaden un conjunto de plug-ins, widgets y efectos
visuales. También se implementaron plug-in para el JQuery de JavaScript como son
las tablas de datos conocidas también como DataTables, que es una herramienta
muy flexible, basado en los fundamentos de la mejora progresiva, lo que añadirá
controles avanzados de interacción a cualquiera de las tablas en HTML.
Se decidió implementar el patrón de diseño Singleton, ya que es un patrón que no
requiere un estudio profundo para poder utilizarlo, y es relativamente sencilla su
implementación; además, está comprobada su efectividad para solucionar
problemas de desarrollo. Otra de las razones para haber optado por dicho patrón
es la manera en la que ayuda a reducir código, agilizando el tiempo de codificación,
y, como el sistema será orientado a objetos, se adapta muy bien a las necesidades
de desarrollo.
El sistema de información También está basado en el patrón de diseño MVC que
obliga a dividir y organizar el código de acuerdo a las convenciones establecidas
por un framework. El código de la presentación se guarda en la vista, el código de
manipulación de datos se guarda en el modelo y la lógica de procesamiento de las
peticiones constituye el controlador. La organización del código fuente en una
estructura de tipo proyecto y se almacena los archivos del proyecto en una
estructura estandarizada.
Dentro de la organización que se tiene del código, está representada en la siguiente
estructura:
Una base de datos, En este caso fue MySQL.
50. RESIDENCIA PROFESIONAL
44
Archivo estáticos (HTML, imágenes, archivos de JavaScript, hojas de estilos,
etc.).
Clases y librerías PHP.
Librerías externas (scripts desarrollados por terceros)
Archivos de configuración.
Este sistema de información proporciona una estructura para organizar de forma
lógica todos los contenidos, además de ser consistente con la arquitectura MVC
utilizada y con la agrupación Modelo / Vista / Controlador. Cada vez que se crea un
nuevo módulo, se genera de forma automática la parte correspondiente de esa
estructura. Además, la estructura se puede personalizar completamente, para
reorganizar los archivos y directorios.
Integración del software
El presente sistema se desarrolló bajo el paradigma orientado a objetos basado en
dos patrones de diseños (MVC, Singleton), lo cual facilito el desarrollo modular del
mismo; así como la integración.
Prueba
Las pruebas realizadas en este sistema de software fueron las pruebas alfa. En el
cual se corrigieron problemas de programación y diseño, durante este período los
datos fueron analizados al igual que la codificación para ver que no existieran
diferencias con los resultados de entrada y de salida.
Las pruebas alfa se llevan a cabo por los usuarios finales del software en los lugares
de trabajo de los clientes. En este proceso no nos encontramos presentes para no
sesgar las pruebas, recomendándoles capturas de pantallas y las anotaciones
sobre las actividades que desarrollaba en ese momento.
51. RESIDENCIA PROFESIONAL
45
Así también se implementaron pruebas beta que es una aplicación en vivo del
software en un entorno que no puede ser controlado por el desarrollador. El cliente
registra todos los problemas que encuentra durante la prueba beta e informa a
intervalos regulares al desarrollador.
52. RESIDENCIA PROFESIONAL
46
CAPITULO 5. CONCLUSIONES Y RECOMENDACIONES
5.1. Conclusiones
El proceso de elaboración del Proyecto se enfocó en el esfuerzo de construir los
elementos críticos estructuralmente y del comportamiento de los llamados
Elementos Arquitecturales antes de construir elementos menos importantes.
Existe gran variedad de herramientas tanto de licencia libre como propietarias, todas
enfocadas a apoyar el desarrollo de software. Cada organización es la encargada
de determinar porque rama enfocarse a la hora de implementar sus soluciones de
software.
Así mismo se conocen herramientas que ofrecen más ventajas que otras en cuanto
a la facilidad de diseño, entendimiento de la sintaxis, utilidades, nivel de
almacenamiento, transportabilidad desde y hacia diversas plataformas, entre otras.
Es función del desarrollador definir por cuales herramientas inclinarse, de tal manera
que se logre construir software de calidad que satisfaga las necesidades de su
organización.
Toda aplicación antes de salir a producción tiene todo un proceso de análisis de
requerimientos, estudios de factibilidad, implementación de prototipos,
determinación de los factores críticos de éxito, diseño, plan de pruebas, que el
usuario final no ve, lo que permite establecer que el proceso de construcción de
software es un proceso complejo y más aún cuando lo que más interesa es poder
lograr que se cumpla con las necesidades por las que fue concebido.
53. RESIDENCIA PROFESIONAL
47
5.2. Recomendaciones
Las recomendaciones técnicas para el uso eficaz del sistema de información son
las siguientes:
1. Leer manual de usuario
2. Realizar el respaldo de información cotidianamente.
3. Establecer contraseñas fáciles de recordar.
54. RESIDENCIA PROFESIONAL
48
BIBLIOGRAFÍA
[1] cie.unam.mx. (20 de Febrero de 2013). Obtenido de
http://www.cie.unam.mx/~ojs/pub/Termodinamica/node9.html
[2] freetutes.com. (24 de Mayo de 2013). Obtenido de
http://www.freetutes.com/systemanalysis/classifications-of-system.html
[3] Langefors, B. (1973). Theoretical Analysis of Information Systems. Suecia
Lund y Filadelfia: Studentlitteratur.
[4] uchile.cl. (19 de Abril de 2013). Obtenido de
http://users.dcc.uchile.cl/~psalinas/uml/casosuso.html
[5] Tedeschi, N. (12 de Junio de 2013). msdn.microsoft.com. Obtenido de
http://msdn.microsoft.com/es-es/library/bb972240.aspx
[6] Wikipedia. (12 de Marzo de 2013). wikipedia.org. Obtenido de
http://es.wikipedia.org/wiki/Singleton
[7] Wikipedia. (13 de Abril de 2013). wikipedia.org. Obtenido de
http://es.wikipedia.org/wiki/Framework
[8] Murphey, R. (2011). Fundamentos de JQuery. Licencia Creative Commons.
[9] Group, php. (16 de Mayo de 2013). php.net. Obtenido de
http://php.net/manual/es/intro.pdo.php
[10] S. Pressman, R. (2005). Ingeniería del software: Un enfoque práctico (Sexta
ed.). Mc Graw Hill.
57. RESIDENCIA PROFESIONAL
51
Objetivo de la entrevista: Recopilar información que permita conocer el
funcionamiento del Sanatorio Santa Isabel, centrándose en el proceso de
calendarización de citas médicas y cirugías, además del procedimiento para la
realización de consultas médicas. Esta información será utilizada en el proyecto de
residencia:
“Sistema de Agenda y Administración Médica – SAGA médica”
1. ¿Qué problemas ha tenido al momento de reservar las citas médicas?
Hay ocasiones en las que se reservan dos citas en el mismo día y a la misma hora,
ya que no se tiene un sistema que controle que no se emparejen las horas.
2. ¿Cómo lleva el control de las citas médicas?
La secretaria lleva el control de las citas médicas de cada paciente, tiene a la mano
un calendario y revisa los días que están disponibles, y en una libreta apunta la
fecha y la hora de las citas.
3. ¿Cuántas citas son reservadas al día?
Entre 4 y 8 citas.
4. ¿Cuántas cancelaciones de citas tiene al mes?
Hablando en porcentaje, un 10% aproximadamente. Normalmente es por cambio
de fecha.
5. ¿Tiene alguna política con respecto a las citas médicas?
Bueno, solamente con lo que respecta a que un paciente no tenga dos o más citas
médicas en el mismo día con un mismo médico.
6. ¿Qué procedimiento utiliza para almacenar el expediente clínico de sus
pacientes?
En una hoja de Word®
vacío los datos generales del paciente y lo pongo en una
carpeta. En otra hoja de Word anoto los datos de la consulta y lo almaceno en la
misma carpeta.
58. RESIDENCIA PROFESIONAL
52
7. ¿Qué procedimiento utiliza actualmente en cada consulta médica?
1. Llenar una ficha de identificación
2. Vaciar los datos de la ficha en una hoja de Word
3. Apuntar los datos clínicos del padecimiento actual
4. Antecedentes clínicos
5. Exploración física
6. Estudios de laboratorio de gabinete (análisis clínicos, etc.)
7. Diagnostico
8. Plan de Tratamiento
9. Elaboración de la receta correspondiente
10.Fecha de la próxima cita
8. El proceso actual para la gestión de consultas médicas, lo considera:
a) Ágil y sencillo
b) Ágil, pero no es tan sencillo
c) Demorado y complicado
d) Demorado, pero sencillo
9. ¿Qué problemas ha tenido con el procedimiento que usted lleva a cabo,
me refiero a cómo almacena los expedientes?
Se me dificulta el estar buscando por carpeta el expediente de mi paciente en turno.
10.¿Cuáles son los datos generales que le pide al paciente?
Nombre y apellidos
Edad
Dirección
Ocupación
Estado civil
Teléfono de casa o celular
Sexo
59. RESIDENCIA PROFESIONAL
53
11.¿Qué datos captura en cada consulta?
Temperatura
Tensión arterial
Peso
Talla
Inspección
Auscultación
Palpación
Percusión
Diagnostico
Receta prescrita
Si es paciente nuevo, tomo sus antecedentes clínicos, como lo son antecedentes
heredofamiliares, antecedentes personales patológicos y antecedentes personales
no patológicos.
12.¿Cuántas consultas realiza al día?
Aproximadamente entre 5 y 10 consultas médicas.
13.¿Cuánto tiempo tarda una consulta?
Entre 30 minutos y 1 hora aproximadamente
14.¿Los pacientes tienen un número de identificación?
No, identifico a mis pacientes sólo por su nombre.
15.¿Qué datos toma para cada cirugía?
Diagnostico preoperatorio.
Diagnostico postoperatorio.
Hallazgos
Operación realizada
Cirujano
Ayudante
60. RESIDENCIA PROFESIONAL
54
Instrumentista
Anestesiólogo
Tipo de anestesia
Complicaciones
Sangrado
Estado de salud
Pronostico
16.¿Cómo lleva el control de las cirugías?
Igual que las citas médicas, se programan para una fecha y hora determinada en la
cual el cirujano esté disponible, se anotan en una libreta y en un calendario.
17.¿Qué datos guarda cuando recibe los exámenes de laboratorio del
paciente?
Guardo el nombre del laboratorio, el tipo de examen realizado y todo el contenido
de los resultados.
18.¿Qué datos guarda cuando recibe el ultrasonido entregado por el
paciente?
El nombre del médico que realizó el ultrasonido y los hallazgos.
19.¿Realiza algún reporte periódicamente?
Si, realizo un reporte de las consultas realizadas durante el mes, así como un
reporte de las cirugías realizadas. Se realizan dichos reportes ya que se entregan
mensualmente a Salubridad cuando lo solicita.
20.¿Por cuales servicios usted realiza cobros a los pacientes?
Cobro por consulta, además se cobra por cirugía y hospitalización.
21.¿Cuáles son los precios por cada servicio?
Consulta medicina general: $300.00
Derecho cirugía menor: $490.00
Derecho cirugía mayor: $590.00
61. RESIDENCIA PROFESIONAL
55
22.¿Qué datos anota en las recetas que prescribe?
Anoto la fecha en que entrego la receta, el nombre del medicamento, la
presentación (jarabe, capsulas, etc.), la vía de administración (oral, cutánea, etc.) y
la dosis.
63. RESIDENCIA PROFESIONAL
57
CORONADO C. REYNA
F24a.- Col. Pobres Unidos, Tapachula.
Intendente
Soltera
19/11/12 Nota inicial y preoperatoria:
1.58m Antecedentes:
87.5 kg Sobrepeso 29.5 kg
Síndrome de Intestino Irritable con estreñimiento de larga evolución
Niega DM, hipertensión, alergias.
MC: Dolor en HD sec a colecistopatía.
EF Obesa, sin ictericia, con dolor en HD sin megalias ni plastrones, ni IP.
Usg hepatobiliar del Dr. Toledo del 24/oct/12: CCL con lito enclavado en cuello
vesicular.
Vesícula con pared delgada, Colédoco 2 mm, Bazo, Páncreas normales.
Dx.- CCL agudizada.
Plan: Laboratorio y Usg con RHH.
Colecistectomía / Pati2dh ωεςα18.5/
22/11/12 Hb12.5, Ht42%, GB8600, Plat381mil,Sangre O+,TP12” (11.5), TTP30.3 (25-35), Gluc
99.
Usg Dr RHH 22/Nov/12:-Vesícula 62x32mm, pared delgada con varios litos,
Colédoco 5mm,
Porta 11mm,
-Hígado Graso difuso severo (Grado III)
-Páncreas y Riñones normales.
Conclusión: Obesidad
Colecistitis crónica litiásica agudizada
Hígado graso severo Grado III
Sx intestino irritable con E.
Plan: Colecistectomía el lunes 26 a las 8 de la mañana.
Indicaciones para su ingreso:
a. Ingres a las 8 de la mañana
b. Signos vitales
c. Avisar al anestesiólogo
d. 1000 ml Hartman para 8 hs
e. Ceftrex 1 gr IV a su ingreso
f. Ranisen 1 amp IV a su ingreso
26/11/12 Nota postoperatoria:
IC: 21:00hs Dx preoperatorio: CCL
TC: 22:40hs Dx postoperatorio: CCL
Operación realizada: Colecistectomía abierta
Hallazgos: Vesícula de 6x4 cm, pared delgada, 4 litos de 8-10 mm
formado de microlitos, Cístico de 2mm, Colédoco 6 mm.
Cirujano: Dr. Gurría, Dr. Medina, Dr. Trujillo, Enf Magaly
Anestesia: BPD por Dra. Tania Hernández López
64. RESIDENCIA PROFESIONAL
58
Complicaciones: Ninguna
Sangrado: 10-20 ml
Estado de salud: Delicado
Pronóstico: Bueno.
Indicaciones postoperatorias:
a. Ayuno
b. SV cada 30 minutos en hoja separada.
c. Cambio de apósitos PRN
d. Reportarme sangrado
1. 1000 ml glucosa 5% para 8 hs
1000 ml mixto para 8 hs
1000 ml glucosa 5% para 8 hs
2. Ketorolaco 60 mg IV cada 6 hs
3. Ranisen 1 amp IV cada 12 hs
4. Metoclopramida 10 mg IV cada 8 hs
28/11/12 PQ2, sincomplicaciones,ingestabientolerada,excretasnormales,SV normales,sin
sangrado, retiro 10:59hs Penrose sin problema. Sin irritación peritoneal.
Plan de egreso: *MHD para colitis con E
*Cita el 4 de dica las 10 hs
*Actron plus Cáps 1x2x5
*Eborix (cleboprida) 500 mcg 1x3x20
*Liberan (simeticona) Tab. Mast. 2x4 htc
66. RESIDENCIA PROFESIONAL
60
Actores
ACT-0001 Administrador
Versión 1.0 ( 06/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Descripción Este actor representa a la persona que Gestionará a los
usuarios, así como a los aspectos de catálogos del sistema
Comentarios Ninguno
Actor Administrador
ACT-0002 Médico
Versión 1.0 ( 06/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Descripción Este actor representa A quien gestionará a los pacientes, citas
médicas, consultas, cirugías, cobros, recetas, pruebas de
laboratorio y ultrasonidos.
Comentarios Ninguno
Actor Médico
ACT-0003 Gestor de citas
Versión 1.0 ( 06/03/2013 )
Autores
Fuentes
Descripción Este actor representa A una secretaria. Podrá gestionar
únicamente a pacientes y citas médicas.
Comentarios Ninguno
Actor Gestor de citas
67. RESIDENCIA PROFESIONAL
61
ACT-0004 Usuario
Versión 1.0 ( 06/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Descripción Este actor representa a todos los actores que utilizarán el
sistema
Comentarios Ninguno
Actor Usuario
Casos de uso
UC-0001 Logueo
Versión 1.0 ( 06/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando El siguiente caso de uso
comienza cuando un usuario solicita realizar algún tipo de
operación en el sistema. o durante la realización de los
siguientes casos de uso: [UC-0002] Administrar paciente, [UC-
0003] Buscar paciente, [UC-0004] Exportar lista de pacientes,
[UC-0005] Administrar pagos, [UC-0006] Consulta de calendario
de citas, [UC-0007] Administrar citas médicas, [UC-0008]
Generar reportes, [UC-0010] Administrar consulta, [UC-0011]
Administrar pruebas de laboratorio, [UC-0012] Administrar
resultados de ultrasonido, [UC-0013] Administrar recetas, [UC-
0014] Consulta de calendario de cirugías, [UC-0015]
Administrar fechas de cirugía, [UC-0016] Reporte de cirugías
pendientes, [UC-0017] Solicitud de cita, [UC-0019] Consulta de
cita, [UC-0020] Cancelación de cita
Precondición El usuario debe estar registrado en el sistema
el usuario debe tener su respectivo nombre de usuario y
contraseña
Secuencia
normal
Paso Acción
1 El actor Usuario (ACT-0004) abre la página del sistema
2 El sistema Solicita que el usuario se identifique
ingresando su usuario y contraseña.
3 El actor Usuario (ACT-0004) da clic en el botón entrar.
4 El sistema Muestra la página de inicio donde se
encuentran los menús, y el espacio de trabajo
68. RESIDENCIA PROFESIONAL
62
5 El actor Usuario (ACT-0004) Selecciona alguna opción
del menú que requiere
Postcondición El usuario que ingresa al sistema podrá realizar los movimientos
que necesite.
Excepciones Paso Acción
2 Si Cancelación de logueo, el actor Usuario (ACT-0004)
Puede cancelar el proceso en cualquier momento
pulsando el botón Cancelar reiniciando de esta forma el
caso de uso., a continuación este caso de uso queda sin
efecto
2 Si nombre de usuario o contraseña incorrectos, el
sistema Mostrará un mensaje con el aviso de error, a
continuación este caso de uso continúa
Rendimiento Paso Tiempo máximo
2 2 segundo(s)
4 1 segundo(s)
Frecuencia
esperada
5 veces por día(s)
Importancia importante
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Logueo
UC-0002 Administrar paciente
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se necesita gestionar a los
pacientes del sistema
Precondición El gestor de citas debe de estar logueado
El paciente debe de estar dado de alta en el sistema
Secuencia
normal
Paso Acción
1 Si Gestor de citas no está logueado en el sistema, se
realiza el caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Buscar paciente (UC-0003)
3 El sistema Despliega una tabla con los datos del
paciente, además de sus respectivas opciones de
modificar, eliminar y consultar.
69. RESIDENCIA PROFESIONAL
63
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta del paciente
Excepciones Paso Acción
3 Si El paciente es nuevo, el actor Gestor de citas (ACT-
0003) Da clic en el botón "nuevo paciente" para
ingresarlo al sistema, a continuación este caso de uso
continúa
Rendimiento Paso Tiempo máximo
3 1 segundo(s)
Frecuencia
esperada
30 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar paciente
UC-0003 Buscar paciente
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se requiere realizar un
movimiento de Alta, baja, modificación o consulta de paciente o
durante la realización de los siguientes casos de uso: [UC-0002]
Administrar paciente, [UC-0005] Administrar pagos, [UC-0010]
Administrar consulta, [UC-0011] Administrar pruebas de
laboratorio, [UC-0012] Administrar resultados de ultrasonido,
[UC-0013] Administrar recetas
Precondición El gestor de citas debe de estar logueado en el sistema
El paciente debe de estar dado de alta en el sistema
Secuencia
normal
Paso Acción
1 Si Gestor de citas no está logueado en el sistema, se
realiza el caso de uso Logueo (UC-0001)
2 El actor Gestor de citas (ACT-0003) Accede a la sección
Pacientes en el menú principal
3 El sistema Visualiza un campo de texto para introducir el
nombre del paciente a gestionar
4 El actor Gestor de citas (ACT-0003) Introduce el nombre
del paciente a gestionar
70. RESIDENCIA PROFESIONAL
64
5 El actor Gestor de citas (ACT-0003) Da clic en el botón
"buscar"
Postcondición El gestor de citas podrá realizar cualquier movimiento sobre el
paciente
Excepciones Paso Acción
5 Si Cancelación de búsqueda de paciente, el actor Gestor
de citas (ACT-0003) Puede cancelar el proceso en
cualquier momento pulsando el botón Cancelar
reiniciando de esta forma el caso de uso, a continuación
este caso de uso queda sin efecto
Rendimiento Paso Tiempo máximo
3 1 segundo(s)
Frecuencia
esperada
40 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Buscar paciente
UC-0004 Exportar lista de pacientes
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se requiera conocer los datos de
todos los pacientes del sistema
Precondición El gestor citas debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si Gestor de citas no está logueado en el sistema, se
realiza el caso de uso Logueo (UC-0001)
2 El actor Gestor de citas (ACT-0003) Se dirige al menú
principal y selecciona la opción "pacientes"
3 El actor Gestor de citas (ACT-0003) Selecciona del
submenú la opción "Exportar lista de pacientes a PDF" o
"Exportar lista de pacientes a EXCEL"
4 El sistema genera un archivo .pdf o .xls (según sea el
caso) con los datos de los pacientes, así como su
correspondiente expediente clínico
Postcondición
Excepciones Paso Acción
71. RESIDENCIA PROFESIONAL
65
- -
Rendimiento Paso Tiempo máximo
4 2 segundo(s)
Frecuencia
esperada
1 veces por día(s)
Importancia importante
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Exportar lista de pacientes
UC-0005 Administrar pagos
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se llevará a cabo la
administración de los cobros realizados a los pacientes
Precondición El médico debe de estar logueado en el sistema
El paciente debe de estar dado de alta en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Buscar paciente (UC-0003)
3 El actor Médico (ACT-0002) Selecciona al paciente al
cual se le realizará el cobro
4 El sistema Visualiza la lista de todos los pagos
realizados por el paciente, con sus respectivas opciones
de eliminar, modificar y consultar
5 El actor Médico (ACT-0002) , para ingresar un nuevo
pago, debe de dar clic en el botón "nuevo pago"
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de cobro
Excepciones Paso Acción
5 Si Cancelación de cobro, el actor Médico (ACT-0002)
Puede cancelar el proceso en cualquier momento
pulsando el botón Cancelar reiniciando de esta forma el
caso de uso, a continuación este caso de uso queda sin
efecto
Rendimiento Paso Tiempo máximo
4 1 segundo(s)
72. RESIDENCIA PROFESIONAL
66
Frecuencia
esperada
30 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar pagos
UC-0006 Consulta de calendario de citas
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se requiera consultar citas o
durante la realización de los siguientes casos de uso: [UC-0007]
Administrar citas médicas
Precondición El Gestor de cobros debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si Gestor de citas no está logueado en el sistema, se
realiza el caso de uso Logueo (UC-0001)
2 El actor Gestor de citas (ACT-0003) Selecciona la
opción "citas" del menú principal
3 El sistema Visualiza las opciones del menú "citas"
4 El actor Gestor de citas (ACT-0003) Selecciona "ver
calendario"
5 El sistema Visualiza el calendario de citas
6 El actor Gestor de citas (ACT-0003) puede seleccionar
entre 3 formas de vista de calendario, por día, por
semana y por mes
Postcondición
Excepciones Paso Acción
5 Si Regreso a pantalla de inicio, el actor Gestor de citas
(ACT-0003) Da clic en el botón "inicio" del menú
principal, a continuación este caso de uso queda sin
efecto
Rendimiento Paso Tiempo máximo
3 1 segundo(s)
5 1 segundo(s)
Frecuencia
esperada
40 veces por día(s)
Importancia vital
73. RESIDENCIA PROFESIONAL
67
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Consulta de calendario de citas
UC-0007 Administrar citas médicas
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando el Gestor de citas necesita
realizar una acción de alta, baja, modificación o consulta de
citas
Precondición El gestor de citas debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si El gestor de citas no está logueado en el sistema, se
realiza el caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Consulta de calendario de
citas (UC-0006)
3 El actor Gestor de citas (ACT-0003) Selecciona la fecha
y hora a gestionar
4 El sistema Visualiza un formulario con los campos de
hora de inicio y fin de cita
5 El actor Gestor de citas (ACT-0003) Ingresa los datos de
hora de inicio y hora fin de cita, y si es requerido, algún
comentario para la cita
6 El actor Gestor de citas (ACT-0003) Guarda la cita
dando clic en el botón "guardar"
7 El sistema Envía un recordatorio de cita correo
electrónico al paciente 24 horas antes de que inicie la
cita
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de cita
Excepciones Paso Acción
4 Si Cita existente, el sistema Muestra los datos de la cita
con sus respectivas opciones de modificar y eliminar
cita, a continuación este caso de uso continúa
Rendimiento Paso Tiempo máximo
4 1 segundo(s)
7 5 segundo(s)
74. RESIDENCIA PROFESIONAL
68
Frecuencia
esperada
20 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar citas médicas
UC-0008 Generar reportes
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se requiera saber la información
de citas del día, citas pendientes o ganancias
Precondición El gestor de citas debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si El gestor de citas no está logueado en el sistema, se
realiza el caso de uso Logueo (UC-0001)
2 El actor Gestor de citas (ACT-0003) Selecciona la
opción "Reportes" del menú principal
3 El sistema Visualiza una lista de opciones, como citas
del día o citas pendientes
4 El actor Gestor de citas (ACT-0003) Selecciona una de
las opciones
5 El sistema Exporta los datos a un archivo .pdf y los
visualiza en el navegador
Postcondición
Excepciones Paso Acción
- -
Rendimiento Paso Tiempo máximo
3 1 segundo(s)
5 2 segundo(s)
Frecuencia
esperada
2 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Generar reportes
75. RESIDENCIA PROFESIONAL
69
UC-009 Administrar consulta
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se necesita gestionar las
consultas médicas
Precondición El médico debe de estar logueado
El paciente debe de estar dado de alta en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Buscar paciente (UC-0003)
3 El actor Médico (ACT-0002) Selecciona al paciente al
cual le brindará la consulta
4 El sistema Visualiza varias secciones relacionados al
paciente
5 El actor Médico (ACT-0002) Entra en la sección
"Consultas"
6 El sistema Visualiza todas las consultas realizadas al
paciente, con sus respectivas opciones de modificar y
eliminar, además de la opción "nueva consulta"
7 El actor Médico (ACT-0002) Selecciona "Nueva
consulta"
8 El sistema Visualiza un formulario donde se introducen
los datos correspondientes a la consulta actual
9 El actor Médico (ACT-0002) Introduce los datos de
consulta
10 El actor Médico (ACT-0002) Guarda la consulta dando
clic en el botón "Guardar"
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de consulta médica
Excepciones Paso Acción
7 Si Se requiere modificación o eliminación de consulta , el
actor Médico (ACT-0002) Selecciona la opción modificar
o eliminar consulta, a continuación este caso de uso
continúa
Rendimiento Paso Tiempo máximo
4 1 segundo(s)
6 1 segundo(s)
8 1 segundo(s)
76. RESIDENCIA PROFESIONAL
70
Frecuencia
esperada
20 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar consulta
UC-0010 Administrar pruebas de laboratorio
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se necesita gestionarlaspruebasde
laboratorio
Precondición Se necesite gestionar las pruebas de laboratorio
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el caso de
uso Logueo (UC-0001)
2 Se realiza el caso de uso Buscar paciente (UC-0003)
3 El actor Médico (ACT-0002) Selecciona al paciente el cualle
entrega los resultadosdelaboratorio
4 El sistema Visualiza variasseccionesrelacionadosal paciente
5 El actor Médico (ACT-0002) Entra en la sección "Pruebasde
laboratorio"
6 El sistema Visualiza todaslas pruebasdelaboratorio capturadas
del paciente,con susrespectivasopcionesdemodificary eliminar,
ademásdela opción "ingresarnueva prueba"
7 El actor Médico (ACT-0002) Selecciona "Ingresarnueva prueba"
8 El sistema Visualiza un formulario dondeseintroducen los datos
de la prueba
9 El actor Médico (ACT-0002) Introducelosdatosdela prueba
10 El actor Médico (ACT-0002) Guarda losdatosdando clic en el
botón "Guardar"
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de pruebas de laboratorio
Excepciones Paso Acción
7 Si Se requieremodificación o eliminación de consulta , el actor
Médico (ACT-0002) Selecciona la opción modificaro eliminar
prueba, a continuación este caso de uso continúa
Rendimiento Paso Tiempo máximo
77. RESIDENCIA PROFESIONAL
71
4 1 segundo(s)
6 1 segundo(s)
8 1 segundo(s)
Frecuencia
esperada
5 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar pruebas de laboratorio
UC-0011 Administrar resultados de ultrasonido
Versión 1.0 ( 14/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se necesita gestionar resultados
de ultrasonido
Precondición El médico debe de estar logueado
El paciente debe de estar dado de alta en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Buscar paciente (UC-0003)
3 El actor Médico (ACT-0002) Selecciona al paciente el
cual le entrega los resultados de ultrasonido
4 El sistema Visualiza varias secciones relacionados al
paciente
5 El actor Médico (ACT-0002) Entra en la sección
"Resultados de ultrasonido"
6 El sistema Visualiza todos los resultados de ultrasonido
capturados del paciente, con sus respectivas opciones
de modificar y eliminar, además de la opción "ingresar
nuevos resultados"
7 El actor Médico (ACT-0002) Selecciona "Ingresar
nuevos resultados"
8 El sistema Visualiza un formulario donde se introducen
los datos de los resultados
9 El actor Médico (ACT-0002) Introduce los datos de los
resultados
78. RESIDENCIA PROFESIONAL
72
10 El actor Médico (ACT-0002) Guarda los datos dando clic
en el botón "Guardar"
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de resultados de ultrasonido
Excepciones Paso Acción
7 Si Se requiere modificación o eliminación de resultado
de ultrasonido, el actor Médico (ACT-0002) Selecciona
la opción modificar o eliminar resultado, a continuación
este caso de uso continúa
Rendimiento Paso Tiempo máximo
4 1 segundo(s)
6 1 segundo(s)
8 1 segundo(s)
Frecuencia
esperada
5 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar resultados de ultrasonido
UC-0012 Administrar recetas
Versión 1.0 ( 15/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se necesita gestionar las recetas
médicas
Precondición El médico debe de estar logueado
El paciente debe de estar dado de alta en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Buscar paciente (UC-0003)
3 El actor Médico (ACT-0002) Selecciona al paciente
4 El sistema Visualiza varias secciones relacionadas al
paciente
5 El actor Médico (ACT-0002) Entra en la sección
"Recetas médicas"
79. RESIDENCIA PROFESIONAL
73
6 El sistema Visualiza todas las recetas prescritas al
paciente, con sus respectivas opciones de modificar y
eliminar, además de la opción "ingresar nueva receta"
7 El actor Médico (ACT-0002) Selecciona "Ingresar nueva
receta"
8 El sistema Visualiza un formulario donde se introducen
los datos de la receta
9 El actor Médico (ACT-0002) Introduce los datos de la
receta
10 El actor Médico (ACT-0002) Guarda los datos dando clic
en el botón "Guardar receta"
11 El sistema Visualiza los datos de la receta
12 El actor Médico (ACT-0002) Imprime la receta
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de receta médica
Excepciones Paso Acción
7 Si Se requiere modificación o eliminación de alguna
receta, el actor Médico (ACT-0002) Selecciona la opción
modificar o eliminar, a continuación este caso de uso
continúa
Rendimiento Paso Tiempo máximo
4 1 segundo(s)
6 1 segundo(s)
8 1 segundo(s)
11 2 segundo(s)
Frecuencia
esperada
20 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar recetas
UC-0013 Consulta de calendario de cirugías
Versión 1.0 ( 15/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se requiera consultar fechas de
cirugías o durante la realización de los siguientes casos de uso:
[UC-0015] Administrar fechas de cirugía
80. RESIDENCIA PROFESIONAL
74
Precondición El médico debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 El actor Médico (ACT-0002) Selecciona la opción
"Cirugías" del menú principal
3 El sistema Visualiza el calendario de cirugías
4 El actor Médico (ACT-0002) Puede seleccionar entre 3
formas de vista de calendario, por día, por semana y por
mes
Postcondición
Excepciones Paso Acción
3 Si Regreso a pantalla de inicio, el actor Médico (ACT-
0002) Da clic en el botón "inicio" del menú principal, a
continuación este caso de uso queda sin efecto
Rendimiento Paso Tiempo máximo
3 1 segundo(s)
Frecuencia
esperada
10 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Consulta del calendario de cirugías
UC-0014 Administrar fechas de cirugía
Versión 1.0 ( 15/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando el médico necesita realizar una
acción de alta, baja, modificación o consulta de calendarización
de cirugía
Precondición El médico debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 Se realiza el caso de uso Consulta de calendario de
cirugías (UC-0014)
3 El actor Médico (ACT-0002) Selecciona la fecha y hora a
gestionar
81. RESIDENCIA PROFESIONAL
75
4 El sistema Visualiza un formulario con los campos de
fecha de cirugía y observaciones
5 El actor Médico (ACT-0002) Ingresa los datos requeridos
en el formulario
6 El actor Médico (ACT-0002) Guarda la fecha de cirugía
dando clic en el botón "guardar"
Postcondición Se ha realizado alguna operación de alta, baja, modificación o
consulta de fecha de cirugía
Excepciones Paso Acción
4 Si Fecha de cirugía existente , el sistema Muestra los
datos de la cita con sus respectivas opciones de
modificar y eliminar fecha de cirugía, a continuación este
caso de uso continúa
Rendimiento Paso Tiempo máximo
4 1 segundo(s)
Frecuencia
esperada
5 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Administrar fechas de cirugía
UC-0015 Reporte de cirugías pendientes
Versión 1.0 ( 16/03/2013 )
Autores Exal Alejandro Saenz Matuz
Fuentes
Dependencias Ninguno
Descripción El sistema deberá comportarse tal como se describe en el
siguiente caso de uso cuando Se necesita generar reportes de
cirugías pendientes
Precondición El médico debe de estar logueado en el sistema
Secuencia
normal
Paso Acción
1 Si Médico no está logueado en el sistema, se realiza el
caso de uso Logueo (UC-0001)
2 El actor Médico (ACT-0002) Selecciona la opción
"Cirugías" del menú principal
3 El actor Médico (ACT-0002) Da clic en la opción
"Reporte de cirugías pendientes"
4 El sistema Exporta los datos a un archivo .pdf y los
visualiza en el navegador
Postcondición
82. RESIDENCIA PROFESIONAL
76
Excepciones Paso Acción
- -
Rendimiento Paso Tiempo máximo
4 2 segundo(s)
Frecuencia
esperada
1 veces por día(s)
Importancia vital
Urgencia inmediatamente
Estado en construcción
Estabilidad alta
Comentarios Ninguno
CU Reporte de cirugías pendientes
84. RESIDENCIA PROFESIONAL
78
Diagrama de secuencia Logueo
Diagrama de secuencia Administrar paciente
sd Logueo
Usuario IU Navegador Entidad Usuario IU Espacio de
trabajo
1: Abrir página del sistema()
2: Formulario de logueo()
3: Ingresar usuario y contraseña()
4: Validar Usuario
y contraseña()
5: Accesar al sistema()
6: Visualiza
espacio de
trabajo()
sd Administrar paciente
IU Menú pacientes Lista de pacientesGestor de citas y cobros IU Gestión de
paciente
CRUD PacienteIU Sección
pacientes
Paciente
1: Selecionar "buscar
paciente"()
2: Visualiza
formulario de
busqueda()
3: Ingresa nombre de paciente()
4: busca paciente()
5: Resultado de busqueda()
6: Visualizar datos de
paciente()
7: Visualizar opciones de
gestión()
8: Seleccionar
opción()
85. RESIDENCIA PROFESIONAL
79
Diagrama de secuencia Buscar paciente
Diagrama de secuencia Exportar lista de pacientes
sd Buscar Paciente
Gestor de citas y cobros IU Menú pacientes Lista de pacientesIU Sección
pacientes
1: Seleccionar "buscar
paciente"()
2: Visualiza formulario de
busqueda()
3: Ingresa nombre de
paciente()
4: busca
paciente()
5: Resultado
de
busqueda()
sd Exportar lista de pacientes
Gestor de citas y cobros IU Menú pacientes Libreria de
exportación
IU Navegador
1: Seleccionar "Exportar lista de pacientes"()
2: Genera archivo con datos de
pacientes()
3: Opción de
descarga()
4: Aceptar descarga()
86. RESIDENCIA PROFESIONAL
80
Diagrama de secuencia Administrar pagos
Diagrama de secuencia Consulta de calendario de citas
sd Consulta calendario de citas
Gestor de citas y cobros IU Menú principal IU Calendario de
citas
1: Selecciona opción
citas()
2: Visualizar lista de opciones
Menú citas()
3: Seleccionar opción "ver
calendario"()
4: Visualizar
calendario()
5: Opciones de
visualización()
6: Selecciona opción de visualización()
sd Administrar pagos
Gestor de citas y cobros IU Menú pacientes Lista de pacientesIU Sección
pacientes
IU Gestión de
cobros
CRUD cobros
1: Selecionar "buscar paciente"()
2: Visualiza formulario de busqueda()
3: Ingresa nombre de paciente()
4: busca paciente()
5: Resultado de busqueda()
6: Seleccionar
paciente()
7: Visualiza opciones de gestión de
pagos()
8: Seleciona opción()
87. RESIDENCIA PROFESIONAL
81
Diagrama de secuencia Administrar citas médicas
Diagrama de secuencia Generar reportes
sd Administrar citas médicas
Gestor de citas y cobros IU Menú principal IU Calendario de
citas
Entidad citaIU Formulario de
cita
Entidad Fecha Correo recordatorio Paciente
1: Selecciona
opción citas()
2: Mostrar lista de
opciones Menú citas()
3: Seleccionar
opción "ver
calendario"()
4: Visualizar
calendario()
5: Opciones
de
visualización()
6: Selecciona
opción de
visualización()
7: Mostrar
fechas()
8:
Seleccionar
fecha() 9: Visualizar
formulario de
registro()
10:
Completar
formulario()
11:
Guardar
cita()
Generar
correo()
programar envio 24
horas antes de cita()
Enviar
correo()
sd Generar reportes
Gestor de citas y cobros IU Menú principal Libreria de
exportación
IU Navegador
1: Selecciona opción
reportes()
2: Visualizar lista de opciones de
menú "reportes"()
3: selecciona opción()
4: Genera archivo con datos del
reporte()
5: Opción de descarga()
6: Aceptar descarga()
7: Visualizar datos de
reporte()
88. RESIDENCIA PROFESIONAL
82
Diagrama de secuencia Administrar consulta
Diagrama de secuencia Administrar pruebas de laboratorio
sd Administrar Consulta
IU Menú pacientes Lista de pacientesIU Sección
pacientes
Médico IU Gestión
consultas
Entidad consulta
1: Selecionar "buscar paciente"()
2: Visualiza formulario de busqueda()
3: Ingresa nombre de paciente()
4: busca paciente()
5: Resultado de busqueda()
6: Seleccionar paciente()
7: Visualizar lista de consultas
y opción nueva consulta()
8: Seleccionar nueva
consulta()
9: Visualizar formulario de
consulta()
10: Introducir datos de
consulta()
11: Guardar consulta()
sd Administrar pruebas de laboratorio
IU Menú pacientes Lista de pacientesIU Sección
pacientes
Médico IU Gestión pruebas
de laboratorio
Entidad Prueba de
laboratorio
1: Selecionar "buscar paciente"()
2: Visualiza formulario de busqueda()
3: Ingresa nombre de paciente()
4: Busca paciente()
5: Resultado de busqueda()
6: Seleccionar paciente()
7: Visualiza lista de pruebas guardadas y opción nueva prueba()
8: Selecciona nueva prueba()
9: Visualizar formulario()
10: Introducir datos de prueba()
11: Guardar datos de prueba()
89. RESIDENCIA PROFESIONAL
83
Diagrama de secuencia Administrar resultados de ultrasonido
Diagrama de secuencia Administrar recetas
sd Administrar pruebas de ultrasonido
IU Menú pacientes Lista de pacientesIU Sección
pacientes
Médico IU Gestión
resultados de
ultrasonido
Entidad resultados
de ultrasonido
1: Selecionar "buscar paciente"()
2: Visualiza formulario de busqueda()
3: Ingresa nombre de paciente()
4: busca paciente()
5: Resultado de busqueda()
6: Seleccionar paciente()
7: Visualiza resultados guardados y opción nuevo resultado()
8: Seleccionar nuevo resultado()
9: Visualizar formulario()
10: Introducir
datos de
resultados()
11: Guardar datos de resultado()
sd Administrar recetas
IU Menú pacientes IU Sección
pacientes
Médico Lista de pacientes IU Gestión recetas Entidad Receta
1: Selecionar "buscar paciente"()
2: Visualiza formulario de busqueda()
3: Ingresa nombre de paciente()
4: busca paciente()
5: Resultado de busqueda()
6: Seleccionar paciente()
7: Visualiza todas las recetas prescritas y opción nueva receta()
8: Selecciona nueva receta()
9: Visualiza formulario()
10: Introducir datos de receta()
11: Imprimir receta()
12: Guardar datos de receta()
90. RESIDENCIA PROFESIONAL
84
Diagrama de secuencia Consulta de calendario de cirugías
Diagrama de secuencia Administrar fechas de cirugía
sd Consulta calendario de cirugías
Médico IU Menú principal IU Calendario de
cirugías
1: Selecciona opción cirugías()
2: Visualizar opciones de menú cirugías()
3: Seleccionar opción "Consulta de calendario()
4: Visualizar calendario()
5: Opciones de visualización()
6: Selecciona opción de visualización()
sd Administrar fechas para cirugía
Médico IU Menú principal IU Calendario de
cirugías
Entidad Fecha
cirugía
1: Selecciona opción cirugías()
2: Visualiza opciones
de menú cirugía()
3: Seleccionar opción "Consulta de calendario()
4: Visualizar calendario()
5: Opciones de visualización()
6: Seleccionar opción
de visualización()
7: Mostrar fechas()
8: Seleccionar fecha()
9: Visualizar formulario de registro()
10: completar formulario()
11: Reservar
cirugía()