• No se han encontrado resultados

Sistema para la elaboración y control de expedientes médicos en el CERESO de Colima

N/A
N/A
Protected

Academic year: 2020

Share "Sistema para la elaboración y control de expedientes médicos en el CERESO de Colima"

Copied!
82
0
0

Texto completo

(1)

Departamento de Sistemas y Computación

Ingeniería en Informática

Reporte Final de Residencia Profesional

“Sistema para la elaboración y control de expedientes

médicos en el CERESO de Colima”

Residente:

Juan Pablo González Ramírez 10460714

Jaime Brizuela Amezcua 11460675

Asesor interno:

M.C. Ana Claudia Ruiz Tadeo

(2)
(3)
(4)

Página 4

AGRADECIMIENTOS

A Dios:

Por permitirme por estar siempre conmigo caminando juntos y superando cada

obstáculo, sobre todo por permitir llegar a esta etapa tan importante en mi vida.

A mis Padres

Primeramente por la vida y su amor incondicional, también el apoyo y la confianza

absoluta, gracias a ustedes por ser el soporte que necesite durante mi carrera y que hoy

en día culmino.

A mis Profesores

A cada uno de mis maestros le agradezco por que fueron parte de mi formación, a base

de sus enseñanzas y exigencias fueron participe de mis conocimientos y desarrollo

académico.

A M.C Ana Claudia Ruiz Tadeo

Primeramente gracias por aceptarnos como alumnos residentes, y muchas gracias por

darme la confianza y apoyo para el desarrollo de este proyecto.

A mis Amigos y Compañeros

Agradezco a mis compañeros y amigos que caminamos junto estas carreras y que me

brindaron su apoyo durante todo el curso, pero sobre todo su amistad y confianza, que

(5)

Página 5

Datos Fiscales

Centro Estatal de Readaptación Social RFC: IIC070302Q77

Dirección: Prolongación Av. Gonzalo de Sandoval No. 2000

Colima, Colima.

Teléfono: 01 (312) 312 55 15

Correo electrónico: [email protected]

Datos del Asesor Externo

Nombre: Dr. Martin Medina Ramos

Dirección: Prolongación Av. Gonzalo de Sandoval No. 2000

Colima, Colima.

Teléfono: 01 (312) 312 55 15 Ext. 121

Móvil: 044 3121077501

Correo electrónico: [email protected]

Datos de los Residentes

No. Control: 10460714

Nombre: Juan Pablo González Ramírez

Carrera: Ingeniería en Informática

Dirección: Ávila Camacho #4, Colonia Lázaro Cárdenas, Comala, Colima

Móvil: 3121173067

Correo electrónico: [email protected]

No. Control: 11460675

Nombre: Jaime Brizuela Amezcua

Carrera: Ingeniería en Informática

Dirección: Agustín Santa Cruz #575, Colonia Jardines Vista Hermosa, Colima Col.

Móvil: 312 154 15 67

(6)

Página 6 Firmas

_________________________________________________ Juan Pablo González Ramírez

Residente

_________________________________________________ Jaime Brizuela Amezcua

Residente

_________________________________________________ Dr. Martin Medina Ramos

Asesor externo

_________________________________________________ M.C. Ana Claudia Ruiz Tadeo

Asesor interno

________________________________________________ M. C. Pedro Rocha Medrano

Primer revisor

__________________________________________________ Segundo revisor

(7)

Página 7

Contenido

CAPTULO 1: CONTEXTO DEL PROYECTO ... 11

1.1 Introducción ... 12

1.2 Justificación ... 13

1.3 Hipótesis... 14

1.4 Objetivos ... 14

1.4.1 Objetivo General ... 14

1.4.2 Objetivos Específicos ... 14

1.5 Caracterización en el área que se participo ... 15

1.6 Problemas a resolver ... 16

1.7 Alcances y Limites ... 16

1.8 Estudio de factibilidad ... 17

1.8.1 Factibilidad económica ... 17

1.8.2 Factibilidad técnica ... 17

1.8.3 Factibilidad operativa ... 17

1.8.4 Factibilidad legal... 17

1.9 Análisis Costos – Beneficios ... 18

1.10 Ventajas competitivas ... 19

CAPTULO 2: FUNDAMENTO TEORICO... 20

2.1 Ciclo de vida del desarrollo de sistemas ... 21

2.2 Lenguaje de programación ... 24

2.3 Lenguaje de programación web ... 25

2.4 MySql ... 25

2.5 PHP ... 26

2.6 HTML ... 27

2.7 CSS ... 27

2.8 JavaScript ... 28

CAPTULO 3: PROCEDIMIENTO Y DESCRIPCIÓN DE LAS ACTIVIDADES ... 29

3.1 Metodología ... 30

3.2. Requerimientos de usuarios ... 30

3.3 Análisis del sistema ... 31

(8)

Página 8

3.3.2 Diagrama de estados ... 36

3.3.3 Diagramas Entidad – Relación ... 39

3.3.4 Diccionario de datos... 40

3.4 Diseño de interfaces ... 44

3.5 Desarrollo ... 52

3.6 Pruebas ... 56

CAPITULO 4: CONCLUSIONES ... 58

4.1 Cumplimientos de los objetivos ... 59

4.2 Trabajos a futuros ... 60

4.3 Conclusión... 60

Bibliografia ... 61

Anexos ... 63

Creación de Base de Datos ... 64

Código Registro de Interno ... 66

Código de Registro de Medico ... 67

Código creación de Consulta ... 68

(9)

Página 9

Contenido de Tablas

Tabla 1: Costos del Proyecto ... 18

Tabla 2: Lenguajes de Programación ... 24

Tabla 3 Diccionario de tablas de interno ... 41

Tabla 4 Diccionario de consulta... 41

Tabla 5 Diccionario de expediente clínico ... 42

Tabla 6 Diccionario de tabla consulta ... 42

Tabla 7 Diccionario de medico ... 43

Tabla 8 Diccionario de diagnostico ... 43

(10)

Página 10

Contenido de Figuras

Figura 1: Ubicación del Ce.Re.So ... 12

Figura 2: Organigrama del Centro de Inserción Social ... 15

Figura 3: Fases del ciclo de vida del desarrollo de sistemas ... 21

Figura 4: Arquitectura de los lenguajes de programación web... 25

Figura 5: Diferencia entre la Programación del lado del servidor y del cliente ... 26

Figura 6: Contenido HTML detrás de una página web ... 27

Figura 7 Fases de la Cascada ... 30

Figura 8: Creación del historial medico ... 32

Figura 9: Autentificación de usuario ... 33

Figura 10: Diagrama Caso de uso "Consulta rápida". ... 34

Figura 11: Agregar usuario ... 35

Figura 12: Diagrama de estados "Autentificación de usuario" ... 36

Figura 13: Registro de un usuario ... 37

Figura 14: Nota de valoración medica ... 38

Figura 15: Diagrama de Entidad - Relación ... 39

Figura 16: Iniciar Sesión... 44

Figura 17: Bienvenida al sistema ... 45

Figura 18: Creación de nuevo interno ... 46

Figura 19: Búsqueda de internos ... 47

Figura 20: Ejemplo de registro de medico ... 48

Figura 21: Buscar médicos ... 49

Figura 22: Pantalla de consulta ... 50

(11)

Página 11

CAPTULO 1: CONTEXTO DEL

(12)

Página 12

1.1 Introducción

Las instituciones son mecanismos de orden social y cooperación que procuran

normalizar el comportamiento de un grupo de individuos. Las instituciones en dicho

sentido trascienden las voluntades individuales al identificarse con la imposición de un

propósito en teoría considerado como un bien social, es decir: normal para ése grupo.

Su mecanismo de funcionamiento varía ampliamente en cada caso, aunque se destaca la

elaboración de numerosas reglas o normas que suelen ser poco flexibles y moldeables.

La Dirección General de Prevención y Reinserción Social, es la dependencia encargada

de organizar y supervisar el sistema penitenciario del Estado, ejecutar las sentencias

dictadas por las autoridades judiciales penales en la entidad, así como de administrar

los centros de readaptación social de Colima, Manzanillo y Reclusorio de Tecomán.

En el Centro Estatal de Readaptación Social Colima nos dedicamos a la readaptación

social de los sentenciados, procurando la no desadaptación de los procesados;

comprometidos con la satisfacción del usuario y la mejora continua a través de la

profesionalización de nuestro personal y la actualización de nuestros procesos, con base

en la normatividad aplicable y la norma ISO 9001:2008.

(13)

Página 13 Esta institución se encuentra ubicada en Av. Prolongación Gonzalo de Sandoval No.

2000, colonia la estancia, colima, colima. Como se muestra en la figura 1; Dentro de

esta institución se encuentra la clínica del centro, la cual está conformada por varios

departamentos, entre ellos se encuentra el departamento Médico.

El Departamento Médico del Ce.Re.So tiene un sistema manual de generar expediente

médicos, y notas de seguimientos médicos del interno. Por lo que este proyecto

propone un sistema de control de expedientes clínico electrónico.

Con este proyecto se realizara un sistema que controla y maneja el expediente clínico

único de los internos del Centro de Reinserción Social Colima (CeReSo).

1.2 Justificación

Con el desarrollo de este sistema para el Departamento Medico del Centro de

Reinserción del Estado de colima, se pretende que tenga una mejor accesibilidad en los

expedientes médicos de los pacientes, para diversos objetivos, como llevar un registro

fiel de la atención medica que se proporciona a cada interno, facilitando el seguimiento

de los padecimientos que se vayan presentando, además generar los diferentes reportes

tales como las de internos, nota médicas, médicos y medicamentos, para el fin de una

buena y mejor toma de decisión.

Asimismo se podrá agilizar y mejorar la forma actual de cómo se lleva a cabo el control

del expediente clínico del interno, teniendo la disponibilidad de la información de dicho

expediente. Permitiendo organizar el historial clínico de cada paciente, y a la vez llevar

un control de medicamentos, del mismo modo controlar las agendas de los médicos

(14)

Página 14

1.3 Hipótesis

El uso de un sistema de administración digital para el área médica, permitirá disminuir

los tiempos de consultas médicas a los pacientes así como aumentar la eficacia para

controlar los expedientes médicos del CERESO.

1.4 Objetivos

1.4.1 Objetivo General

Desarrollar e implementar un sistema para automatizar y controlar los procesos del

Departamento Médico del CERESO Colima.

1.4.2 Objetivos Específicos

 Realizar un análisis de la manera en la que se integra y genera actualmente la

información

 Diseñar el modelo conceptual del sistema a desarrollar.

 Diseñar la base de datos en donde se va almacenar el expediente del paciente,

los datos de los medicamentos y de los doctores.

 Determinar los reportes y formatos de la información del usuario final.

 Implementar las medidas de seguridad requeridas para el equipo en el que se

almacenará la información.

(15)

Página 15

1.5 Caracterización en el área que se participo

En la figura 1 se muestra el organigrama que representa las jerarquías de diferentes

departamentos del Centro de Inserción Social Colima, en la cual se resalta El

departamento médico, que actualmente es responsable el Dr. Martin Medina y con el

que estoy trabajando de manera indirecta.

(16)

Página 16

1.6 Problemas a resolver

El problema principal es la falta de automatización en los diferentes procesos que se

realizan en el Departamento Medico del Centro de Reinserción Social Colima. En esta

área se contralan los expedientes de los internos en papel y los reportes en hojas de

cálculo y procesador de textos, por lo cual se complica controlar, consultar y

administrar medicamentos, así como la falta de estadísticas y reportes por diferentes

conceptos.

1.7 Alcances y Limites

Se pretende que con el desarrollo del sistema en el Departamento Medico del Centro de

Reinserción del Estado de colima, tenga una mejor accesibilidad en los expedientes

médicos de los pacientes, para diversos objetivos, todo esto con el fin de tener un

control más exacto en cuanto a que internos se les atiende porque doctor, así como para

saber que tratamiento se les dio.

Este sistema cubre las necesidades del Departamento Medico, y esta será operado por

los usuarios que estén registrados en el sistema por el coordinador, estos podrán acceder

al sistema por medio de la red del Gobierno del Estado.

El proyecto solo abarca un departamento dentro del Centro de Reinserción Social

Colima, que es el Departamento Medico y no tiene accesibilidad a la base de datos de

todo el centro. Cada uno de ellos le puede dar un enfoque diferente según sea el

(17)

Página 17

1.8 Estudio de factibilidad

1.8.1 Factibilidad económica

El proyecto es económicamente viable por los requerimientos para su desarrollo que se

mostró anteriormente. Además se cuenta con el equipo y eso no generara ningún gasto

externo. Asimismo debido a que el proyecto se desarrollará como residencia el costo

que genere de programación será nulo.

1.8.2 Factibilidad técnica

El proyecto es técnicamente factible debido a que se cuenta con el equipo necesario

para su desarrollo e implementación, ya que es accesible, así también se cuenta con la

experiencia en el manejo de programas de software que se utilizara para la realización

de los diversos módulos que se requiere para el proyecto.

1.8.3 Factibilidad operativa

El proyecto es posible operativamente ya que se cuenta con la asesoría de maestros

especializados en la materia, con la disponibilidad para brindar apoyo y aclarar

cualquier tipo de duda para el proyecto, además se cuenta con la disponibilidad del

usuario para poder operar el sistema.

1.8.4 Factibilidad legal

En el desarrollo de este proyecto se cuentan con licencias originales. En conclusión se

(18)

Página 18

1.9 Análisis Costos – Beneficios

Todo el equipo necesario para la realización y puesta en operación del proyecto es

otorgado por el residente y los asesores, el cual facilitara su desarrollo. Algunos de los

costos necesarios para la creación e implantación son los siguientes:

Materiales:Los gastos se reducen en caso de ser necesaria alguna licencia.

Gastos de Programación: Es el costo promedio de los programadores al realizar el

sistema. Los gastos de la etapa programación están basados en un salario de $50.00

pesos/hra. Tomando en cuenta que se trabajan 8 hrs. al día. Mientras que las etapas de

Análisis y diseño son consideradas a un costo de $55.00 pesos/hra, la implementación

en $30 pesos/hra. y finalmente, la documentación se definió a un costo de $25

pesos/hra.

Internet: Conexión a Internet necesaria para la investigación en línea y la

implementación del sistema.

En la siguiente tabla 1, se muestra los costos aproximados que se genera con este

proyecto. En la cual se pueden apreciar los gastos de materiales y gastos de

programación.

Tabla 1: Costos del Proyecto

MATERIALES

Descripción Cantidad Precio Unitario SubTotal Total

Hojas Blancas 500 $0.08 $40.00

CD 3 $3.83 $11.49

Copias 100 $0.25 $25.00

Engargolados 3 $14 $42.00

Total Materiales $118.49

GASTOS PROGRAMACION

Cantidad Horas Precio Horas Subtotal Total

Análisis (1 personas) 160 55 $8,800.00

Diseño (1personas) 120 55 6,600.00

Programación (1 personas) 480 50 24,000.00

Implementación (1 personas) 120 30 3,600.00

Documentación (1 personas) 80 25 2,000.00

Total Gastos de Programación $45,000.00

(19)

Página 19

1.10 Ventajas competitivas

Es una ventaja debido a que es una aplicación exclusivamente para las diversas

funcionalidades del Departamento Medico del Centro de Readaptación del Estado. Esto

le dará mayor fortalecimiento y la competitividad necesaria para desarrollar cualquier

(20)

Página 20

CAPTULO 2:

(21)

Página 21

2.1 Ciclo de vida del desarrollo de sistemas

Es importante destacar el ciclo de vida del desarrollo de sistemas puesto que es la guía

que nos servirá para concluir de manera organizada un proyecto, para esto se describen

a continuación las siguientes 7 fases que lo conforman.

En la figura 3 se muestra cómo se lleva a cabo las fases del ciclo de vida del desarrollo

de sistemas.

Figura 3: Fases del ciclo de vida del desarrollo de sistemas

2.1.1.- identificación de problemas, oportunidades y objetivos:

La primera fase requiere que el analista observe honestamente lo que está sucediendo

en un negocio. Luego, junto con los demás miembros de la organización, el analista

hace resaltar los problemas. Frecuentemente estos ya han sido vistos por los demás, y

son la razón por la cual el analista fue llamado inicialmente. Las personas involucradas

en la primera fase son los usuarios, analistas y administradores de sistemas que

coordinan el proyecto. Las actividades de esta fase consisten en entrevistas a los

administradores de los usuarios, sumarización del conocimiento obtenido, estimación

(22)

Página 22 estudio de factibilidad que contiene una definición del problema y la sumarización de

los objetivos. (Hernández, 1998)

2.1.2.- Determinación de los requerimientos de información:

El aspecto del análisis es comprender todas las facetas de la empresa que están bajo

estudio y estas tienen como prioridad responder a las siguientes preguntas, ¿Qué es lo

que hace?, ¿Cómo se hace?, ¿Con qué frecuencia se presenta?, ¿Qué tan grande es l

volumen de transacciones o decisiones?, ¿Cuál es el grado de eficiencia con el que se

efectúan las tareas?, ¿Existe algún problema?, ¿Qué tan serio es? Y ¿cuál es la causa

que lo origina? (Senn, 1992)

Esta etapa está enfocada a que el analista comprenda la información y para ello

participan los usuarios, los administradores de las operaciones y los trabajadores de la

operación.

2.1.3.-Análisis de las necesidades del sistema:

En esta etapa el analista de sistemas se auxilia de herramientas ya creadas para

determinar los requerimientos, por ejemplo diagramar la entrada, proceso y salida de

las funciones del negocio en forma gráfica y estructurada, desarrollar diccionarios de

datos, y dar una estructura a las bases de datos como el diagrama entidad relación, ya

que este nos ayudará a trabajar con objetos de manera independiente.

2.1.4.- Diseño del sistema recomendado:

El diseño de un sistema de información produce los detalles que establecen la forma en

la que el sistema cumplirá con los requerimientos identificados durante la fase de

análisis. Los especialistas en sistemas se refieren, con frecuencia, a esta etapa como

diseño lógico en contraste con la del desarrollo del software, a la que denominan diseño

físico. (Senn, 1992)

2.1.5.-Desarrollo y documentación del software:

En la quinta fase del ciclo de vida del desarrollo de sistemas el analista trabaja con los

(23)

Página 23 fase, el analista también trabaja con los usuarios para desarrollar documentación

efectiva para el software, incluyendo manuales de procedimientos. La documentación le

dice al usuario la manera de usar el software y también qué hacer si se suceden

problemas con el software. (Hernández, 1998)

2.1.6.- Pruebas y mantenimiento del sistema:

Durante la prueba de sistemas, el sistema se emplea de manera experimental para

asegurarse de que el software no tenga fallas, es decir, que funciona de acuerdo con las

especificaciones y en la forma en que los usuarios esperan que lo haga.

2.1.7.- Implementación y evaluación del sistema:

En esta fase del desarrollo del sistema el analista ayuda a implementar el sistema de

información. Esto incluye el entrenamiento de los usuarios para que manejen el sistema.

Algún entrenamiento es hecho por los proveedores, pero la supervisión del

entrenamiento es responsabilidad del analista de sistemas. Adicionalmente, el analista

necesita un plan para una conversión suave del sistema antiguo al nuevo. (Hernández,

1998)

Una vez concluidos los 7 pasos del desarrollo de sistemas, se procede al continuo

mejoramiento ya que conforme avanza el tiempo pueden requerirse nuevos

(24)

Página 24

2.2 Lenguaje de programación

Según Wilson la definición de lenguaje de programación se la siguiente:

“Un lenguaje de programación es un idioma artificial diseñado para expresar

computaciones que pueden ser llevadas a cabo por máquinas como las computadoras.

Pueden usarse para crear programas que controlen el comportamiento físico y lógico de

una máquina, para expresar algoritmos con precisión, o como modo de comunicación

humana”.

En la actualidad existe una diversidad de lenguajes de programación, el cual, cada uno

de ellos tienen características, aplicación y propósito distinto. En la tabla 2 se muestran

los principales lenguajes de programación.

Tabla 2: Lenguajes de Programación

Lenguaje Área de aplicación

ADA Tiempo real

BASIC Programación para fines

educativos

C++ Programación orientada

a objetos

COBOL Administración

Java Programación orientada

a internet

Pascal Educación

PHP Desarrollo de sitios web

dinámicos

Perl Procesamiento de

(25)

Página 25

2.3 Lenguaje de programación web

Actualmente existen diferentes lenguajes de programación para desarrollar en la web,

estos han ido surgiendo debido a las necesidades que han surgido en la programación.

Los lenguajes de programación web generalmente siguen un proceso, en la figura 4 se

muestra su arquitectura general.

Figura 4: Arquitectura de los lenguajes de programación web

2.4 MySql

MySql es un manejador de bases de datos que se utiliza en aplicaciones Web, es

compatible con el popular lenguaje de programación PHP y con muchos más pero en

nuestro caso será este el que le de soporte a nuestro proyecto, y es el ideal puesto que es

(26)

Página 26

2.5 PHP

PHP, es un acrónimo recursivo que significa PHP Hypertext Pre-processor

(inicialmente PHP Tools, o, Personal Home Page Tools) es un lenguaje de

programación interpretado, diseñado originalmente para la creación de páginas web

dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side

scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos

o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz

gráfica usando las bibliotecas Qt o GTK+.

En la figura 5 se representa la diferencia entre la programación del lado del cliente y la

del servidor.

Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas

operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en

más de 20 millones de sitios web y en un millón de servidores, el número de sitios en

PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan

poderosos desde agosto de 2005. (Cobo, Gómez, 2005)

(27)

Página 27

2.6 HTML

El HTML es el lenguaje de la Web, tras cada página visitada al azar durante una

exploración por la web se oculta su código fuente, En efecto, el navegador, Microsoft

Internet Explorer o Firefox no hace más que mostrar en pantalla la página diseñada por

su autor mediante un lenguaje, a priori bastante hermético, como es el lenguaje HTML.

En la siguiente figura 6 se presenta un ejemplo de una muestra de las etiquetas que

conforman una página Web.

Figura 6: Contenido HTML detrás de una página web

2.7 CSS

Hojas de Estilo en <Cascada (Cascading Style Sheets), es un mecanismo simple que

describe cómo se va a mostrar un documento en la pantalla, o cómo se va a imprimir, o

incluso cómo va a ser pronunciada la información presente en ese documento a través

de un dispositivo de lectura. Esta forma de descripción de estilos ofrece a los

(28)

Página 28

2.8 JavaScript

Es un lenguaje de programación interpretado dialecto del estándar ECMAScript. Se

utiliza principalmente en su forma del lado del cliente (client-side), implementado como

parte de un navegador Web permitiendo mejoras en la interfaz de usuario y páginas

Web dinámicas, aunque existe una forma de Javascript del lado del servidor

(29)

Página 29

CAPTULO 3: PROCEDIMIENTO Y

DESCRIPCIÓN DE LAS

(30)

Página 30

3.1 Metodología

La metodología usada en el desarrollo para este sistema es un modelo de cascada

(Royce, 2011) que es un enfoque metodológico que ordena rigurosamente las etapas de

forma que cada fase debe de iniciar solamente al terminar la anterior, de esta forma

cualquier los errores son fácilmente detectados.

Figura 7 Fases de la Cascada

3.2. Requerimientos de usuarios

3.2.1 Funcionales:

 El sistema crea el expediente clinico del intermo a su ingreso.

 El sistema tiene una base de datos para el control del expediente.

 El sistema crea el historial de cada doctor

 El sistema no modifica las consulta diaria

 El sistema lleva el control del historial clinico del interno.

 El sistema guarda todos los expediente del interno a su reingresion.

 El sistema calcula la edad de cada interno

(31)

Página 31 3.2.2 No funcionales:

 El sistema cuenta con seguridad de usuario.

 El sistema cuanta con rápidez.

 El sistema es amigable para los usuarios.

 El sistema no cuenta con datos duplicados.

3.3 Análisis del sistema

En este apartado se realizan los pasos necesarios para la elaboración correcta del

sistema, en primer punto se muestra el análisis ya que este es uno de los más

importantes para el desarrollo del proyecto informático. Se recopila los datos

necesarios que el cliente y los usuarios finales requieren para el sistema, en el siguiente

punto se muestra el diseño técnico, tal como la programación, en esta parte se detalla la

parte técnica del sistema, y el resultado final. Por último se realiza las pruebas

(32)

Página 32

3.3.1 Diagramas de casos de usos

En la figura 8 se muestra el proceso en el que se hace el historial del interno por medio

de un diagrama caso de uso.

(33)

Página 33 En la figura 9 se muestra el diagrama caso de uso de la autentificación del usuario y lo

procesos que los usuarios realizan.

Figura 9: Autentificación de usuario

uc Autentificacion de ususario

Usuario

Sistema Pide

Autentificacion

Ingresa Login y Passw ord

Realiza v alidacion de usuario

Ingresa al sistema

Realiza Operaciones

(34)

Página 34 En la figura 10 se muestra otro diagrama de caso de uso consulta rapida, en donde los

usuarios o pueden visualizar las consultas que se han realizado por dia, asi como el plan

de manejo que se emite.

Figura 10: Diagrama Caso de uso "Consulta rápida".

uc consulta rapida

usuario Sistema

Ingresa al sistema

Autentifica usuario

selecciona consulta rapida

Selecciona tipo de cosulta

ej ecuta la consulta

Ingresa a la BD

Muestra los Datos seleccionados

(35)

Página 35 En la figura 11 se muestra el diagrama en donde interactua el usuario con el sistema,

para la creacion de un nuevo usuario.

Figura 11: Agregar usuario

uc agregar interno

Doctor sistema

agrega usuario

v erifica los datos

agrega interno a la BD inserta datos

del inetrno

Genera Expediente

(36)

Página 36

3.3.2 Diagrama de estados

En este diagrama de la figura 12, se muestra los estados que se realiza al autentificar

un usuario en el sistema. Este usuario tiene un nombre de usuario y una contraseña para

poder entrar al sistema, este los ingresa y el programa se encarga de validar si el

nombre y contraseñas son correctos.

Figura 12: Diagrama de estados "Autentificación de usuario"

stm Autentificacion

Inicio

Introducir datos

Validar Datos

Ingresa al modulo requerido

(37)

Página 37 Para poder ingresar al sistema, primeramente se tiene que registrar y tener una cuenta

dentro de la misma, el registro lo hace el doctor responsable o jefe, en la figura 13 se

muestra los estados que intervienen para el registro de un nuevo usuario.

Figura 13: Registro de un usuario

stm Registro de un usuario

inicio

Responsable entra al sistema

ingresa al modulo correspondiente

Introduce los datos

v alida datos

Guarda datos

Se registra usuarios

(38)

Página 38 Después de que el usuario sea registrado en el sistema podrá hacer uso del mismo y así

mismo podrá crear una nueva nota médica, para la generación de historial clínico del

interno, como la siguiente figura 14 se muestra el diagrama de estado para la creación

de la nota de valoración médica.

Figura 14: Nota de valoración medica

stm crear notav aloracion medica

inicio

usuario ingresa al sistema

ingresa al modulo correspondientes

introduce los datos correctos del paciente

guarda datos

v alida que los datos sean correctos

se guarda los datos en la BD

se genera el reporte plan de manej o

(39)

Página 39

3.3.3 Diagramas Entidad – Relación

Para la creación del sistema se necesita una Base de Datos para la inserción de

información, por lo que se genera un diagrama de Entidad –Relación como se muestra

en la figura 15.

(40)

Página 40

3.3.4 Diccionario de datos

Nomenclatura: Primeramente en el diccionario de datos se define la

nomenclatura utilizada en la base de datos para los distintos datos contenidos en

ella.

Claves Primarias: Son definidas utilizando el prefijo “id” seguido por el

nombre de la tabla o en su defecto por el nombre del campo si este está ya

definido.

Claves Foráneas: Son definidas utilizando como primer componente el nombre

de la tabla que la contiene seguida por un guion bajo y complementada por el

nombre de su correspondiente clave primaria, es semejante a la llave primaria.

Nombres de tablas principales: Es decir las aquellas que son indispensables

para nuestro proyecto como la de interno se les llaman tal cual solo utilizando

mayúscula al principio. Interno

Tablas de relación: son aquellas que son resultado de 2 o más tablas estas

tienen como nombre los nombres de las tablas que las contienen separados por

(41)

Página 41 A continuacion se muestra el diccionario de datos para cada tabla generada en nuestro

proyecto.

En la tabla 3 se muestra las caracteristicas de la tabla alias en donde este se relaciona

con la tabla interno.

Tabla 3 Diccionario de tablas de interno

interno

Campo Tipo Nulo Predeterminado

Id_interno Entero No

nombre Varchar(60) No

Fecha_nac date No

Fecha_ingreso date No

edificio Varchar(40)

La tabla 4 muestra la tabla de los tipos de consulta existentes para el sistema.

Tabla 4 Diccionario de consulta

consulta

Campo Tipo Nulo Predeterminado

Id_tipo_consulta Entero No

(42)

Página 42 En el siguiente diccionario habla del expediente clínico que es una recopilación de todas las

consultas que un interno ha tenido.

Tabla 5 Diccionario de expediente clínico

Exp_clinico

Campo Tipo Nulo Predeterminado

Id_exp_clinico entero No

Id_consulta Entero No

En la tabla 6 muestra los campos necesarios para realizar una consulta a un interno.

Tabla 6 Diccionario de tabla consulta

consulta

Campo Tipo Nulo Predeterminado

Id_consulta entero No

Id_interno entero No

Id_medico entero No

Id_tipo_consulta entero No

Id_tratamiento entero No

Id_diagnostico entero No

(43)

Página 43 En la tabla 7 hace mención a los datos del médico necesarios para darlos de alta.

Tabla 7 Diccionario de medico

Medico

Campo Tipo Nulo Predeterminado

Id_medico Entero No

Nombre varchar(60) No

Horario varchar(20) No

telefono entero no

En el diccionario siguiente se habla de la tabla de la impresión diagnostica y almacena los

datos evaluados por el médico al interno cuando ingresa.

Tabla 8 Diccionario de diagnostico

diagnostico

Campo Tipo Nulo Predeterminado

Id_diagnostico Entero No

nombre Varchar(20) No

En la tabla 9 se muestra los campos que va tener el diccionario de tratamiento que es

donde se guardara que tipo de seguimiento se le puede dar a un interno.

Tabla 9 Diccionario de interno

Id_tratamiento

Campo Tipo Nulo Predeterminado

Id_tratamiento Entero No

(44)

Página 44

3.4 Diseño de interfaces

En la figura 16 se muestra el inicio del sistema, con el inicio de sesión, este verifica que

sea usuario del sistema.

(45)

Página 45 En la figura 17 muestra la bienvenida del sistema, aquí se muestra el menú para operar

las aplicaciones del sistema y además cuenta con un banner con ligas a páginas de

gobierno.

(46)

Página 46 En la figura 18 se muestra la pantalla para el registro de un nuevo interno, donde se

pondrá el nombre, la fecha de nacimiento así como la de ingreso y el edificio donde se

queda.

(47)

Página 47 En la figura 19 es donde se hacen búsquedas de internos y en esta misma parte se

pueden modificar en caso de que se requiera o borrar.

(48)

Página 48 En la figura 20 se muestra la pantalla para dar de alta un nuevo médico con los datos

correspondientes.

(49)

Página 49 En la figura 21 se muestra la página de buscar médico, que además de poder visualizar

los datos del usuario se podrá modificar en lo caso de que lo requiera o borrarlo.

(50)

Página 50 En la figura 22 se muestra la pantalla de la consulta que es donde el doctor registrara los

datos necesarios para llenar el tipo de consulta que se está haciendo en ese momento.

(51)

Página 51 En la figura 23 se muestra pantalla de las estadísticas, que es donde el administrador

podrá visualizar que ha hecho cada doctor especificando un tiempo determinado para la

búsqueda.

(52)

Página 52

3.5 Desarrollo

Como se dijo anteriormente el desarrollo de este proyecto fue con el lenguaje de

programación PHP sin utilizar ningún framework, se utilizó también MYSQL como

gestor de base de datos y se le dio un diseño al sistema haciendo uso de bootstrap.

Para ver el código completo de desarrollo ir a Anexos.

Para empezar a trabajar se hizo una conexión a mysql

Figura 24 Conexión a base de datos

En este código (figura 24) le decimos al sistema a que base de datos se tiene que

enlazar, además del usuario y contraseña que se necesita, cuenta también con fallo de

errores en caso de que no se puede realizar la conexión correctamente.

En la figura 25 vemos el código correspondiente para el inicio de una sesión en el

sistema, como se puede apreciar, los campos del usuario y contraseña se almacenan en

sus respectivas variables y se hace una validación con la base de datos para saber que si

se tienen los datos correctos y entonces una vez verificada la sesión se puede acceder a

la página de inicio.

(53)

Página 53 La figura 26 tiene el código correspondiente para que una vez iniciada la sesión el

usuario pueda navegar por todas las páginas del sistema sin que la sesión se cierre o

tenga que refrescar

Figura 26 Sesión de usuario

En la figura 27 tenemos una parte del código para generar el PDF que sale de una

consulta, al presionar el botón de generar PDF este código le da el formato necesario y

manda a llamar a MYSQL la información de los campos correspondientes y cuando ya

está la estructura de este, el sistema lo crea y permite su visualización.

(54)

Página 54 En la figura 28 está el código correspondiente a la terminación de una sesión que es

cuando un medico deja de usar el sistema, cuando la sesión se termina el sistema

redirige automáticamente a la página principal donde iniciar de nuevo.

Figura 28 Terminación de sesión

En la figura numero 29 vemos una parte del código para agregar un nuevo registro a la

base de datos, en este caso son los datos de un nuevo interno. Ya que se llenaron los

campos necesarios en el sistema esta es la consulta que se encarga de almacenar todo en

la base de datos más específicamente en la tabla de los internos.

Para el momento de agregar a un nuevo medico el funcionamiento es similar.

(55)

Página 55

Figura 30 Consulta frontend

En la figura 30 está plasmado el código que conforma la parte visual de las consultas, los campos y los estilos que tienen, en esta parte del sistema existen varios campos que no se pueden modificar como la fecha, el médico, etc.

Por ultimo en la figura 31 tenemos la también código de la consulta pero la parte que expresa la funcionalidad, una vez que los campos están con información todas las variables se almacenan para poderlas manipular y enviarlas a la base de datos.

(56)

Página 56

3.6 Pruebas

Se realizaron pruebas de compatibilidad para cerciorarnos de una buena respuesta por

parte de los navegadores web (Mozilla, Google Chrome, Internet Explorer).

“Las pruebas de compatibilidad son muy importantes para mostrar una calidad

adecuada en tu software y así verificar que funcionará con normalidad en todos los

navegadores o se podrá instalar en todos los sistemas operativos que veas necesario.”

(Testing, 2015).

En la figura 32 se muestra la respuesta del sistema abriéndolo con Chrome, como se

puede ver es totalmente responsivo a los tamaños, acepta bien html5 y no hay

problemas con estilos.

Figura 32 Sistema ejecutándose en Chrome

(57)

Página 57

Figura 33 Sistema ejecutándose en Explorer

Además de pruebas de funcionamiento para asegurar que no existan fallas al momento de operar el sistema. Estas pruebas se realizaron en el departamento médico del Centro de Readaptación Social de Colima, durante 2 semanas y los resultados fueron que el sistema trabaja correctamente aun con usuarios finales sin muchos conocimientos en TI.

(58)

Página 58

(59)

Página 59

4.1 Cumplimientos de los objetivos

Se ha desarrollado un sistema de información que elabora y controla el expediente

clínico de los internos del Centro de Reinserción Social Colima, este permite abrir un

expediente sistematizado de cada uno de los reos de la institución. Posteriormente se

implementó en el servidor del mismo plantel, para su ejecución.

 Se realizó un análisis de cómo se lleva a cabo los procesos manuales de creación de expedientes y consultas médicas.

 Se diseñó el modelo conceptual del sistema haciendo uso del programa

Enterpise Architect.

 Se diseñó y se creó la base de datos en donde se almacena la información

recabada de los expedientes y consultas, como también la información de los

doctores y usuarios que operan el sistema.

 Se determinó los reportes y formatos de la información del usuario final. Los cuales fueron:

 Consultas

 Expedientes clínicos

 PDF’s

 Estadísticas

 Se implementó las medidas de seguridad que requiere el sistema para la

protección de la información. Como fue el uso de las sesiones para cada usuario

protegidas con contraseña, además de respaldos a la base de datos para no

perder la información en casi de un imprevisto.

(60)

Página 60

4.2 Trabajos a futuros

A la creación de este sistema ayuda al Departamento Medico para el control de sus

expedientes y a la toma de decisiones, con esto queda abierto el sistema para la

aplicación de todo la Clínica del Ce. Re. So, como es el área de Psicología,

Trabajadoras Social, Psiquiatría, Nutrición, etc.

4.3 Conclusión

El sistema de control de expedientes es de gran importancia para el Departamento

Medico del Ce. Re. So, ya que optimiza los proceso de la evaluación del interno y

creación del expediente a su ingreso, y permite una mejor confiabilidad en la

información. Por otra parte contiene la seguridad de los datos proporcionados por el

(61)

Página 61

(62)

Página 62

Bibliografía

1. Hernández, Sampieri. Roberto. Metodología de la investigación 2a. Edición.

Editorial McGraw-Hill, México, 1998.

2. Ángel Cobo y Patricia Gómez, Php y mysql tecnologías para el desarrollo web,

ed. Diaz de Santos, España 2005

3. SENN James A. (1992) Análisis y Diseño de Sistemas de Información. Segunda

Edición. Editorial McGrawHill. México

4. Gallego, J. C. (2010). Mantenimiento de Sistemas Microinformaticos. Editex.

5. L.Winblad, A., D., E. S., & R., K. D. (1990). Software orientado a objetos.

ADDISON-WESLEY.

6. Secretaria de Salud 2008, consultada en Septiembre 2012,

http://www.saludtab.gob.mx/index.php?option=com_content&view=article&id=

706:norma-oficial-mexicana-nom-004-ssa3-2012-del-expediente-clinico&catid=44:calidad-y-educacion

(63)

Página 63

(64)

Página 64

Creación de Base de Datos

# SQL Manager 2010 for MySQL 4.5.0.9 # --- # Host : localhost

# Port : 3306 # Database : cereso

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES latin1 */;

SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE `cereso` CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; USE `cereso`;

#

# Structure for the `diagnostico` table : #

CREATE TABLE `diagnostico` ( `id_diagnostico` int(11) NOT NULL, `nombre` varchar(20) default NULL, PRIMARY KEY (`id_diagnostico`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1; #

# Structure for the `interno` table : #

CREATE TABLE `interno` (

`id_interno` int(11) NOT NULL auto_increment, `nombre` varchar(60) NOT NULL,

`fecha_nac` date NOT NULL, `fecha_ingreso` date NOT NULL, `edificio` varchar(40) NOT NULL, `estatus` tinyint(1) NOT NULL, PRIMARY KEY (`id_interno`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1; #

# Structure for the `medico` table : #

CREATE TABLE `medico` (

`id_medico` int(11) NOT NULL auto_increment, `nombre` varchar(60) NOT NULL,

`horario` varchar(20) default NULL, `telefono` int(11) default NULL, `estatus` tinyint(1) NOT NULL, PRIMARY KEY (`id_medico`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1; #

(65)

Página 65

CREATE TABLE `tipo_consulta` ( `id_tipo_consulta` int(11) NOT NULL, `nombre` varchar(20) default NULL, PRIMARY KEY (`id_tipo_consulta`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1; #

# Structure for the `tratamiento` table : #

CREATE TABLE `tratamiento` ( `id_tratamiento` int(11) NOT NULL, `nombre` varchar(20) default NULL, PRIMARY KEY (`id_tratamiento`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1; #

# Structure for the `consulta` table : #

CREATE TABLE `consulta` ( `id_consulta` int(11) NOT NULL, `id_interno` int(11) NOT NULL, `id_medico` int(11) NOT NULL, `id_tipo_consulta` int(11) NOT NULL, `id_tratamiento` int(11) NOT NULL, `id_diagnostico` int(11) NOT NULL, `fecha_consulta` datetime NOT NULL, PRIMARY KEY (`id_consulta`), KEY `id_interno` (`id_interno`), KEY `id_medico` (`id_medico`),

KEY `id_tipo_consulta` (`id_tipo_consulta`), KEY `id_tratamiento` (`id_tratamiento`), KEY `id_diagnostico` (`id_diagnostico`),

CONSTRAINT `consulta_fk` FOREIGN KEY (`id_interno`) REFERENCES `interno` (`id_interno`), CONSTRAINT `consulta_fk1` FOREIGN KEY (`id_medico`) REFERENCES `medico` (`id_medico`),

CONSTRAINT `consulta_fk2` FOREIGN KEY (`id_tipo_consulta`) REFERENCES `tipo_consulta` (`id_tipo_consulta`),

CONSTRAINT `consulta_fk3` FOREIGN KEY (`id_tratamiento`) REFERENCES `tratamiento` (`id_tratamiento`), CONSTRAINT `consulta_fk4` FOREIGN KEY (`id_diagnostico`) REFERENCES `diagnostico` (`id_diagnostico`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#

# Structure for the `exp_clinico` table : #

CREATE TABLE `exp_clinico` ( `id_exp_clinico` int(11) NOT NULL, `id_consulta` int(11) NOT NULL,

PRIMARY KEY (`id_exp_clinico`,`id_consulta`), KEY `id_consulta` (`id_consulta`),

(66)

Página 66

Código Registro de Interno

<?

include_once("cabezera.php"); ?>

<div class="container"> <div align="center">

<h2>Registro de internos</h2> </div>

<form name="forma1" id="forma1" method="post" class="8 col-lg-offset-2">

<div class="jumbotron">

<label>Nombre:</label><input type="text" class="form-control" name="nombre" id="nombre" value=" "><br>

<label>Tipo de sangre:</label>

<select size="1" class="form-control" name="sangre" id="sangre"> <option value="AB+">AB+</option> <option value="AB-">AB-</option> <option value="A+">A+</option> <option value="A-">A-</option> <option value="A+">B+</option> <option value="A+">B-</option> <option value="A+">O+</option> <option value="A+">O-</option> </select>

<label>Fecha de nacimeinto:</label><input type="date" class="form-control" name="fecha_nac" id="fecha_nac" value=" "><br>

<label>Fecha de ingreso:</label><input type="date" class="form-control" name="fecha_ing" id="fecha_ing" value=" "><br>

<label>Edificio:</label><input type="text" class="form-control" name="edificio" id="edificio" value=" "><br>

<input type="submit" class="btn btn-success" name="envia" id=""> </div> </form> <? if(isset($_POST['nombre'])) { error_reporting(0);

$llega= "INSERT INTO interno

(nombre,fecha_nac,fecha_ingreso,edificio,estatus,tipo_sangre) VALUES

('".trim($_POST['nombre'])."','".trim($_POST['fecha_nac'])."','".trim($_POST['fecha_ing']). "','".trim($_POST['edificio'])."',1,'".trim($_POST['sangre'])."')";

$resultado = mysql_query($llega);

(67)

Página 67 } ?> </div> ?> </body> </html>

Código de Registro de Medico

<?php

include_once("cabezera.php"); ?>

<div class="container"> <div align="center">

<h2>Registro de Medicos</h2> </div>

<form name="forma1" id="forma1" method="post" class="8 col-lg-offset-2">

<div class="jumbotron">

<label>Nombre:</label><input type="text" class="form-control" name="nombre" id="nombre" value=" "><br>

<label>Horario:</label>

<select size="1" class="form-control" name="horario" id="horario"> <option value="Matutino">Matutino</option> <option value="Vespertino">Vespertino</option> <option value="Nocturno">Nocturno</option> </select>

<label>Telefono:</label><input type="text" class="form-control" name="telefono" id="telefono" value=" "><br>

<input type="submit" class="btn btn-primary" name="envia" id=""> </div> </form> <? if(isset($_POST['nombre'])) { error_reporting(0);

$llega= "INSERT INTO medico

(nombre,horario,telefono,estatus)

VALUES

('".trim($_POST['nombre'])."','".trim($_POST['horario'])."','".trim($_POST['telefono'])."',1) ";

$resultado = mysql_query($llega);

(68)

Página 68 ?> </div> ?> </body> </html>

Código creación de Consulta

<?

include_once("cabezera.php");

$yolo = "select nombre from medico where username = '".$_SESSION['session_username']."'";

$coge = mysql_query($yolo); $muuu = mysql_fetch_array($coge);

//listas de nombres de internos

$sentencia = "select * from interno order by nombre asc"; $queryblop=mysql_query($sentencia);

$medico = "select * from medico order by nombre asc"; $querymedico=mysql_query($medico);

$sentenciatip_consulta = "select * from tipo_consulta order by nombre asc"; $querytip_cons=mysql_query($sentenciatip_consulta);

$edi = "select * from interno order by edificio asc"; $querytip_cons=mysql_query($sentenciatip_consulta);

$diagnostico = "select * from diagnostico order by nombre asc"; $querydiag=mysql_query($diagnostico);

$tratamiento = "select * from tratamiento order by nombre asc"; $querydiag1=mysql_query($tratamiento);

$time = time();

$alfh = date("Y-m-d", $time); ?>

<div class="container"> <div align="center">

<h2>Registro de Consulta</h2> </div>

<form name="forma1" id="forma1" method="post" class="10 col-lg-offset-1">

<div class="jumbotron"> <div class="row">

(69)

Página 69 <label>Medico</label><input type="text" class="form-control" name="medico" id="medico" readonly="readonly" value="Dr. <? echo $muuu['nombre'];?>"><br>

<label>Nombre del interno:</label>

<select name="catalogo_internos" id="cat_inter" class="form-control">

<? while ($inter=

mysql_fetch_array($queryblop)){?>

<option value="<? echo $inter['nombre']; ?>">

<?

echo $inter['nombre'];

?></option> <? } ?>

</select><br>

<label>Fecha:</label><input type="text" class="form-control" name="fecha" id="fecha" value="<? echo $alfh; ?>"><br>

<label>Ubicacion</label>

<!--<input type="text" class="form-control" name="ubicacion" id="ubicacion" value=" ">-->

<select name="ubicacion" id="ubicacion" class="form-control">

<option value="A">Edificio A</option>

<option value="B">Edificio B</option>

<option value="C">Edificio C</option>

<option value="D">Edificio D</option>

<option value="E">Edificio E</option> <option value="F">Edificio F</option> <option value="G">Edificio G</option>

<option value="H">Edificio H</option>

<option value="I">Edificio I</option> <option value="J">Edificio J</option> </select>

<br>

<label>Diagnostico</label>

<select name="diagnostico" id="diagnostico" class="form-control">

<? while ($diag=

(70)

Página 70 <option value="<? echo $diag['nombre']; ?>"><? echo $diag['nombre'];?></option>

<? } ?> </select>

<!-- <input type="text" class="form-control" name="diagnostico" id="diagnostico" value=" "><br> -->

</div>

<div class="col-lg-6">

<label>Nota Medica</label><textarea rows="5" class="form-control" name="descripcion" cols="20" id="lol"></textarea><br>

<label>Tratamiento</label>

<select name="tratamiento" id="tratamiento" class="form-control">

<? while ($diag=

mysql_fetch_array($querydiag1)){?>

<option value="<? echo $diag['nombre']; ?>"><? echo $diag['nombre'];?></option>

<? } ?> </select>

<label>Tipo de consulta</label><select size="1" class="form-control" name="dia">

</div>

<? while ($tpcon=

mysql_fetch_array($querytip_cons)){?>

<option value="<? echo $tpcon['nombre']; ?>"><? echo $tpcon['nombre'];?></option>

<? } ?> </select> <br>

<input class="btn btn-success" type="submit" name="envia" id=""> </div> </div> </form> <? if(isset($_POST['catalogo_internos'])) { //error_reporting(0);

$q_inter = "select * from interno where nombre = '".trim($_POST['catalogo_internos'])."'";

$q_inter1 = mysql_query($q_inter);

$q_inter2 = mysql_fetch_object($q_inter1); echo "interno: ",$q_inter2->id_interno;

// $q_medico = "select * from medico where nombre = '".trim($muuu['nombre'])."'";

(71)

Página 71 // $q_medico2 = mysql_fetch_object($q_medico1);

// echo "medico: ",$q_medico2->id_medi;

$q_tcon = "select * from tipo_consulta where nombre = '".trim($_POST['dia'])."'";

$q_tcon1 = mysql_query($q_tcon);

$q_tcon2 = mysql_fetch_object($q_tcon1);

echo "tipoconsulta: ",$q_tcon2->id_tipo_consulta;

$q_trata = "select * from tratamiento where nombre = '".trim($_POST['tratamiento'])."'";

$q_trata1 = mysql_query($q_trata);

$q_trata2 = mysql_fetch_object($q_trata1); echo "tratamiento: ",$q_trata2->id_tratamiento;

$q_diag = "select * from diagnostico where nombre = '".trim($_POST['diagnostico'])."'";

$q_diag1 = mysql_query($q_diag);

$q_diag2 = mysql_fetch_object($q_diag1); echo "diagnostico: ",$q_diag2->id_diagnostico;

$id_med = "select id_medico from medico where username = '".$_SESSION['session_username']."'";

$medi = mysql_query($id_med); $med = mysql_fetch_object($medi); echo "id del medico: ",$med->id_medico;

$llega= "INSERT INTO consulta

(id_interno,id_medico,id_tipo_consulta,id_tratamiento,id_diagnostico,fecha_consulta,nota_ medica,ubicacion)

VALUES ('".trim($q_inter2-

>id_interno)."','".trim($med->id_medico)."','".trim($q_tcon2-

>id_tipo_consulta)."','".trim($q_trata2->id_tratamiento)."','".trim($q_diag2->id_diagnostico)."','".trim($_POST['fecha'])."','".trim($_POST['descripcion'])."','".trim($_P OST['ubicacion'])."')";

$resultado = mysql_query($llega);

$completo = @mysql_fetch_object($resultado); echo $llega;

// $cti = "select * from internet where nombre = '".trim($_POST['catalogo_internos'])."'";

// $ctm = mysql_query($cti);

// $yolo = mysql_fetch_object($mando);

(72)

Página 72 // echo $yolo;

// $pop = "select id_interno from interno where nombre = '".."'"; } ?> </div> </body> </html>

Código Estadísticas

<? include_once("cabezera.php");

$yolo = "select nombre from medico where username = '".$_SESSION['session_username']."'";

$coge = mysql_query($yolo); $muuu = mysql_fetch_array($coge);

//listas de nombres de internos

$sentencia = "select * from interno order by nombre asc"; $queryblop=mysql_query($sentencia);

$medico = "select * from medico order by nombre asc"; $querymedico=mysql_query($medico);

$sentenciatip_consulta = "select * from tipo_consulta order by nombre asc"; $querytip_cons=mysql_query($sentenciatip_consulta);

$edi = "select * from interno order by edificio asc"; $querytip_cons=mysql_query($sentenciatip_consulta);

$diagnostico = "select * from diagnostico order by nombre asc"; $querydiag=mysql_query($diagnostico);

$tratamiento = "select * from tratamiento order by nombre asc"; $querydiag1=mysql_query($tratamiento);

$time = time();

$alfh = date("Y-m-d", $time); ?>

<div class="container"> <div align="center">

<h2>Estadisticas</h2> </div>

<form name="forma1" id="forma1" method="post" class="6 col-lg-offset-3">

(73)

Página 73 <div>

<label>Por interno:</label>

<select name="catalogo_internos" id="cat_inter" class="form-control">

<? while ($inter=

mysql_fetch_array($queryblop)){?>

<option value="<? echo $inter['nombre']; ?>">

<?

echo $inter['nombre']; ?>

</option> <? } ?>

</select><br>

<label>Fecha de inicial:</label><input type="date" class="form-control" name="fecha_iniciala" id="fecha_i" value=" "><br>

<label>Fecha de final:</label><input type="date" class="form-control" name="fecha_finala" id="fecha_f" value=" "><br>

</div>

<input class="btn btn-success " type="submit" name="envia" id=""> </div> </form> </div> <? if(isset($_POST['fecha_iniciala'])) {

$q_diag = "select * from interno where nombre = '".trim($_POST['catalogo_internos'])."'";

$q_diag1 = mysql_query($q_diag); $q_diag2 = mysql_fetch_array($q_diag1);

$query="select COUNT(*) as veces

from consulta join interno on

consulta.`id_interno`=interno.`id_interno`

where interno.`id_interno` =

'".trim($q_diag2['id_interno'])."'";

$line = mysql_query($query); $line1 = mysql_fetch_array($line);

$query2="select interno.`nombre` as interno,medico.`nombre` as medico,consulta.`fecha_consulta` as fecha

(74)

Página 74

join medico on

consulta.`id_medico`=medico.`id_medico` where

interno.id_interno=".trim($q_diag2['id_interno'])." and fecha_consulta between '".trim($_POST['fecha_iniciala'])."' and '".trim($_POST['fecha_finala'])."'";

$line2 = mysql_query($query2);

// $line3 = mysql_fetch_array($line2);

$consultam = "select * from consulta where id_interno = ".trim($q_diag2['id_interno'])."";

$consu = mysql_query($consultam); $con = mysql_fetch_array($consu);

?> <?

if(mysql_num_rows($line2)>0) {

?>

<table class="table table-hover table-bordered">

<tr>

<th>Interno</th> <th>Medico</th>

<th>Fecha de la consulta</th> <th>Ver consulta</th>

</tr> <?

while($line3 = mysql_fetch_object($line2)) { ?> <tr> <td><?=htmlentities($line3->interno);?></td> <td><?=htmlentities($line3->medico);?></td> <td><?=htmlentities($line3->fecha);?></td> <td>

<button type="button" class="btn btn-default" data-toggle="modal" data-target="#myModal">

<span class="glyphicon glyphicon glyphicon-list-alt" aria-hidden="true">

</span> </button>

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">

(75)

Página 75 <div class="modal-content">

<div class="modal-header">

<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>

<h4 class="modal-title" id="myModalLabel">Consulta al paciente</h4>

</div>

<div class="modal-body">

<h4>Interno: <?=htmlentities($line3->interno);?></h4>

<p style="color:black">Cantidad de veces que ha ido a consulta: <?=htmlentities($line1['veces']);?></p>

<p style="color:black">Nota Medica:</p>

<p style="color:black;

text-align:justify;"><?=htmlentities($con['nota_medica']);?></p>

</div>

<div class="modal-footer">

<button onclick="pdf_page('<?=base64_encode($con['id_consulta']);?>')" class="btn btn-default">Generar PDF</button>

<button type="button" class="btn btn-primary" data-dismiss="modal">No</button>

</div>

</div><!-- /.modal-content -->

</div><!-- /.modal-dialog -->

(76)

Página 76 else

{

?>

<div class="col-lg-6 col-lg-offset-3" style="text-align:justify;" id="alerta" align="center">

<font color="#FF0000"> <h3>

NO SE

ENCONTRARON CONSULTAS DEL INTERNO EN EL PERIODO ASIGNADO!! </h3>

</font> </div>

<? }

//***** aqui termina la parte de internos }

?> </body>

<script lenguage="javascript">

function pdf_page(idconsulta) {

open('gen_pdf.php?nct='+idconsulta,'_self'); }

(77)

Página 77

(78)
(79)
(80)
(81)
(82)

Referencias

Documento similar

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que