View/Open - Universidad Católica de Pereira

Anuncio
PLATAFORMA WEB PARA LA ADMINISTRACIÓN DE LOS REPORTES
DE HISTORIAS CLÍNICAS DE COMFAMILIAR RISARALDA
JORGE LEONARDO BAÑOL
UNIVERSIDAD CATÓLICA DE PEREIRA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES
PRÁCTICAS ACADÉMICAS
PEREIRA
2013
PLATAFORMA WEB PARA LA ADMINISTRACIÓN DE LOS REPORTES
DE HISTORIAS CLÍNICAS DE COMFAMILIAR RISARALDA
JORGE LEONARDO BAÑOL
INFORME FINAL DE PRÁCTICA
TUTOR
ALONSO TORO LAZO
INGENIERO DE SISTEMAS Y TELECOMUNICACIONES
UNIVERSIDAD CATÓLICA DE PEREIRA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES
PRÁCTICAS ACADÉMICAS
PEREIRA
2013
DEDICATORIA
Agradecimientos inmensos a Dios por ser mi fuerza y mi voluntad, a mi
incondicional Madre por ser la fuente de mi inspiración y el motivo por el cual mis
proyectos y mis sueños se hacen realidad, a mi tutor por el constante apoyo,
preocupación y concejos, a mi Universidad por ser mi segunda casa.
Contenido
INTRODUCCIÓN .................................................................................................... 8
1.
PRESENTACIÓN DE COMFAMILIAR RISARALDA ........................................ 9
1.1. RESEÑA HISTÓRICA ................................................................................ 9
1.1.1. Historia de Comfamiliar Risaralda a través de los hechos más
importantes ...................................................................................................... 9
1.2. DIRECCIONAMIENTO ESTRATÉGICO ................................................... 11
1.2.1. Misión ................................................................................................ 11
1.2.2. Visión ................................................................................................. 11
1.2.3. Política de Calidad ............................................................................. 11
1.2.4. Objetivos de Calidad .......................................................................... 11
1.2.5. Políticas Administrativas .................................................................... 11
1.2.6. Número de Colaboradores................................................................. 12
1.3. ESTRUCTURA ORGANIZACIONAL ........................................................ 12
2.
DEFINICIÓN DE LAS LÍNEAS DE INTERVENCIÓN ..................................... 14
3.
DESCRIPCIÓN DEL PROBLEMA .................................................................. 15
4.
JUSTIFICACIÓN ............................................................................................ 17
5.
OBJETIVOS ................................................................................................... 18
5.1. OBJETIVO GENERAL ............................................................................. 18
5.2. OBJETIVOS ESPECÍFICOS .................................................................... 18
6.
MARCO TEÓRICO ......................................................................................... 19
6.1. SISTEMAS DE INFORMACIÓN ............................................................... 19
6.2. INGENIERÍA DEL SOFTWARE ................................................................ 19
6.3. BASES DE DATOS .................................................................................. 21
6.3.1. Bases de datos relacionales .............................................................. 21
6.3.2. Conceptos.......................................................................................... 22
6.4. LENGUAJE DE PROGRAMACIÓN JAVA ................................................ 25
6.4.1. Características ................................................................................... 26
6.4.2. Programación orientada a objetos ..................................................... 26
6.5. IREPORT DESIGNER .............................................................................. 27
6.6. PLATAFORMA WEB................................................................................. 27
7.
CRONOGRAMA ............................................................................................. 29
7.1. ACTIVIDADES DEL PROYECTO ............................................................. 29
7.2. PLANIFICACIÓN PRIMERA ETAPA (Reportes de Historia Clínica) ......... 29
7.3. PLANIFICACIÓN SEGUNDA ETAPA (Plataforma web) ........................... 30
8.
PRESENTACIÓN Y ANÁLISIS DE LOS RESULTADOS ................................ 31
8.1. PRIMERA ETAPA – REPORTES HISTORIA CLÍNICA ............................. 31
8.1.1. Análisis de la Información .................................................................. 31
8.1.2. Especificación de Requerimientos ..................................................... 32
8.1.3. Diseño de los Reportes ..................................................................... 32
8.1.4. Construcción de los SQL para los Reportes y Subreportes ............... 34
8.1.5. Implementación y ejecución de los reportes ...................................... 38
8.2. SEGUNDA ETAPA – PLATAFORMA WEB ............................................... 41
9.
11.
CONCLUSIONES........................................................................................... 45
REFERENCIAS BIBLIOGRAFICAS ............................................................ 47
Lista de ilustraciones
Ilustración 1. Organigrama Comfamiliar Risaralda ................................................ 13
Ilustración 2. Planificación Primera etapa (Reportes de Historia Clínica) .............. 29
Ilustración 3. Planificación Segunda Etapa (Plataforma web) ............................... 30
Ilustración 4. Diseño de la Historia Clínica Completa ............................................ 33
Ilustración 5. Diseño de Historia Clínica Epicrisis.................................................. 33
Ilustración 6. Estructura de los Reportes de Historia Clínica ................................. 34
Ilustración 7. Impresión de la Historia Clínica Completa desde el SIIS ................. 39
Ilustración 8. Impresión de las Historia Clínica Epicrisis desde el SIIS ................. 40
Ilustración 9. Pantalla de Inicio .............................................................................. 41
Ilustración 10. Pantalla Mi cuenta .......................................................................... 42
Ilustración 11. Pantalla Buscar Factura ................................................................. 43
Ilustración 12. Pantalla Estado de las Facturas ..................................................... 44
Lista de tablas
Tabla 1. Conformación planta de personal por tipo de contrato ............................ 12
Tabla 2. Actividades del proyecto .......................................................................... 29
Tabla 3. Especificación de los requerimientos ....................................................... 32
Tabla 4. Interacción pantalla Inicio ........................................................................ 41
Tabla 5. Interacción pantalla Mi cuenta ................................................................. 42
Tabla 6. Interacción pantalla Buscar factura .......................................................... 43
Tabla 7. Interacción pantalla Estado de las facturas ............................................. 44
RESUMEN
Actualmente Comfamiliar Risaralda cuenta con un sistema de información, en el
cual se almacena toda la información de las atenciones que se le realiza a un
usuario que ingresa a la Clínica por cualquier tipo de servicio, esta información se
almacena en una base de datos y sirve como soporte de muchos procesos que se
llevan en la clínica. Uno de esos procesos tiene que ver, con las Historias clínicas
que se generan a través del Sistema de Información Integral de Salud (SIIS),
presentan demasiados inconvenientes, de tiempo, de seguridad y confiabilidad.
Esta organización tiene un interés particular de intervenir este proceso para dar
solución a los problemas que actualmente acarrea este sistema, y por ende
brindar un mejor servicio a los usuarios. También es de interés para la
organización brindar la posibilidad de acceder a estos soportes a través de la web,
desarrollando una plataforma que sirva para mejorar aún más este proceso. El
proyecto se llevará a cabo en el transcurso de la práctica profesional.
Descriptores: Sistemas de Información, Plataforma Web, Bases de Datos,
Historias Clínicas, Seguridad.
ABSTRACT
Currently Comfamiliar Risaralda has an information system, in which all information
of the care that is performed in a user enters the clinic for any type of service is
stored, this information is stored in a database and serves as support for many
processes that are carried in the clinic. One such process has to do with the
Medical Records that are generated through the System of Integral Health
Information (SIIS) have too many problems, time, safety and reliability. This
organization has a particular interest of this process involved to solve the problems
that currently carries this system, and thus provide a better service to the user.
Also of interest to the organization providing the ability to access these supports
through the web, developing a platform that will serve to further enhance this
process. The project will take place in the course of professional practice.
Descriptors: Information Systems, Web Platform, Database, Medical Records,
Security.
INTRODUCCIÓN
El presente proyecto se redacta con carácter de trabajo de práctica profesional, y
tiene como fin cumplir con uno de los requisitos de la Universidad para optar por el
título profesional de Ingeniería de Sistemas y Telecomunicaciones.
Para tal fin, se interviene en la organización Comfamiliar Risaralda en un proyecto
cuyo funcionamiento viene desde hace nueve años aproximadamente y que
actualmente presenta inconvenientes en la impresión de Historias clínicas. El
proyecto pretende dar solución a estos problemas aplicando procesos, modelos y
métodos de ingeniería del software que garanticen la calidad del producto
resultante.
El proyecto tiene como estructura una etapa de análisis, una de diseño y otra de
desarrollo. En cada una de ellas se desarrollan una serie de actividades que serán
descritas más adelante en el presente trabajo. Una vez terminadas estas etapas
se espera entregar en funcionamiento los reportes correspondientes a las historias
clínicas, pero además, se brindará la posibilidad de acceder a ellos de forma
virtual a través de un portal web, donde sólo podrán ingresar los usuarios que
estén directamente relacionados con la impresión de las Historias Clínicas.
En este documento se pretende mostrar los procesos que se llevarán a cabo para
la entrega del proyecto, recalcando el apoyo en las buenas prácticas de ingeniería
del software como objeto para garantizar un producto de calidad y sobre todo, que
supla las necesidades que actualmente se presentan en la organización en lo que
a reportes de Historias Clínicas se refiere.
1. PRESENTACIÓN DE COMFAMILIAR RISARALDA
1.1. RESEÑA HISTÓRICA
La historia de Comfamiliar Risaralda nació con el decreto 118 del 21 de junio de
1957. En él se establecieron los argumentos por los cuales el Gobierno
colombiano consideraba de vital importancia atender las necesidades de las
clases menos favorecidas económicamente.
En Pereira, la vida comercial e industrial estaba en plena etapa de desarrollo y así
mismo se presentaban carencias de servicios esenciales en la comunidad. En
medio de este panorama, el 29 de agosto de 1957, nació la Caja de
Compensación Familiar de Risaralda.
En un principio solo se ocupaba de la administración y redistribución de los
aportes de las empresas afiliadas, mediante el subsidio familiar. Después se inició
la prestación de servicios sociales y con esto el camino para brindar los mejores
beneficios a las empresas, afiliados y a sus familias.
1.1.1. Historia de Comfamiliar Risaralda a través de los hechos más
importantes
1963: Se amplió el número de empresas afiliadas, se impulsó el servicio médico
odontológico y se puso en marcha la capacitación, según lo dispuesto por el
decreto 3151 de 1962, para mejorar las condiciones laborales, de salud y
capacitación de los trabajadores de las empresas afiliadas.
Después vino un tiempo importante, en el cual se adquirieron los terrenos que hoy
ocupan la sede de la carrera 5 a con calle 22, Parque Comfamiliar en Galicia y los
centros integrales de servicios de Dosquebradas, Circunvalar, Cuba, Jardín y
Obrero.
1971: Se inaugura la sede administrativa en la carrera 5a con calle 22, para ese
mismo año se inaugura el primer supermercado de la región.
1982: En el mes de junio se da apertura al Parque Recreacional ubicado en
Galicia, que se convierte en el más importante de la región.
1984: Se inaugura en las instalaciones de la carrera 5a, el quirófano para el
servicio ambulatorio.
1993: Se da la aprobación para construir la Clínica Comfamiliar y se aprueba el
reglamento para el Premio Mujer Comfamiliar.
1996: Se construye el edificio de Capacitación.
1997: Se inaugura La Clínica Materno Infantil, conocida hoy como Clínica
Comfamiliar. También se da apertura al edificio de apartamentos El Jardín.
1998: Se construyeron 100 soluciones de vivienda en el sector de Villa Santana y
se dio inicio a la construcción del proyecto Ciudad Boquía.
2003: Se inaugura La Granja de Noé, un novedoso parque temático de 24.258
mts2 ubicado dentro del Parque Comfamiliar Galicia.
2004: Este año trajo para Comfamiliar Risaralda procesos que la consolidaron
como pionera en el área del servicio médico regional, entre éstos se encuentra la
incursión en cardiología invasiva.
2006: Se aprueba la creación del servicio de hospitalización en casa y se da paso
a la ampliación locativa de la Clínica, permitiendo la apertura de nuevos servicios.
Se destaca la certificación recibida ICONTEC.
2008: Se inauguran las nuevas atracciones acuáticas en el Parque Comfamiliar
Galicia (Piscina de olas, toboganes, río lento), siendo uno de los principales
atractivos para los risaraldenses y turistas. Se iniciaron los servicios de la UCI
Pediátrica.
2010: Se realizó el lanzamiento del Programa de Inserción Laboral Productiva
para personas con discapacidad. Comfamiliar Risaralda fue sede de los Juegos
Intercajas de la Confraternidad, se recibieron más de 2.000 deportistas de todo el
país representando 33 Cajas de Compensación.
2011: Se dio apertura al Centro Integral de Servicios en La Virginia, un amplio y
moderno edificio de cuatro pisos que permite a los habitantes de ese municipio
conocer diferentes programas ofrecidos por Comfamiliar. También en este año
inició el Magazín 'Hogar Dulce Hogar', un programa en vivo donde se dan a
conocer los servicios de la entidad y se tratan temas de interés general, es
transmitido los días lunes, miércoles y viernes.
Comfamiliar Galicia remodeló sus escenarios deportivos, para ser campo de
entrenamiento del Campeonato Mundial Sub 20 de la FIFA Colombia 2011. Las
selecciones que estuvieron en dicha ocasión fueron España, México, Camerún y
Nigeria.
2012: Participa como operador del Jardín Social 'Cosechando Sueños' en el
Corregimiento de Puerto Caldas, como un lugar que brindará atención integral a
más de 300 niños que se encuentran en su etapa de primera infancia como una
forma de vincularse con la estrategia de 'Cero a Siempre' promovida por el
gobierno nacional.
Se realizó la inauguración de Consotá un atractivo que permite conocer nuestras
culturas indígenas colombianas, dándole tránsito a la colonización antioqueña y
terminando en una réplica de Pereira en los años 30, esta zona cuenta además
con 22 cabañas tipo colonial.
1.2. DIRECCIONAMIENTO ESTRATÉGICO
1.2.1. Misión
Es una Entidad de servicios dentro del campo de la Protección Social, que con
fundamento en la subsidiariedad, la sostenibilidad, la equidad y la inclusión,
permite el desarrollo integral de la comunidad generando valor público.
1.2.2. Visión
Actuar en el campo de la Protección Social, desarrollo y bienestar de la
comunidad, con liderazgo y proyección Institucional.
1.2.3. Política de Calidad
COMFAMILIAR RISARALDA optimiza los recursos y los afianza a través del
incremento de la competencia del personal, buscando la satisfacción del cliente
convirtiendo el servicio en una cultura de mejoramiento continuo.
1.2.4. Objetivos de Calidad

Aumentar la satisfacción de los clientes.

Garantizar la Calidad de los procesos y servicios.

Mantener y mejorar el Sistema de Gestión de Calidad.

Promover el mejoramiento de la competencia del personal.

Asegurar la confiabilidad de la información.

Asegurar la sostenibilidad económica.
1.2.5. Políticas Administrativas

Identificar las necesidades e incrementar el portafolio de servicios.

Satisfacer al cliente interno y externo.

Mejorar la comunicación.

Disminuir costos y gastos.

Revisar y ajustar los procesos.

Tecnificar y automatizar los procesos

Profesionalizar el recurso humano.
1.2.6. Número de Colaboradores
Tabla 1. Conformación planta de personal por tipo de contrato
Fuente: elaboración propia
TIPO DE VINCULACIÓN
2012
2013
VARIACIÓN
Adicionales
Práctica
Convencionado parcial con extralegales
Convencionado parcial sin extralegales
Convencionado total
Convenios
Fijos
Fuera de convención
Fuera de convención sin extralegales
Integrales
Integrales – Fijos
Por obra
TOTAL
5
57
81
59
56
41
922
40
1
6
4
276
1549
18
51
81
59
54
21
918
40
1
6
9
172
1431
13
-6
0
0
-2
-20
-4
0
0
0
5
-104
-52
1.3. ESTRUCTURA ORGANIZACIONAL
Ilustración 1. Organigrama Comfamiliar Risaralda
Fuente: Informe de Gestión y Balance Social 2012
ÁREA/DEPARTAMENTO DE PRÁCTICA: Sistemas.
El proceso de Sistemas dio cobertura a todo el ámbito tecnológico de la entidad,
en cuanto a Redes y Comunicaciones, Mantenimiento de Hardware y Software,
desarrollo y mantenimiento de sistemas de información y procesos. En el año
2012 se obtuvo un resultado del 99,9% en el cumplimiento del plan estratégico. Se
culminaron proyectos como: evaluación y reevaluación de proveedores activos, se
realizaron exitosamente los mantenimientos preventivos de equipos programados,
se destaca además la renovación del sitio web y desarrollo del micrositio para el
Parque Comfamiliar Galicia.
2. DEFINICIÓN DE LAS LÍNEAS DE INTERVENCIÓN
Teniendo en cuenta que Comfamiliar Risaralda en su filosofía de brindar el mejor
servicio a sus clientes, actualmente cuenta con más de 35 desarrollos de software
propios que permiten acercar al usuario a los servicios prestados por la
organización. Al realizar la práctica se interviene en uno de estos desarrollos,
específicamente en el SIIS (Sistema de Información de Salud Integral) el cual
presenta altercados con la impresión de Historias Clínicas. Por ser un proyecto de
desarrollo ésta práctica se direcciona en las líneas de Desarrollo de Software y
Sistemas de Información, apoyadas por la Ingeniería del Software.
3. DESCRIPCIÓN DEL PROBLEMA
En la organización, específicamente en la Clínica, el SIIS (Sistema de Información
Integral de Salud) administra toda la información relacionada con la atención de
los pacientes que ingresan a la institución por cualquiera de los servicios que se
ofrecen en las tres áreas, Clínica, Odontología y Medicina. El SIIS genera
diferentes reportes asociados a cada uno de estos servicios. Actualmente se
presentan inconvenientes en dos de los reportes generados por el sistema,
Impresión de la Historia Clínica Completa e Impresión de la Historia Clínica de
Epicrisis.
La Historia Clínica Completa comprende toda la información relacionada del
paciente desde el primer momento que ingresó a atención por cualquier tipo de
servicio. Cuando se genera el reporte y la historia clínica completa es muy grande,
que por lo general lo es, el SIIS se bloquea o en caso contrario cuando se genera
la impresión, el seguimiento o estudio de la historia se hace tediosa porque no
muestra de forma la clara las atenciones y servicios por los cuales ingresó.
La Historia Clínica de Epicrisis comprende la información resumida de todas las
atenciones que ha recibido un paciente en un ingreso, como estructura- se
entiende que un ingreso, una evolución y un egreso, son los componentes más
importantes que conforman una Epicrisis. Para cualquier sistema de información
se hace difícil sacar un resumen coherente a partir de una serie de datos, por
consiguiente la evolución de un paciente no es posible generarla de manera
automática a través del SIIS (Sistema de Información Integral de Salud).
Para efectos legales, la historia clínica completa debe de comprender la
información del paciente de forma clara, concisa y segura, esto con el fin de
entregar reportes cuando se solicitan por parte de EPS (Entidades Prestadoras de
Salud), entidades judiciales, también para evidencias en caso de demandas por
malapraxis medica, es decir actos o procedimientos inapropiados por parte de los
profesionales hacia los pacientes, para investigaciones científicas acerca del
tratamiento de una enfermedad, entre otros.
Para efectos financieros, al momento de generar los cobros a otras EPS por los
servicios prestados, así como de los medicamentos suministrados durante la
atención en la IPS, la historia clínica de epicrisis no cumple con todos los
requisitos que exigen algunos auditores de otras EPS, por lo que las cuentas de
cobro sufren glosas (objeciones a las cuentas de cobro presentadas por las
Instituciones Prestadoras de Servicios de Salud - IPS), y son devueltas para
corrección, esto en muchas ocasiones genera más trabajo del que debería existir.
Para efectos de seguridad e integridad de la información, los reportes son
generados en HTML luego se guardan en un archivo y posteriormente un Browser
o navegador los ejecuta y los muestra; esto a niveles altos de seguridad
informática puede generar vulnerabilidades de la información ya que no se dan
todas las medidas para proteger los datos de la historia clínica del paciente,
teniendo en cuenta también las implicaciones legales que acarrean las historias
clínicas.
Para efectos ambientales la cantidad de papel que generan los reportes es
demasiada, si se tiene en cuenta que hay historias clínicas completas de hasta
800 páginas por paciente. Ahora, hay reportes que se imprimen más de una vez y
esto incrementa mucho más el papel utilizado para generar las impresiones, sin
mencionar la cantidad de tinta y otros recursos utilizados en el proceso.
4. JUSTIFICACIÓN
SIIS (Sistema de Información Integral de Salud) es un software de desarrollo
propio de Comfamiliar Risaralda, por lo que el soporte y mantenimiento lo hace la
misma organización. Partiendo de esa premisa la organización tiene la necesidad
de intervenir en el software SIIS, para brindar un mejor servicio a los usuarios que
intervienen directa o indirectamente con la impresión de reportes.
Las áreas de la organización que están relacionadas directamente con la
impresión de reportes son: facturación, medicina, odontología y sistemas, estas
tienen un gran interés de que el proyecto se lleve a cabo, con el fin de que se
brinde un mejor servicio tanto para el personal administrativo de la clínica como
para los pacientes.
Una de las ventajas de la puesta en marcha de este proyecto es que mejorará en
gran sentido el servicio prestado por la clínica a los usuarios, en cuanto a lo que
reportes de Historia Clínica se refiere y por supuesto llevará a una optimización de
recursos y de tiempo, ya que brindará la posibilidad de acceder a los reportes de
manera virtual, así la gran cantidad de papel utilizado en las impresiones ya no
serían necesarios, pero además el tiempo que era requerido para dicha labor se
reduce considerablemente al no tener que realizar impresiones cada vez que sean
solicitadas.
5. OBJETIVOS
5.1. OBJETIVO GENERAL
Desarrollar una Plataforma Web que permita administrar los Reportes de Historia
Clínica, Reportes que serán diseñados y desarrollados durante el ciclo de vida del
proyecto.
5.2. OBJETIVOS ESPECÍFICOS







Realizar el levantamiento y análisis de la información.
Establecer los requerimientos del proyecto.
Diseñar los reportes.
Construir los SQL de los reportes.
Implementar el diseño y los SQL de los reportes en la herramienta iReport.
Diseñar el Sitio Web.
Desarrollar el Sitio Web para la administración de los reportes de Historias
Clínicas.
6. MARCO TEÓRICO
6.1. SISTEMAS DE INFORMACIÓN
Un sistema de información según (Fernandez Alarcón, 2006), por definición es un
conjunto de elementos que interactúan entre sí con un fin común; que permite que
la información esté disponible para satisfacer las necesidades en una
organización, un sistema de información no siempre requiere contar con recurso
computacional aunque la disposición del mismo facilita el manejo e interpretación
de la información por los usuarios.
Los elementos que interactúan entre sí son: el equipo computacional (cuando esté
disponible), el recurso humano, los datos o información fuente, programas
ejecutados por las computadoras, las telecomunicaciones y los procedimientos de
políticas y reglas de operación. Un Sistema de Información realiza cuatro
actividades básicas:




Entrada de información: proceso en el cual el sistema toma los datos que
requiere.
Almacenamiento de información: pude hacerse por computadora o archivos
físicos para conservar la información.
Procesamiento de la información: permite la transformación de los datos
fuente en información que puede ser utilizada para la toma de decisiones.
Salida de información: es la capacidad del sistema para producir la
información procesada o sacar los datos de entrada al exterior.
Los usuarios de los sistemas de información tienen diferente grado de
participación dentro de un sistema y son el elemento principal que lo integra, así
se puede definir usuarios primarios quienes alimentan el sistema, usuarios
indirectos que se benefician de los resultados pero que no interactúan con el
sistema, usuarios gerenciales y directivos quienes tienen responsabilidad
administrativa y de toma de decisiones con base a la información que produce el
sistema.
6.2. INGENIERÍA DEL SOFTWARE
De acuerdo a (Pressman, 2005), la Ingeniería de software es el área de la
ingeniería que ofrece métodos y técnicas para desarrollar y mantener software.
Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de
la computación, tales como construcción de compiladores, sistemas operativos, o
desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del
desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de
áreas: negocios, investigación científica, medicina, producción, logística, banca,
control de tráfico, meteorología, derecho, Internet, Intranet, etc.
Una definición precisa aún no ha sido contemplada en los diccionarios, sin
embargo se pueden citar las enunciadas por algunos de los más prestigiosos
autores:




Ingeniería de software es el estudio de los principios y metodologías para el
desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978).
Ingeniería de software es la aplicación práctica del conocimiento científico al
diseño y construcción de programas de computadora y a la documentación
asociada requerida para desarrollar, operar y mantenerlos. Se conoce
también como desarrollo de software o producción de software (Bohem,
1976).
Ingeniería de software trata del establecimiento de los principios y métodos
de la ingeniería a fin de obtener software de modo rentable, que sea fiable y
trabaje en máquinas reales (Bauer, 1972).
Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al
desarrollo, operación y mantenimiento del software; es decir, la aplicación
de la ingeniería al software (IEEE, 1993).
En el 2004, en los Estados Unidos, la Oficina de Estadísticas del Trabajo (U. S.
Bureau of Labor Statistics) contó 760.840 ingenieros de software de computadora.
El término "ingeniero de software", sin embargo, se utiliza en forma genérica en el
ambiente empresarial, y no todos los ingenieros de software poseen realmente
títulos de ingeniería de universidades reconocidas.
Algunos autores consideran que "desarrollo de software" es un término más
apropiado que "ingeniería de software" para el proceso de crear software.
Personas como Pete McBreen (autor de "Software Craftmanship") cree que el
término IS implica niveles de rigor y prueba de procesos que no son apropiados
para todo tipo de desarrollo de software. Indistintamente se utilizan los términos
"ingeniería de software" o "ingeniería del software". En Hispanoamérica el término
usado normalmente es el primero de ellos. La creación del software es un proceso
intrínsecamente creativo y la ingeniería del software trata de sistematizar este
proceso con el fin de acotar el riesgo del fracaso en la consecución del objetivo
creativo por medio de diversas técnicas que se han demostrado adecuadas en
base a la experiencia previa.
La IS se puede considerar como la ingeniería aplicada al software, esto es, por
medios sistematizados y con herramientas preestablecidas, la aplicación de ellos
de la forma más eficiente para la obtención de resultados óptimos; objetivos que
siempre busca la ingeniería. No es sólo de la resolución de problemas, sino más
bien teniendo en cuenta las diferentes soluciones, elegir la más apropiada.
6.3. BASES DE DATOS
Una base de datos es un “almacén” que permite guardar grandes cantidades
de información de forma organizada para que luego sea posible encontrarla y
utilizarla fácilmente. Desde el punto de vista informático, la base de datos es un
sistema formado por un conjunto de datos almacenados en discos que
permiten el acceso directo a ellos y un conjunto de programas que manipulen
ese conjunto de datos (Nevado Cabello).
6.3.1. Bases de datos relacionales
Una base de datos relacional es una base de datos en donde todos los datos
visibles al usuario están organizados estrictamente como tablas de valores, y en
donde todas las operaciones de la base de datos operan sobre estas tablas. Estas
bases de datos son percibidas por los usuarios como una colección de relaciones
normalizadas de diversos grados que varían con el tiempo.
El modelo relacional representa un sistema de bases de datos en un nivel de
abstracción un tanto alejado de los detalles de la máquina subyacente, de la
misma manera como, por ejemplo, un lenguaje del tipo de PL/1 representa un
sistema de programación con un nivel de abstracción un tanto alejado de los
detalles de la máquina subyacente. De hecho, el modelo relacional puede
considerarse como un lenguaje de programación más bien abstracto, orientado de
manera específica hacia las aplicaciones de bases de datos.
En términos tradicionales una relación se asemeja a un archivo, una tupla a un
registro, y un atributo a un campo. Pero estas correspondencias son aproximadas,
en el mejor de los casos. Una relación no debe considerarse como “solo un
archivo”, sino más bien como un archivo disciplinado, siendo el resultado de esta
disciplina una simplificación considerable de las estructuras de datos con las
cuales debe interactuar el usuario, lo cual a su vez simplifica los operadores
requeridos para manejar esas estructuras
Características principales:

Cada “archivo” contiene solo un tipo de registros.

Los campos no tienen un orden específico, de izquierda a derecha.

Los registros no tienen un orden específico, de arriba hacia abajo.

Cada campo tiene un solo valor.

Los registros poseen un campo identificador único (o combinación de
campos) llamado clave primaria.
Así, todos los datos en una base de datos relacional se representan de una y solo
una manera, a saber, por su valor explícito. En particular, las conexiones lógicas
dentro de una relación y entre las relaciones se representan mediante esos
valores; no existen “ligas” o apuntadores visibles para el usuario, ni ordenamientos
visibles para el usuario, ni grupos repetitivos visibles para el usuario, etc.
Actualmente algunos de los administradores de bases de datos, utilizan un
sistema de búsqueda con algoritmos de árboles B. Pero las búsquedas que se
pueden realizar con estos algoritmos son sólo para memoria principal. Los
algoritmos implementados para realizar búsquedas con listas salteadas o por
bloques (skip lists) son eficientes para realizar búsquedas en memoria secundaria.
Como tienen varios niveles en cada nodo de la lista, nos permite dar saltos más
largos al realizar las búsquedas, esto provoca que las sean más rápidas.
6.3.2. Conceptos
Sistema administrador de base de datos relacionales: Es un sistema que
permite administrar bases de datos basadas en el modelo relacional.
Base de datos relacionales: Es una colección de datos organizada en tablas,
también llamadas relaciones, que están relacionadas entre sí y que pueden ser
accesadas de una forma fácil.
Relación o tabla: Es un conjunto de filas y columnas que tienen atributos en
común. Es la base principal de las bases de datos relacionales.
Tupla, fila o registro: Cada una de las filas que forman una tabla o relación. Cada
fila representa a un objeto de la realidad y la información perteneciente a éste.
Atributo o campo: Cada una de las columnas que forman una relación.
Granularidad: Propiedad del valor de un campo que garantiza que está dividido
en el menor subconjunto posible para su dominio de datos. Por ejemplo, una
dirección tiene una calle, número de casa, departamento y país. La granularidad
consistiría, en este caso, en dividir esa dirección en cada una de las partes que la
conforman.
Dominio de datos: Se refiere a todos los posibles valores que un atributo o
campo de una tabla puede tener, por ejemplo, la edad de una persona puede estar
entre 0 años a 150.
Constraint o restricciones: Son un conjunto de reglas que se aplica a los
atributos de una tabla para limitar el dominio de datos que puede tener. Entre las
principales restricciones están los CHECK, utilizado para garantizar que el valor
del campo cumpla una expresión booleana (precio de un producto mayor que
cero, por ejemplo), las restricciones NULL y NOT NULL, las llaves primarias y las
llaves foráneas, entre otras.
Llave primaria: Una llave primaria sirve para identificar unívocamente a una fila
dentro de una tabla o relación. La llave primaria es una combinación de una
restricción UNIQUE y una restricción NOT NULL. Las llaves primarias pueden ser
aplicadas a un campo o a un conjunto de campos (llave compuesta). Una tabla
puede tener una llave primaria como máximo. La teoría de base de datos dicta que
cada tabla debería tener una llave primaria aunque muchos de los gestores de
base de datos no hacen obligatorio esta regla.
Llave foránea: Restricción que garantiza que el valor de un campo de una tabla
está presente en el campo de otra tabla. Es un campo en una relación que
coincide con el valor de una llave primaria en otra relación. No tienen valores
únicos y son utilizadas para restringir el dominio del campo (limitándolo a valores
de otro campo en otra tabla) que es llave foránea. Una llave foránea especifica
que el valor en una columna debe ser igual a los valores que aparecen en alguna
fila de otra tabla. Las llaves foráneas deben referenciar a columnas que son ya
sea llaves primarias o que contienen restricciones UNIQUE.
Unique: Una restricción UNIQUE tiene como objetivo garantizar que una columna
o grupo de columnas tenga un valor único dentro de una relación, es decir que no
se repitan. Una restricción UNIQUE es violada cuando hay más de una fila en la
tabla donde los valores de todas las columnas incluidas en la restricción son
iguales.
Diferencia entre una llave primaria y la restricción UNIQUE: Las diferencias
entre una llave primaria y una restricción UNIQUE básicamente son las siguientes:
 Una llave primaria no permite valores nulos, una restricción UNIQUE, sí.
 Cada tabla solo puede tener una llave primaria como máximo, sin embargo
puede tener más de una restricción UNIQUE.
Existen otras diferencias en la forma en que son implementadas estas
restricciones pero estas dependen del gestor de base de datos utilizado.
Índice: Utilizado para permitir acceso aleatorio rápido a una tupla principalmente
para cuestiones de búsqueda. Los índices no son considerados como parte de la
base de datos sino que como un detalle de implementación. La correcta aplicación
de los índices puede ayudar a mejorar el rendimiento de la base de datos.
Vista: Una vista es una consulta a la base de datos a la que se le ha asignado un
nombre y que puede ser utilizada como una tabla común, aunque no esté definida
dentro del esquema de la base de datos. Debido a que se comporta como una
tabla, se pueden realizar operaciones de consulta de datos de forma normal. En
cuestión de actualizaciones de datos, dado que una vista es una consulta, ésta se
ejecuta cada vez que la vista es utilizada. Algunos gestores de base de datos
permiten la actualización de la vista directamente, en otros es necesario actualizar
los datos de las tablas que se han relacionado en la consulta que forma la vista.
DML (Data Manipulation Language): Subconjunto del lenguaje SQL utilizado
para la manipulación de los datos en la base de datos, incluye instrucciones como
INSERT, UPDATE, DELETE.
DDL (Data Definition Language): Subconjunto del lenguaje SQL utilizado para la
definición de los datos de la base. Incluye la creación de tablas, restricciones,
definición de tipos de datos y otros.
Esquema: Un esquema es un entorno en el cual están agrupados objetos de la
base de datos como tipos de datos, funciones y operadores. Son utilizados para
evitar conflictos entre otros objetos que puedan tener el mismo nombre. Entre las
ventajas que permite el uso de esquemas está el evitar conflictos cuando hay
concurrencia de usuario en la base de datos y organización de los objetos dentro
de grupos lógicos para hacerlos más administrables. Los esquemas son como los
directorios en los sistemas operativos, a diferencia que los esquemas no se
pueden anidar.
Lenguaje procedural: Son lenguajes que permiten al usuario definir sus propias
funciones dentro de la base de datos. La sintaxis y funcionalidad de estos
lenguajes dependen del gestor de base de datos que se esté utilizando. Algunos
de los lenguajes procedurales más comunes son PL/SQL de Oracle y el
PGL/PSQL de postgresql.
Normalización: Proceso de organizar campos y tablas de una base de datos
relacionales para minimizar la redundancia y la dependencia con el fin de aislar los
datos de tal forma que las modificaciones puedan ser hechas solo a una tabla y
propagadas a las demás a través de las relaciones entre estas. Entre las ventajas
de la Normalización se tiene que se minimiza el re diseño de la estructura de la
base de datos cuando ésta se quiere extender y que se logra un modelo de datos
más informativo para el usuario.
Transacciones: Una transacción es una unidad de trabajo desarrollada dentro del
sistema gestor de base de datos sobre la base de datos. Tienen como objetivo
proveer unidades de trabajo confiables que permitan mantener la integridad y
consistencia de los datos en caso de ocurrir errores durante la ejecución de las
operaciones. Las operaciones de las transacciones no son visibles a otras
transacciones. Por definición, una transacción debe ser atómica (ejecutarse
completamente o no ejecutarse en lo absoluto), consistente, aislada y permanente
(principio ACID).
SQL (Structured Query Language): Lenguaje de consulta estructurado. Es
utilizado para manipulación de datos y para definición del esquema de la base de
datos también.
Trigger: Un Trigger (o disparador en español) es una especificación a la base de
datos para que ejecute una función en particular, de manera automática, cada vez
que cierto tipo de operación (INSERT, UPDATE, DELETE) sea ejecutada sobre un
objeto de la base de datos (tablas y vistas, por ejemplo).
Procedimiento almacenado: Código ejecutable que es almacenado en la base
de datos. Sirven, generalmente, para manipulación y cálculo de datos de forma
automática.
6.4. LENGUAJE DE PROGRAMACIÓN JAVA
Según (Groussard, 2012), SUN Microsystems caracteriza a JAVA como un
lenguaje sencillo, orientado a objetos, distribuido, interpretado, robusto, seguro,
independiente de las arquitecturas, portable, eficaz, multihilo y dinámico. Java fue
diseñado en 1990 por James Gosling, de Sun Microsystems, como software para
dispositivos electrónicos de consumo. Curiosamente, todo este lenguaje fue
diseñado antes de que diese comienzo la era World Wide Web, puesto que fue
diseñado para dispositivos electrónicos como calculadoras, microondas y la
televisión interactiva. En los primeros años de la década de los noventa, Sun
Microsystems decidió intentar introducirse en el mercado de la electrónica de
consumo y desarrollar programas para pequeños dispositivos electrónicos. Tras
unos comienzos dudosos, Sun decidió crear una filial, denominada FirstPerson
Inc., para dar margen de maniobra al equipo responsable del proyecto.
Inicialmente Java se llamó Oak (roble en inglés), aunque tuvo que cambiar de
denominación, debido a que dicho nombre ya estaba registrado por otra empresa.
Se dice este nombre se le puso debido a la existencia de tal árbol en los
alrededores del lugar de trabajo de los promotores del lenguaje.
Tres de las principales razones que llevaron a crear Java son:

Creciente necesidad de interfaces mucho más cómodas e intuitivas que los
sistemas de ventanas que proliferaban hasta el momento.

Fiabilidad del código y facilidad de desarrollo. Gosling observó que muchas
de las características que ofrecían C o C++ aumentaban de forma
alarmante el gran coste de pruebas y depuración. Por ello en los sus ratos
libres creó un lenguaje de programación donde intentaba solucionar los
fallos que encontraba en C++.

Enorme diversidad de controladores electrónicos. Los dispositivos
electrónicos se controlan mediante la utilización de microprocesadores de
bajo precio y reducidas prestaciones, que varían cada poco tiempo y que
utilizan diversos conjuntos de instrucciones. Java permite escribir un código
común para todos los dispositivos.
Por todo ello, en lugar de tratar únicamente de optimizar las técnicas de desarrollo
y dar por sentada la utilización de C o C++, el equipo de Gosling se planteó que tal
vez los lenguajes existentes eran demasiado complicados como para conseguir
reducir de forma apreciable la complejidad de desarrollo asociada a ese campo.
Por este motivo, su primera propuesta fue idear un nuevo lenguaje de
programación lo más sencillo posible, con el objeto de que se pudiese adaptar con
facilidad a cualquier entorno de ejecución.
Basándose en el conocimiento y estudio de gran cantidad de lenguajes, este
grupo decidió recoger las características esenciales que debía tener un lenguaje
de programación moderno y potente, pero eliminando todas aquellas funciones
que no eran absolutamente imprescindibles.
6.4.1. Características
No es arriesgado afirmar que Java supone un significativo avance en el mundo de
los entornos software, y esto viene avalado por tres elementos claves que
diferencian a este lenguaje desde un punto de vista tecnológico:




Es un lenguaje de programación que ofrece la potencia del diseño orientado
a objetos con una sintaxis fácilmente accesible y un entorno robusto y
agradable.
Proporciona un conjunto de clases potente y flexible.
Pone al alcance de cualquiera la utilización de aplicaciones que se pueden
incluir directamente en páginas Web (aplicaciones denominadas applets).
Java aporta a la Web una interactividad que se había buscado durante
mucho tiempo entre usuario y aplicación.
6.4.2. Programación orientada a objetos
Java incorpora el uso de la orientación a objetos como uno de los pilares básicos
de su lenguaje. La orientación a objetos es un paradigma de programación que
facilita la creación de software de calidad por sus factores que potencian el
mantenimiento, la extensión y la reutilización del software generado bajo este
paradigma.
La programación orientada a objetos trata de amoldarse al modo de pensar del
hombre y no al de la máquina. Esto es posible gracias a la forma racional con la
que se manejan las abstracciones que representan las entidades del dominio del
problema, y a propiedades como la jerarquía o el encapsulamiento.
El elemento básico de este paradigma no es la función (elemento básico de la
programación estructurada), sino un ente denominado objeto. Un objeto es la
representación de un concepto para un programa, y contiene toda la información
necesaria para abstraer dicho concepto: los datos que describen su estado y las
operaciones que pueden modificar dicho estado, y determinan las capacidades del
objeto.
6.5. IREPORT DESIGNER
De acuerdo a (Jaspersoft Corporation, 2000 - 2014), iReport Designer es una
herramienta de creación de código abierto que puede crear informes complejos de
todo tipo de aplicaciones Java a través la biblioteca JasperReports. Está escrito en
Java puro 100 % y se distribuye con el código fuente de acuerdo con la GNU
General Public License.
A través de una interfaz gráfica intuitiva y rica, iReport permite crear rápidamente
cualquier tipo de informe de forma muy sencilla. iReport permite a los ingenieros
que están aprendiendo esta tecnología acceder a todas las funciones de
JasperReports, así como también permite ayudar a los usuarios expertos a
ahorrar mucho tiempo durante la elaboración de los informes complejos.
Para la Versión 5.0, iReport fue reescrito casi por completo, con la nueva
aplicación basada en el cliente enriquecido de NetBeans plataforma. A pesar de
que la interfaz de usuario aparece más o menos lo mismo, un nuevo diseño
completo del núcleo de iReport y el uso de la plataforma NetBeans nos permitirá
crear rápidamente nuevas características, lo que hace aún más fácil iReport de
aprender y usar.
6.6. PLATAFORMA WEB
La plataforma web se puede definir según (BuenasTareas.com, 2014), como una
aplicación en la cual un sistema puede ser desarrollado, es decir donde se pueden
crear una variedad de opciones para los usuarios ya que son páginas de acceso,
cuando se desarrolla un programa, se hace de manera que funcione en una
plataforma específica, como por ejemplo la plataforma de una empresa que la
crean para dar información de interés a los usuarios pero esa información puede
ser restringida ya que si alguien quiere saber cosas más importantes o privadas
tienen que tener una clave de acceso, debido a que no es información para todos.
Esto se refiere a que el programa va a funcionar en un determinado sistema
operativo. Normalmente hay versiones para Windows, Macos, Linux, entre otros,
pero cuando nos estamos refiriendo a una plataforma web, estamos diciendo que
el sistema funcionara desde un navegador web independiente de Sistema
Operativo que se esté utilizando. Una plataforma es por ejemplo, un sistema
operativo, o un gran software que sirve como base para ejecutar determinadas
aplicaciones. También son plataformas las arquitecturas del hardware, los
lenguajes de programación y sus librerías en tiempo de ejecución, como lo son las
de video juegos.
7. CRONOGRAMA
7.1. ACTIVIDADES DEL PROYECTO
Tabla 2. Actividades del proyecto
Fuente: elaboración propia
7.2. PLANIFICACIÓN PRIMERA ETAPA (Reportes de Historia Clínica)
Ilustración 2. Planificación Primera etapa (Reportes de Historia Clínica)
Fuente: elaboración propia
7.3. PLANIFICACIÓN SEGUNDA ETAPA (Plataforma web)
Ilustración 3. Planificación Segunda Etapa (Plataforma web)
Fuente: elaboración propia
8. PRESENTACIÓN Y ANÁLISIS DE LOS RESULTADOS
8.1. PRIMERA ETAPA – REPORTES HISTORIA CLÍNICA
8.1.1. Análisis de la Información
Durante el transcurso de las primeras semanas se indago acerca de todo lo
relacionado con las historias clínicas, estructura, implicaciones legales,
importancia para la Clínica, situación actual, problemas, posibles soluciones, etc.
Pero además, se hace un breve análisis de la estructura de la base de datos, y de
las tablas involucradas directamente con la información que se presenta en las
Historias Clínicas. En este periodo de acoplamiento del practicante con la
organización se da prioridad al enfoque que tendrán los reportes, y de cómo será
su implementación, se establecen tiempos y alcances del proyecto en una reunión
previa con el jefe, el asesor de la organización para el proyecto y el practicante.
Para la recolección de la información, se tomó como base el documento de
análisis y diseño del Sistema de Información Integral de Salud (SIIS), sistema
donde actualmente se realizan los reportes. Específicamente se revisa el caso de
uso que tiene relación con la impresión de las Historias Clínicas, otorgando
información valiosa que muestra la forma en cómo se realiza la impresión desde el
SIIS. Se realizan pruebas de cómo se lleva el proceso actual de las impresiones y
se obtienen detalles específicos del funcionamiento, como el tiempo de los
reportes, la estructura y el orden de la información mostrada.
Tomando como base la información y los resultados conseguidos anteriormente,
se programa una reunión con la Jefe de facturación y la Jefe de Glosas, para
definir requisitos puntuales y posteriormente establecer una primera entrega de
requerimientos. Se determina con la jefe de glosas hacer un compendio en un
archivo, de las glosas más recurrentes de la clínica para tener una mejor
apreciación del problema existente en el departamento de facturación, e incluir
estas apreciaciones en la especificación de los requerimientos.
Finalmente y para dar inicio al diseño, en una reunión con los directivos de la
clínica Comfamiliar, se realiza una presentación de los requerimientos
(http://prezi.com/hoalrbvui3xx/soporte-historia-clinica/), con el objetivo de poner en
común acuerdo a las partes, cosa que en etapas anteriores al proyecto no se
había logrado. Esta reunión dejó buenos comentarios hacia los requerimientos y
sólo algunas consideraciones a tener en cuenta; lo más importante es que se logró
poner en común acuerdo a los directivos de la clínica.
8.1.2. Especificación de Requerimientos
 El reporte de Historia Clínica Completa se realizará teniendo en cuenta toda
la información registrada en el SIIS, desde el primer y último ingreso del
paciente a la Clínica.
 El reporte de la Epicrisis se realizará cómo resumen teniendo en cuenta la
información registrada en el SIIS respecto a un ingreso del paciente.
 Se debe garantizar un sólo encabezado por cada reporte generado.
 El reporte debe cumplir con las normas mínimas legales establecidas.
 La impresión de los reportes se hará en orden cronológico.
 La estructura debe de ser ordenada de manera que se haga fácil la lectura
y el seguimiento del reporte a través del SIIS.
 El tiempo de impresión además de rápido, debe ser proporcional al tamaño
del mismo.
Tabla 3. Especificación de los requerimientos
Fuente: elaboración propia
Requerimiento







El reporte de Historia Clínica Completa se
realizará teniendo en cuenta toda la información
registrada en el SIIS, desde el primer y último
ingreso del paciente a la Clínica.
El reporte de la Epicrisis será el resumen de la
información registrada en el SIIS respecto a un
ingreso del paciente a la Clínica.
Se debe garantizar un sólo encabezado por cada
reporte generado.
El reporte debe cumplir con las normas mínimas
legales establecidas
La impresión de los reportes se hará en orden
cronológico.
La estructura debe de ser ordenada de manera
que se haga fácil la lectura y el seguimiento del
reporte a través del SIIS.
El tiempo de impresión además de rápido, debe
ser proporcional al tamaño del mismo.
Ponderación (%)
Clasificación
25
Funcional
25
Funcional
10
Funcional
10
Funcional
10
Funcional
10
No funcional
10
No Funcional
8.1.3. Diseño de los Reportes
La herramienta utilizada para el diseño de los reportes tanto para la Historia
Clínica Completa cómo la de Epicrisis se llevó a cabo en la herramienta de diseño
de interfaces Pencil.
Diseño de la Historia Clínica Completa
Ilustración 4. Diseño de la Historia Clínica Completa
Fuente: elaboración propia
Diseño de Historia Clínica Epicrisis
Ilustración 5. Diseño de Historia Clínica Epicrisis
Fuente: elaboración propia
8.1.4. Construcción de los SQL para los Reportes y Subreportes
Cada reporte tiene una estructura diferente, a continuación se mostrará la el orden
jerárquico de cada reporte.
Estructura de los Reportes de Historia Clínica
Ilustración 6. Estructura de los Reportes de Historia Clínica
Fuente: elaboración propia
SQL de los Reportes de Historia Clínica
Completa
Ingresos
Ingresos por Servicio
Atenciones
Grupos
Detalles de grupo
Signos Vitales
Ordenes
Administración de Medicamentos
Formulación Intra-Hospitalaria
Recomendaciones de Manejo
Detalles Grid
Epicrisis
Ingresos por Servicio - Epicrisis
Atenciones - Epicrisis
Grupos - Epicrisis
Egreso
Ordenes Solicitadas
8.1.5. Implementación y ejecución de los reportes
Para realizar la implementación de los reportes en el Sistema de Información
Integral de Salud (SIIS), se modificaran las clases que ejecutan las Historias
Clínicas, actualmente se generan en un archivo HTML y son mostradas en un
Navegador. La idea inicial es cambiar los métodos de ejecución con el objetivo de
que la clase llame los Reportes desarrollados en la Herramienta iReport.
La herramienta iReport me genera dos archivos por cada reporte construido
un .jrxml (Reporte) y un .jasper(Reporte compilado). Desde la clase que ejecuta
las Historias Clínicas, se agregara un método el cual realiza el llamado del archivo
Jasper.
Clase IngresosClinica.java
public static void generarReporteHCCompleta(String codBene) {
try {
String archivo = "HC_Completa.jasper";
System.out.println("Cargando desde: " + archivo);
ir (archivo == null) {
System.out.println("No se encuentra el archivo.");
}
//este es el parámetro, se pueden agregar más parámetros basta con poner mas parametro.put
Map parametro = new HashMap();
parametro.put("Codigo_Beneficiario", codBene);
//Reporte diseñado y compilado con iReport
//
JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametro,
HisCliFacade.getFacade().getConn().getConnection());
JasperPrint
jasperPrint
=
JasperFillManager.fillReport(archivo,
parametro,
HisCliFacade.getFacade().getConn().getConnection());
//Se lanza el Viewer de Jasper, no termina aplicación al salir
JasperViewer jviewer = new JasperViewer(jasperPrint, false);
jviewer.setTitle("HISTORIA CLÍNICA");
jviewer.setVisible(true);
//
JasperPrintManager.printReport(jasperPrint, false);
} catch (Exception j) {
System.out.println("Mensaje de Error:" + j.getMessage());
j.printStackTrace();
}
}
Impresión de la Historia Clínica Completa desde el SIIS
Ilustración 7. Impresión de la Historia Clínica Completa desde el SIIS
Fuente: elaboración propia
Clase IngresosXServicio.java
public static void generarReporteEpicrisis(String codIngreso) {
try {
String archivo = "HC_Epicrisis.jasper";
System.out.println("Cargando desde: " + archivo);
if (archivo == null) {
System.out.println("No se encuentra el archivo.");
}
//este es el parámetro, se pueden agregar más parámetros basta con poner más parametro.put
Map parametro = new HashMap();
parametro.put("Numero_Ingreso", codIngreso);
//Reporte diseñado y compilado con iReport
//
JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametro,
HisCliFacade.getFacade().getConn().getConnection());
JasperPrint
jasperPrint
=
JasperFillManager.fillReport(archivo,
parametro,
HisCliFacade.getFacade().getConn().getConnection());
//Se lanza el Viewer de Jasper, no termina aplicación al salir
JasperViewer jviewer = new JasperViewer(jasperPrint, false);
jviewer.setTitle("EPICRISIS");
jviewer.setVisible(true);
//
JasperPrintManager.printReport(jasperPrint, false);
} catch (Exception j) {
System.out.println("Mensaje de Error:" + j.getMessage());
j.printStackTrace();
}
}
Impresión de las Historia Clínica Epicrisis desde el SIIS
Ilustración 8. Impresión de las Historia Clínica Epicrisis desde el SIIS
Fuente: elaboración propia
8.2. SEGUNDA ETAPA – PLATAFORMA WEB
Para esta segunda etapa se definen los requerimientos de la plataforma web,
estos requerimientos son implementados en un prototipo no funcional, el cual es
presentado a los directivos de la clínica, para su aprobación. El prototipo obtuvo el
visto bueno y se da inicio a la etapa de desarrollo. A continuación se presenta el
prototipo con la descripción de los casos de uso, y cómo interactúan entre sí.
Árbol de páginas
Inicio
Mi cuenta
BuscarFactura
EstadoFactura1
EstadoFactura2
EstadoFactura3
Inicio
Ilustración 9. Pantalla de Inicio
Tabla 4. Interacción pantalla Inicio
Fuente: elaboración propia
Nota
1
Etiqueta
Ingresar - login
Interacción
Click:
Caso 1:
Muestra la página Mi cuenta
Mi cuenta
Ilustración 10. Pantalla Mi cuenta
Tabla 5. Interacción pantalla Mi cuenta
Fuente: elaboración propia
Nota
1
2
3
4
5
6
7
8
Interacción
Click:
Caso 1: Muestra la página de inicio
Click:
Caso 1: Muestra el estado de la factura No.1
Click:
Caso 1: Muestra el estado de la factura No.2
Click:
Caso 1: Muestra el estado de la factura No.3
Click:
Caso 1: Muestra el estado de la factura No.1
Click:
Caso 1: Muestra el estado de la factura No.2
Click:
Caso 1: Muestra el estado de la factura No.3
Click:
Caso 1: Muestra la página BuscarFactura
Buscar Factura
Ilustración 11. Pantalla Buscar Factura
Tabla 6. Interacción pantalla Buscar factura
Fuente: elaboración propia
Nota
1
2
3
Interacción
Click:
Caso 1: Muestra la página de inicio
Click:
Caso 1: Muestra la página Mi cuenta
Click:
Caso 1: Busca la Factura relacionada
Estado de las facturas
Ilustración 12. Pantalla Estado de las Facturas
Tabla 7. Interacción pantalla Estado de las facturas
Fuente: elaboración propia
Nota
1
2
3
4
5
6
7
8
9
Interacción
Click:
Caso 1: Muestra la página de inicio
Click:
Caso 1: Muestra la página Mi cuenta
Click:
Caso 1: Muestra el estado de la facturas
Click:
Caso 1: Muestra el estado de la facturas
Click:
Caso 1: Muestra el estado de la facturas
Click:
Caso 1: Muestra el estado de la facturas
Click:
Caso 1: Muestra el PDF de la EPICRISIS en relación
Click:
Caso 1: Muestra la página BuscarFactura
Click:
Caso 1: Permite guardar todos los soportes en una carpeta .zip
9. CONCLUSIONES
 Se mejoró considerablemente el orden y la estructura de la información
mostrada en las Historias Clínicas con respecto al proceso anterior, además
visualmente es más agradable al usuario lo que facilita la revisión de las
mismas.
 El Reporte brinda la posibilidad de guardar las Historias Clínicas en
diferentes formatos, de los que se destacan .PDF y .DOCX, lo que optimiza
el tiempo utilizado por los usuarios para la impresión de dichos
documentos. Es decir, antes el documento se construía manualmente,
ahora se hace automáticamente.
 Todos los detalles y observaciones que arrojó esta primera etapa, llevan a
la conclusión de que los objetivos trazados para la primera etapa se
cumplieron con satisfacción.
 Se utilizó como lenguaje de programación PHP, porque se adapta a los
requerimientos y al tipo de desarrollo, en este caso Web.
 Debido al auge de herramientas que facilitan la programación, se decide
utilizar un Framework de desarrollo Web basado en PHP; Symfony ha
tenido buena aceptación por parte de usuarios programadores de PHP
puro, cada vez son más los usuarios que migran a esta herramienta y lo
más importante actualmente existen sitios web de alta complejidad
desarrollados en Symfony.
 Fueron más las ventajas que las desventajas de desarrollar el sitio web con
esta herramienta, no cabe duda que los Framework son el futuro de la
programación. Al final se entregó la Primera versión del sitio web,
desarrollado todo en Symfony.
10. RECOMENDACIONES
Al inicio de cualquier proyecto es importante definir y especificar los
requerimientos, ya que a partir de ellos se define la estructura y el diseño de la
aplicación, teniendo como base unos requerimientos bien definidos se evita que
en el transcurso del desarrollo cambien circunstancialmente.
Las organizaciones deben tratar de evitar que los desarrollos se conviertan en
productos a corto plazo, es importante adoptar metodologías de desarrollo para
evitar problemas que en últimas alargan el ciclo de vida del software, se obtiene
mejores resultados de un software que se apoya en una buena metodología que
otro que no lo hace.
Debe de existir mejor retroalimentación al momento de desarrollar un producto de
software, para la organización es muy difícil debido a la cantidad de procesos que
se manejan, pero documentar los procesos evita que el rango de aprendizaje sea
tan extenso.
Cabe aclarar que el desarrollo de la plataforma web se hizo totalmente en
Symfony 2.0, Framework que soporta PHP. Debido al tiempo tan corto de
desarrollo se entrega poca documentación de la plataforma, por lo que futuros
desarrollos o evoluciones del sitio estarán sujetos al conocimiento del
desarrollador.
11. REFERENCIAS BIBLIOGRAFICAS
BuenasTareas.com. (2014). Buenas Tareas: Inspirando Mejores Calificaciones.
Recuperado
el
Noviembre
de
2013,
de
http://www.buenastareas.com/ensayos/La-Plataforma-Web/527521.html
Fernandez Alarcón, V. (2006). Desarrollo de Sistemas de Información: Una
Metodología Basada en el Modelado (Primera Edición ed.). Barcelona:
Ediciones UPC.
Groussard, T. (2012). JAVA 7: Los Fundamentos del Lenguaje Java. Ediciones
ENI.
Jaspersoft Corporation. (2000 - 2014). Jaspersoft Community: The Intelligence
Inside.
Recuperado
el
Octubre
de
2013,
de
http://community.jaspersoft.com/project/ireport-designer
Nevado Cabello, M. V. (s.f.). Introducción a las Bases de Datos Relacionales.
Madrid: Visión Libros.
Pressman, R. (2005). Ingeniería del Software: Un Enfoque Práctico (Sexta Edición
ed.). (I. Editores, Ed.) McGraw Hill.
Descargar