Uploaded by Julian Caicedo

Entrega

advertisement
1
Desarrollo De Un Sistema De Información De Auditoría De Cuentas Medicas
Y Concurrente.
David Esteban Cubillos Giraldo
Sergio Andrés Blanco García
Universidad De Cundinamarca
Facultad De Ingeniería
Fusagasugá, Colombia.
Octubre De 2022.
2
Desarrollo De Un Sistema De Información De Auditoría De Cuentas Medicas
Y Concurrente.
David Esteban Cubillos Giraldo
Sergio Andrés Blanco García
Informe De Pasantías Presentado Como Requisito Para Optar Por El Título De Ingeniero
De Sistemas.
Director Interno:
Ing. Jorge Edison Reyes Forero
Director Externo:
Doc. Juan Ernesto Rojano
Universidad De Cundinamarca
Facultad De Ingeniería
2022
3
NOTA DE ACEPTACIÓN
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
Firma de director de Proyecto
_______________________________________________
Firma de Jurado
Observaciones:
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
4
Dedicatoria
La realización de estas pasantías va dedicada a mi familia y amigos los cuales han sido un
gran apoyo emocional durante todo el proceso académico el cual me ha motivado a conseguir el
título de ingeniero de sistemas.
Agradecimientos
Agradezco a todos los docentes que me acompañaron durante el proceso de formación,
especialmente al ingeniero Edison Reyes, a Sergio Blanco el cual fue mi amigo y compañero
tanto en el proceso de formación como en el desarrollo de estas pasantías y a SOSALUD ya que
me brindo la oportunidad de ser pasante.
5
Dedicatoria
En primer lugar, este trabajo va dedicado a mi madre ya que me brindó la confianza y el
apoyo que siempre necesité, que sin duda alguna en el trayecto de mi vida me ha demostrado su
amor, corrigiendo mis faltas y celebrando mis triunfos, a mi padre, que siempre lo he sentido
presente en mi vida y sé que está orgulloso de la persona en la cual me he convertido, ambos son
mi motivación para cumplir esta meta.
Agradecimientos
Agradezco mucho a la ingeniera Angie Alejandra Chipatecua Zárate por todo el apoyo y
motivación brindado que junto al Ingeniero David Esteban Cubillos Giraldo el cual fue mi amigo
y compañero durante toda la carreara logré superar tramos difíciles de mi proceso, al Ingeniero
Edison Reyes por el seguimiento y consejos brindados en el proceso de las pasantías, a todos los
docentes que me acompañaron durante el proceso de formación, a la empresa SOSALUD por
brindarme la oportunidad de realizar la pasantía.
6
Tabla De Contenido
1
Introducción ................................................................................................................. 11
2
Planteamiento Del Problema........................................................................................ 12
2.1
3
Planteamiento Del Problema ................................................................................ 12
Objetivos ...................................................................................................................... 13
3.1
Objetivo General................................................................................................... 13
3.2
Objetivo Especifico David Cubillos. .................................................................... 13
3.3
Objetivos Específicos Sergio Blanco. .................................................................. 13
4
Justificación ................................................................................................................. 14
5
Impacto Del Proyecto .................................................................................................. 15
6
Alcance Y Limitaciones ............................................................................................... 16
7
6.1
Alcance ................................................................................................................. 16
6.2
Limitaciones ......................................................................................................... 16
Marco Teórico .............................................................................................................. 17
7.1
Estado Del Arte .................................................................................................... 17
7.1.1 Capresoca ........................................................................................................ 17
8
Marco Conceptual ........................................................................................................ 18
8.1
SCRUM ................................................................................................................ 18
8.1.1 Roles de Scrum................................................................................................ 18
8.1.2 Faces de Scrum................................................................................................ 18
7
8.2
Registro Individual De Prestación De Servicios .................................................. 21
8.3
Laravel .................................................................................................................. 22
8.4
Middleware ........................................................................................................... 22
8.5
ORM ..................................................................................................................... 23
8.6
JWT ...................................................................................................................... 23
8.6.1 Estructura De JWT .......................................................................................... 24
9
8.7
API REST ............................................................................................................. 25
8.8
Frontend ................................................................................................................ 25
8.9
React ..................................................................................................................... 26
8.10
Códigos HTTP .................................................................................................. 26
8.11
Claves SSH ....................................................................................................... 26
8.12
MySQL ............................................................................................................. 27
8.13
BPMN ............................................................................................................... 27
8.14
Norma ISO/IEC 12207 ..................................................................................... 28
8.15
Norma ISO/IEC 25000 ..................................................................................... 28
8.16
NORMA ISO/IEC 25010 .................................................................................. 28
Marco Legal ................................................................................................................. 30
9.1
Ley 100 de 1993 ................................................................................................... 30
9.2
Resolución 3374 del 2000 .................................................................................... 30
9.3
Resolución 951 de 2002 ....................................................................................... 31
8
9.4
10
Decreto 4747 de 2007 ........................................................................................... 31
Implementación De La Metodología........................................................................ 32
10.1
Norma ISO/IEC 12207 ..................................................................................... 33
10.1.1 Procesos Primarios ........................................................................................ 33
10.1.2 Proceso De Soporte ....................................................................................... 33
10.1.3 Procesos Organizacionales ............................................................................ 33
10.2
Norma ISO 25010 ............................................................................................. 34
10.2.1 Adecuación Funcional ................................................................................... 34
10.2.2 Eficiencia De Desempeño ............................................................................. 34
10.2.3 Compatibilidad .............................................................................................. 34
10.2.4 Usabilidad...................................................................................................... 35
10.2.5 Fiabilidad ....................................................................................................... 35
10.2.6 Seguridad ....................................................................................................... 36
10.2.7 Mantenibilidad .............................................................................................. 36
10.2.8 Portabilidad ................................................................................................... 36
10.3
Sprints ............................................................................................................... 37
10.3.1 Documentación.............................................................................................. 37
10.3.2 Configuración De Entorno ............................................................................ 37
10.3.3 Login Y Registro ........................................................................................... 40
10.3.4 Módulo De Archivo ...................................................................................... 45
9
10.3.5 Validador de estructura ................................................................................. 46
10.3.6 Eliminar Archivos Temporales ..................................................................... 47
10.3.7 Validador de contenido ................................................................................. 48
10.3.8 Módulo de Analítica ...................................................................................... 49
11
Conclusiones ............................................................................................................ 50
11.1
Conclusiones Sergio Blanco ............................................................................. 50
11.2
Conclusiones David Cubillos ............................................................................ 50
12
Recomendaciones ..................................................................................................... 51
13
Referencias ............................................................................................................... 52
14
Anexos ...................................................................................................................... 55
Tabla De Ilustraciones
Figura 1. ............................................................................................................................ 24
Figura 2. ............................................................................................................................ 24
Figura 3. ............................................................................................................................ 25
Figura 4. ............................................................................................................................ 32
Figura 5. ............................................................................................................................ 38
Figura 6. ............................................................................................................................ 39
Figura 7. ............................................................................................................................ 40
Figura 8. ............................................................................................................................ 41
10
Figura 9. ............................................................................................................................ 42
Figura 10. .......................................................................................................................... 43
Figura 11. .......................................................................................................................... 44
Figura 12. .......................................................................................................................... 45
Figura 13. .......................................................................................................................... 46
Figura 14. .......................................................................................................................... 47
Figura 15. .......................................................................................................................... 48
Figura 16. .......................................................................................................................... 49
Tabla De Anexos
Anexo A. Lineamiento Técnico ......................................................................................... 55
Anexo B. Historias de usuario............................................................................................ 56
Anexo C. Diagramas BPMN .............................................................................................. 68
Anexo D. Manual técnico................................................................................................... 71
Anexo E. Diccionario de datos ........................................................................................... 74
Anexo F. Manual de Usuario ............................................................................................. 75
11
1
Introducción
Este trabajo es presentado como opción de grado para adquirir el título de Ingeniero de
Sistemas en la Universidad de Cundinamarca sede Fusagasugá, para llevar a cabo este objetivo se
escogió el proceso de pasantías, las cuales cuentan con una duración de ocho (8) meses, en este
proceso se adquirieron y pulieron conocimientos relacionados con el desarrollo de aplicaciones
web y metodologías agiles, específicamente la metodología SCRUM.
El enfoque principal de este proyecto es la creación de un módulo que permita optimizar
el proceso de auditorías de cuentas médicas, esto mediante la creación de un sistema de
información realizado con tecnologías web para facilitar el proceso.
12
2
2.1
Planteamiento Del Problema
Planteamiento Del Problema
SOSALUD SAS empresa dedicada a realizar procesos de auditoría de cuentas médicas, y
de atención domiciliaria en este momento los procesos son manuales lo que implica reprocesos,
errores de transcripción y la no consolidación de glosas de las cuentas radicadas, así como la no
validación efectiva de los RIPS (Registro Individual de Prestación de Servicios). Para lograr
obtener los resultados esperados, se debe desarrollar utilidades que permitan la validación de la
información y el procesamiento con calidad de la misma, para esto se requiere el desarrollo de
validador de RIPS (verificación de las cuentas recibidas, de acuerdo con los anexos técnicos del
Ministerio de Salud), módulo de recepción de cuentas médicas (posterior a la validación de los
RIPS), módulo de asignación de cuentas a los auditores, módulo de auditoría de cuentas
(verificación, glosas, conciliaciones), reportes (glosas, aceptaciones, conciliaciones), indicadores
de gestión módulo de seguridad (Roles, permisos y Usuarios).
13
3
3.1
Objetivos
Objetivo General
Permitir la realización de la auditoría integral y sistemática para el mejoramiento continuo
de la calidad de los procesos y procedimientos con el fin de garantizar la seguridad de los
pacientes, la efectividad de la atención, la satisfacción del usuario y la racionalidad del costo
médico, que impacte en beneficio de la calidad de salud de los afiliados mediante procesos de
auditoría clínica concurrente, auditoría de cuentas médicas y de calidad, dando cumplimiento al
marco normativo.
3.2
Objetivo Especifico David Cubillos.
3.3
•
Apoyar el proceso de migración mediante el uso de metodologías agiles.
•
Desarrollo de un sistema de información para el seguimiento de las cuentas médicas.
Objetivos Específicos Sergio Blanco.
•
Realizar el Levantamiento y modelado de procesos mediante BPMN relacionados con las
funciones de la aplicación actual y los módulos ofrecidos el nuevo ERP.
•
Construir las historias de usuarios de los funcionarios que hacen uso de la herramienta
ERP, bajo los estándares del agilismo.
•
Verificar el funcionamiento de las migraciones y la consistencia de la información en el
Nuevo ERP en conjunto con los funcionarios responsable.
14
4
Justificación
Es importante para las instituciones aseguran como las que prestan servicios de salud,
garantizar que dichos servicios se presten con calidad y eso se puede lograr a través de los
procesos de auditoría de cuentas médicas, cuyo objetivo es entregar a las EPS e IPS elementos
técnicos que ayudan a establecer las necesidades requeridas por dichas instituciones.
Para las EPS e IPS, el proceso de auditoría de cuentas médicas es de vital importancia, ya
que de este proceso depende la atención con calidad de los pacientes y por supuesto, entrega a los
gerentes, administradores y personal de asistencia los recursos que necesitan para obtener
información financiera de manera flexible, completa y clara para recolectar y cobrar el valor de
los servicios prestados, así permitiendo tomar decisiones correctas de inversión y contratación,
teniendo como objetivo es fortalecer el flujo de caja.
Los procesos que se desarrollan en las instituciones de salud deben realizarse
ordenadamente, con el objetivo de minimizar los riesgos en la facturación de los servicios y de
esta manera evitar errores que generen no conformidades en los cobros (glosas) y ofrecer un
servicio con calidad. La ley 100 es el marco normativo del Sistema General de Seguridad Social
en Colombia, pero aparte de este las demás Leyes, Decretos, Resoluciones, Circulares del
Ministerio de Salud y los entes de control, genera un constante cambio, lo que implica que las
IPS y las EPS deben estar preparadas para asumir los desafíos que se presenten, dentro de todas
las actividades una de las más importantes es la facturación por centros de costos, ya que incluye
la contratación de los servicios ofertados por las EPS, estos Planes de Beneficios permiten el
ingreso y atención a los pacientes, manual, tarifas y guías de manejo y atención; cartera,
indicadores de gestión, auditorías de cuentas médicas; generación de los (RIPS), sistemas de
información integrados y todo el componente administrativo y financiero.
15
Debido a la cantidad de glosas que llegan a las EAPB, se necesita revisar detalladamente
cada detalle que compone la factura, por anterior la auditoría es un eslabón muy importante en la
cadena productiva de las instituciones, ya que nos permite hacer evaluación de los servicios
facturados a los pacientes, dentro de los parámetros del decreto 2423 de 1996 y todas las normas
que complementan los procesos de facturación hospitalaria. Con base en lo anterior, se garantiza
la pronta y temprana identificación de no conformidades, ajuste de estas, y con esto garantizar el
mejoramiento continuo de los procesos.
5
Impacto Del Proyecto
Se espera que el producto final, tenga un impacto positivo en el proceso de validación de
los archivos RIPS (Registro Individual de Presentación de Servicios) proporcionados y así lograr
obtener los resultados esperados, además de la adquisición de conocimientos esenciales a nivel
personal en el campo del desarrollo de software, administración de servidores y gestión de bases
de datos.
16
6
6.1
Alcance Y Limitaciones
Alcance
El alcance de esta pasantía consiste en el desarrollo del módulo de validación de RIPS,
por este motivo no se entrega el sistema de información desarrollado en su totalidad, además del
módulo de validación de RIPS se presentarán avances en diversos módulos que sean necesarios
para la contribución del desarrollo del sistema de información implementado por SOSALUD
S.A.S.
6.2
Limitaciones
•
Deuda técnica del equipo del equipo.
•
Mala estimación del tiempo.
•
Problemas de conexión.
•
El trabajo de la pasantía estará limitado únicamente a las actividades y funciones
delegadas por el jefe inmediato.
17
7
7.1
Marco Teórico
Estado Del Arte
7.1.1 Capresoca
En Capresoca EPS, se realizó la implantación de un sistema de información, el cual
incluía un poderoso validador de RIPS, con el que se garantiza que la información que es
recepcionada cumple con las características definidas en el anexo técnico de los RIPS, esto fue un
paso fundamental en el proceso de reorganización de los sistemas de información de la EPS y de
sus procesos, pues con la entrada en producción de este validador se mejoró la calidad de los
datos y optimizó los procesos de auditoría de cuentas médicas, fundamentales para poder generar
los respectivos pagos a los prestadores de los servicios de salud.
A partir de la validación los procesos de auditoría son más prolijos y agiles, permitiendo a
los auditores dedicarse a realizar el análisis de los datos clínicos y la pertinencia médica y técnica
en la prestación de los servicios a los pacientes afiliados a las EPS y dejar los requerimientos
técnicos de validación de estructura e interpretación de la calidad de la data al sistema. Este
sistema no solo fue desarrollado para validar la información de los cobros que presentan los
prestadores o una barrera para realizarle los pagos, sino que también aporta a partir de la data
información clínica y epidemiológica para tomar decisiones y acciones sobre la salud de los
afiliados. Por estos motivos la implementación de un buen sistema de validación de RIPS, es
importante pues garantiza no solo la calidad en las estructuras que define el Ministerio de Salud
para el reporte de información, sino que garantiza a su vez la calidad de los datos que se reciben y
utilizan para efectos de los respectivos pagos y adicionalmente para realizar análisis de la salud
de sus afiliados.
18
8
8.1
Marco Conceptual
SCRUM
Scrum es un marco de trabajo el cual se adapta a los proyectos, Scrum busca darle mucha
más importancia la velocidad, adaptabilidad del equipo y a los cambios inesperados, los cuales
buscan darle un valor al cliente de forma constante e incremental.
“Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los
principios de inspección continua, adaptación, auto-gestión e innovación” (Metodología SCRUM
para desarrollo de software a medida, 2017).
8.1.1 Roles de Scrum
•
Stakeholder: Todas las personas interesadas en el proyecto son fuente de
información, por ejemplo, usuarios finales, sponsors, equipos de TI etc.
•
Product Owner: Es la persona que representa al cliente dentro del equipo de
trabajo.
•
SCRUM Master: Es quien dirige al equipo, es el encargado de guiar al equipo de
desarrollo para que entiendan las necesidades del cliente, además de asegurarse
que el equipo se ajuste a la teoría, prácticas y reglas de SCRUM.
•
Development Team: Personas capacitadas para construir o dar solución a la
necesidad del cliente.
8.1.2 Faces de Scrum
19
“Las fases de la metodología Scrum se reparten 16 procesos o tareas, que a su vez se
resumen en 5 pasos o etapas” (Mancuzo, 2022).
8.1.2.1 Inicio
En esta fase se estudia y se analiza el proyecto, se identifican las necesidades de cada
sprint, pare llevar a cabo esta fase se recomienda dar respuesta a estas preguntas:
•
¿Qué quiero?
•
¿Cómo lo quiero?
•
¿Cuándo lo quiero?
En esta etapa podemos ver 6 procesos de la metodología Scrum.
1. Crear la visión del proyecto.
2. Identificar a los Scrum masters y stakeholder.
3. Formar equipos scrum.
4. Desarrollar las épicas.
5. Crear backlogs o listas de requerimientos priorizando el producto.
6. Planificar el lanzamiento.
Es necesario tener en cuenta que scrum está enfocado a equipos pequeños de no más de
10 personas
20
8.1.2.2 Planificación Y Estimación
Tal vez esta sea la fase más importante dentro de scrum, ya que el Scrum Master delega
funciones a cada equipo además de realizar la estimación de los tiempos de entrega y crear una
lista de trabajo donde se clasifica el trabajo según su prioridad.
“La clave para llevar una buena administración de los proyectos es hacer una
planificación y estimación del sprint, lo que nos ayudara a estableces metas fijas y a cumplir con
los plazos” (Mancuzo, 2022).
Esta fase se scrum incluye los siguientes procesos
1. Crear, estimar y comprometer historias de usuario.
2. Identificar tareas.
3. Crear sprint backlog o iteraciones de tareas.
8.1.2.3 Implementación
En la fase implementación o desarrollo no se deben hacer cambios innecesarios de última
hora, pero si es cambio clave para el desarrollo del sprint no se debe dudar en proceder.
Esta fase comprende los siguientes procesos
1. Crear entregables.
2. Realizar daily stand-up.
3. Refinanciamiento del backlog priorizando el producto.
21
8.1.2.4 Revisión Y Retrospectiva
Una vez que todo está maquetado e implementado se debe realizar una revisión del
proceso, dentro de esta fase encontramos los siguientes procesos:
1. Demostrar y validar el sprint.
2. Retrospectiva del sprint.
8.1.2.5 Lanzamiento
Esta fase hace referencia al desenlace del proyecto y entrega del producto, donde ya
debemos cumplir con tan solo 2 procesos:
1. Enviar entregables.
2. Enviar retrospectivas del proyecto.
8.2
Registro Individual De Prestación De Servicios
Los Registros Individuales de Prestación de Servicios (RIPS), se definen como “conjunto
de datos mínimos y básicos que el Sistema General de Seguridad Social en salud requiere para
los procesos de dirección, regulación y control y como soporte de la venta de servicios”
(Preguntas frecuentes RIPS, s. f.). Dicha información cuenta con un estándar para todas las
entidades a las que hace referencia en el artículo segundo de la resolución 3374 del 2000, la cual
nos habla de las instituciones prestadoras de servicios de salud (IPS), profesionales
independientes, entidades administradoras de planes de beneficios, vigilancia y control del
SGSSS. Los RIPS no solo sirven para las entidades anteriormente nombradas, también nos
permiten realizar diversas actividades en que podemos encontrar:
22
8.3
•
Formular políticas de salud.
•
Evaluar coberturas de servicios.
•
Validar el pago de servicios se salud.
•
Asignar recursos financieros, humanos y técnico
•
Controlar el gasto en salud
•
Conocer el perfil de morbilidad y mortalidad
Laravel
Laravel es un Framework para PHP el cual permite crear aplicaciones y servicios web,
este Framework se encuentra desarrollado bajo una arquitectura MVC, además de esto Laravel
nos permite utilizar Middlewares, nos brinda un ORM llamado Eloquent con el cual podemos
interactuar con diversas bases de datos, permite programar tareas, entre muchas otras
características, por todo esto Laravel es un Framework robusto, versátil y progresivo “Con eso
queremos decir que Laravel crece contigo. Si estas dando tus primeros pasos en el desarrollo
web, la vasta biblioteca de documentación, guías y video tutoriales de Laravel te ayudará a
aprender las reglas sin sentirse abrumado” (Laravel - The PHP Framework For Web Artisans,
s. f.).
8.4
Middleware
“El middleware actúa como un puente entre tecnologías, herramientas y bases de datos
diversas para que pueda integrarlas sin dificultad en un único sistema” (¿Qué es el middleware? |
23
Middleware explicado | AWS, s. f.), en Laravel un middleware es un archivo que se ejecuta entre
una petición HTTP y un controlador o vista.
8.5
ORM
Object Relational Mapper (ORM) es una herramienta la cual nos permite interactuar con
la base de datos sin la necesidad de conocer su lenguaje de consultas.
Esta herramienta permite a los equipos gestionar de una manera simple la base de datos,
algunos ORM como Eloquent funcionan con diversos tipos de base de base de datos lo cual
permite migrar de base de datos sin la necesidad de cambiar nuestro código.
8.6
JWT
“JSON Web Token (JWT) es un estándar que define una forma compacta y autocontenida
de transmitir información de forma segura entre las partes como un objeto JSON” (auth0.com,
s. f.). Los JWT se encuentran firmados digitalmente mediante el algoritmo HMAC o mediante
llaves públicas y privadas utilizando el protocolo RSA o ECDSA.
Los JWT al encontrase firmados digitalmente pueden ser utilizados para la autenticación
y/o autorización de los usuarios, este es el escenario más común para utilizar JWT, ya que al
momento de iniciar sesión se genera un JWT el cual será enviado en cada una de las peticiones el
cual le dará acceso a rutas, servicios o funcionalidades.
24
8.6.1
Estructura De JWT
Los JWT cuentan con 3 partes las cuales se encuentran separadas por punto (.)
•
Header: Consta de 2 partes, en el cual se define el tipo del token, en este caso
JWT y el algoritmo de firma a utilizar.
Figura 1.
Header del JWT
Nota: Fuente propia. Esta es la estructura del Header de un JWT en la que podemos encontrar el
algoritmo de cifrado y el tipo del token.
•
Payload: Se encuentra el contenido del token el cual contiene datos de la entidad,
generalmente usuarios, tales como iss (emisor), exp (vencimiento), sub (sujeto),
además de esto se puede valores que se deseen.
Figura 2.
Contenido JWT
25
Nota: Fuente propia. Estructura del contenido o Payload del JWT.
•
Signature: Para generar la firma se toma el algoritmo que está definido en el
Header, una llave secreta y se codifica el Header y el contenido
Figura 3.
Firma JWT
Nota: Fuente propia.
8.7
API REST
“Una API de REST, o API de RESTful, es una interfaz de programación de aplicaciones
(API o API web) que se ajusta a los límites de la arquitectura REST y permite la interacción con
los servicios web de RESTful” Red Hat. (n.a). ¿Qué es una API de REST?
8.8
Frontend
Es la parte de una aplicación con la cual los usuarios pueden interactuar, también es
conocida cono lado del cliente. En otras palabras, el frontend es todo lo que vemos en la pantalla
cuando accedes a una aplicación o sitio web.
26
8.9
React
React en su página en español define react como “una biblioteca de JavaScript para
construir interfaces de usuario” (React – Una biblioteca de JavaScript para construir interfaces de
usuario, s. f.).
React permite crear componentes que mantienen su propio estado, los cuales podemos
utilizar en nuestras interfases
8.10 Códigos HTTP
“Los códigos de estado de respuesta HTTP indican si han completado satisfactoriamente
una solicitud HTTP especifica” (Códigos de estado de respuesta HTTP - HTTP | MDN, 2022).
Los códigos HTTP son muy importantes para las aplicaciones frontend ya que nos brinda
información de le que sucedo al momento de realizar nuestra petición.
8.11 Claves SSH
“En pocas palabras, las claves SSH son credenciales que se utilizan para que el protocolo
SSH (Secure Shell) permite el acceso seguro a ordenadores remotos a través de internet” (Diaz,
2022).
Al crear las claves mediante el algoritmo SSH obtendremos 2 llaves, una privada y otra
publica, estas últimas se comparten entre sistemas para poder cifrar los datos y enviarlos, dado a
que se reciben los datos cifrados con una llave publica utilizaremos la llave privada para descifrar
los datos.
27
8.12 MySQL
MySQL es un sistema de gestión de base de datos relacionales de código abierto el cual se
encuentra respaldado por Oracle, MySQL es quizás la base de datos más conocida, gracias a esto
se puede encontrar una gran cantidad de documentación, tutoriales y video tutoriales, además de
contar con 2 tipos de licencias, una gratuita y una versión comercial la cual es gestionada por
Oracle.
“MySQL es una opción razonable para ser usado en ámbito empresarial. Al estar basado
en código abierto permite a pequeñas empresas y desarrolladores disponer de una solución fiable
y estandarizada para sus aplicaciones” (Qué es MySQL: Características y ventajas, 2021).
8.13 BPMN
“BPMN es una notación gráfica para el modelado de procesos. Como componente central
de BPM, permite a las organizaciones, independientemente del tamaño de la empresa o la
industria, visualizar y optimizar sus procesos de negocio. Mediante el uso de este lenguaje de
modelado, los pasos de trabajo se representan de forma consistente y, por lo tanto, fácilmente
comprensible para todos los participantes en el proceso. Por lo tanto, la comunicación de los
procesos se simplifica en toda la organización.” (Petersen, s. f.).
28
8.14 Norma ISO/IEC 12207
Esta norma, al contrario que la norma ISO/IEC 25000, se hace cargo del estándar de
procesos en el desarrollo del software, no deja de ser importante, sino que por el contrario es uno
de los aspectos más importantes a la hora de desarrollar software. Esta norma habla
principalmente del ciclo de vida de software y como llevarlo, como mantener la calidad durante
el proceso del desarrollo de este.
8.15 Norma ISO/IEC 25000
A la hora de desarrollar, uno de los factores más importantes es la calidad de estos
mismos, dicha calidad se divide en dos grandes secciones, la calidad del proceso y la calidad del
producto, esta norma se encarga de la calidad del producto, dicha calidad que se evaluara durante
y después del desarrollo utilizando este estándar.
La norma ISO/IEC 25000 es una familia de normas las cuales tienen como objetivo la
creación de un marco de trabajo para evaluar la calidad del producto software. La norma ISO/IEC
25000 se encuentra conformada por divisiones.
8.16 NORMA ISO/IEC 25010
Detalla el modelo de calidad tanto del producto como de la calidad en uso. Describe ocho
características, las cuales están formadas por una o más subcaracterísticas, destinadas a evaluar el
producto de software.
Las características definidas en ISO/IEC 25010 se describen de la siguiente manera:
29
Adecuación funcional: Hace referencia a la capacidad que tiene un producto de software
para proveer las funciones que satisfacen los requerimientos declarados e implícitos, cuando el
software se utiliza bajo determinadas condiciones.
Eficiencia de desempeño: Representa el desempeño del producto relativo a la cantidad
de recursos utilizados bajo determinadas condiciones.
Compatibilidad: Capacidad de dos o más sistemas o componentes de intercambiar
información y llevar a cabo funciones específicas bajo el mismo entorno de hardware y/o
software.
Usabilidad: Capacidad del producto para ser aprendido, atractivo, usado y entendido por
el usuario bajo determinadas condiciones.
Fiabilidad: Representa el desempeño de un sistema o componente a la hora de realizar
funciones específicas bajo determinadas condiciones y periodos de tiempo determinados.
Fiabilidad: Calidad/Tiempo
Seguridad: Capacidad de proteger la información de manera tal que no puedan ser leídos
o modificados cualquier persona o sistema no autorizados.
Mantenibilidad: Representa el esfuerzo requerido para realizar modificaciones de forma
efectiva y eficiente debido a necesidades.
Portabilidad: Capacidad del producto de software de ser transferido eficientemente de un
entorno hardware o software a otro.
30
9
Marco Legal
A continuación, daremos una breve introducción de las distintas leyes, resoluciones y
decretos empleados en el sistema de auditoría de archivos RIPS, para más información
recomendamos leer la cartilla Lineamiento Técnico para el Registro y envío de los datos del
Registro Individual de Prestaciones de Salud – RIPS, desde las Instituciones Prestadoras de
Servicios de Salud a las EAPB del ministerio de salud de Colombia (ver anexo A).
9.1
Ley 100 de 1993
Gracias a esta ley se crea el sistema de seguridad social y se dictan otras disposiciones
Artículo 173. De las funciones del Ministerio de Salud. Numeral 7 nos dice que el
Ministerio de Salud reglamentará la recolección, transferencia y difusión de la información en el
subsistema al que concurren obligatoriamente todos los integrantes del sistema de seguridad
social de salud independientemente de su naturaleza jurídica sin perjuicio de las normas legales
que regulan la reserva y exhibición de los libros de comercio.
9.2
Resolución 3374 del 2000
En esta resolución se reglamentan los datos básicos que deben reportar los prestadores de
servicios de salud y las entidades administradoras de planes de beneficios sobre los servicios de
salud prestados.
31
9.3
Resolución 951 de 2002
Artículo 1: A partir de la vigencia de la presente Resolución, las Entidades
Administradoras de Planes de Beneficios, EAPB, definidas en el numeral 2 de la Resolución
3374 de 2000, no podrán retrasar la recepción, revisión y pago de las cuentas de cobro o facturas
por no estar soportadas con los RIPS, o cuando estos no pasen el control de la estructura y
consistencia de datos del validador del Ministerio de Salud.
9.4
Decreto 4747 de 2007
En este decreto se regulan algunos aspectos de las relaciones entre los prestadores de
salud y las entidades responsables del pago de los servicios se salud.
El articulo 20 nos dice que el Ministerio de la Protección Social revisará y ajustará el
formato, codificaciones, procedimientos y malla de validación de obligatoria adopción por todas
las entidades del Sistema General de Seguridad Social en Salud, para el reporte del Registro
Individual de Prestaciones de Salud.
Artículo 44: De la información en el Sistema General de Seguridad Social nos habla
de recoger y sistematizar la información que determine el Ministerio de la Protección Social para
monitorear los resultados en salud de las Entidades Territoriales, las aseguradoras y los
prestadores con el fin de alimentar el Sistema de Rectoría y Administración por resultados
previsto en el Artículo 2º de la presente Ley.
32
10 Implementación De La Metodología
El proceso cuenta con una duración de ocho (8) meses, en este proceso se adquirieron y
pulieron conocimientos relacionados con el desarrollo de aplicaciones web y metodologías agiles,
específicamente la metodología SCRUM, en cada sprint se realizaron reuniones semanales, las
cuales se destinaban a entregar avances parciales, al finalizar cada sprint se realizaba una reunión
donde se entrega una funcionalidad de la herramienta en desarrollo, se dio inicio al proceso el día
25 de Marzo de 2021.
Figura 4.
Tablero de actividades
Nota: Fuente propia. Tablero de actividades del equipo.
33
10.1 Norma ISO/IEC 12207
Esta norma es la que nos muestra el ciclo de vida del desarrollo de software, en los cuales
cumplimos con los siguientes procesos propios de esta norma:
10.1.1 Procesos Primarios
•
Proceso de desarrollo: Contamos con un tablero de actividades en el cual
podemos visualizar de una manera rápida con que tareas cuenta cada integrante del
equipo de desarrollo.
10.1.2 Proceso De Soporte
•
Proceso de verificación: Al final de cada iteración se validará el cumplimiento de
las tareas y requerimientos con los que se tiene que cumplir
•
Proceso de revisión conjunta: Antes de lanzar los resultados de una iteración nos
reuniremos con el cliente para evaluar el estado del software.
•
Proceso de resolución de problemas: Si se presentan inconformidades o mejoras
al momento de la revisión conjunta se tomarán en cuanta y se decide con el equipo
de desarrollo si se hacen en la siguiente iteración planeada o se crea una nueva
para realizar estos cambios
•
Proceso de aseguramiento de calidad: Al terminar la etapa de análisis se
establecerán las distintas tareas con las que contara cada integrante del equipo de
desarrollo.
10.1.3 Procesos Organizacionales
34
•
Proceso de infraestructura: Se plantea una charla con el equipo de desarrollo después de
hablar con los supervisores para conocer la infraestructura necesaria para llevar a cabo el
proyecto.
•
Procesos de entrenamiento: Al comienzo de cada Sprint se reúne el equipo de desarrollo
para detectar posibles deudas técnicas para brindar apoyo o entrenamiento para eliminar
esta deuda
10.2 Norma ISO 25010
Detalla el modelo de calidad tanto del producto como de la calidad en uso. Describe ocho
características de las cuales contamos con las siguientes:
10.2.1 Adecuación Funcional
•
Completitud funcional: Para cumplir con esa característica la ampliación debe
funcionar en diversos navegadores, tanto en las versiones móviles como en las
versiones de escritorio.
10.2.2 Eficiencia De Desempeño
•
Capacidad: Los archivos RIPS a subir deben tener un peso menor a 5 Megabytes.
10.2.3 Compatibilidad
35
•
Coexistencia: En el servidor se cuenta con la API y el frontend de la aplicación,
los cuales existen en el servidor y gracias a esto reparten recursos para su
funcionamiento.
•
Interoperabilidad: Para realizaran peticiones http para comunicar el frontend y la
API de la aplicación.
10.2.4 Usabilidad
•
Protección contra errores de usuario: Al encontrar fallos en los formularios se
le mostrara retroalimentación al usuario.
10.2.5 Fiabilidad
•
Disponibilidad: Se estima que la ampliación esté en funcionamiento constante 24
horas al día.
•
Capacidad de recuperación: El usuario puede recuperar su cuenta si el mismo
olvido su contraseña mediante él envió de un enlace al correo electrónico asociado
a su cuneta.
36
10.2.6 Seguridad
•
Confidencialidad: Para hacer uso del validador de RIPS los usuarios deben
iniciar.
•
Integridad: Los datos sensibles como las contraseñas serán encriptadas.
•
Autenticidad: Al iniciar sesión se genera un token único el cual será utilizado
para validar la identidad del usuario.
10.2.7 Mantenibilidad
•
Modularidad: La aplicación cuenta con diversos componentes los cuales
permiten modificar un componente y no cambiar código innecesario, los eventos
del backend están separados y no saben la existencia de los demás eventos, por lo
que podemos modificar estos sin cambiar todos los eventos.
•
Reusabilidad: Al utilizar react se crean componentes los cuales podemos
implementarlos en otros proyectos o en diversas vistas de la aplicación.
•
Capacidad para ser modificado: Al utilizar componentes de react se pueden
modificar estos sin alterar el funcionamiento de otros.
10.2.8 Portabilidad
•
Adaptabilidad: Esta aplicación al estar desarrollada en diversas tecnologías web
se puede acceder a esta mediante diversos navegadores sin importar el sistema
operativo.
37
10.3 Sprints
10.3.1 Documentación
Con una duración de 4 semanas. En este sprint se realizó el levantamiento y modelado de
procesos mediante BPMN relacionados con las funciones de la aplicación actual y los módulos
ofrecidos en la nueva herramienta, Construir las historias de usuarios de los funcionarios que
hacen uso de la herramienta, para llevar a cabo este sprint el pasante realizo las siguientes
actividades:
Reunirse con los demás integrantes del equipo, brindar apoyo al momento de realizar las
historias de usuario (ver anexo B) y los diagramas BPMN (ver anexo B), entrega 04/27/2022.
10.3.2 Configuración De Entorno
Con una duración de 1 semana. Este sprint fue enfocado a la configuración del entorno
local de cada uno de los desarrolladores y la configuración del servidor de pruebas, para realizar
dicha configuración es necesario contar con el servidor virtual Apache, base datos MySQL,
Laravel 9 y la versión 8.0.2 o superior de PHP, entrega 04/1/2022.
Para realizar la configuración de apache ver el manual técnico, para ver el manual técnico
poder ver el (Anexo C), para realizar la configuración del servidor se ejecutaron los siguientes
pasos:
El servidor de pruebas al contar con el sistema operativo de Ubuntu, al cual podíamos
conectarnos vía SSH para realizar la configuración de este, para acceder al servidor se
necesitaban de las credenciales brindadas por SOSALUS SAS, entrega 05/27/2022.
38
Figura 5.
Conexión vía SSH
Nota: Conexión vía SSH mediante una terminal de Linux.
Posteriormente de conectarnos con el servidor se actualizaron los paquetes del sistema
operativo.
39
Figura 6.
Actualizar paquetes de actualización del sistema operativo
Nota: Fuente propia. Actualización de paquetes del sistema operativo Ubuntu.
Se creó una llave SSH la cual permitía una conexión segura entre el servidor y GitHub,
esto con el fin de que la comunicación entre estos sea mucho más segura, ya que al utilizar llaves
SSH nos aseguramos de que la información enviada estará cifrada, la cual solo pueda ser
accesible siempre y cuando se cuente con la llave privada.
Posteriormente se clona el repositorio con el código de la aplicación y se instalan las
desentendencias necesarias del proyecto utilizando composer.
40
Figura 7.
Instalar dependencias del proyecto
Nota: Fuente propia. Instalar dependencias del proyecto utilizando composer.
10.3.3 Login Y Registro
Con una duración de 4 semanas. En este sprint se establecieron parámetros para el
desarrollo del login, el cual comprende el registro de nuevos usuarios, notificación del estado de
la cuenta, validación de credenciales de los usuarios, crear sesiones para los diferentes roles y
usuario del sistema y validar las funciones de cada rol, entrega 05/27/2022, el pasante realizó las
siguientes actividades:
41
10.3.3.1
Registro
Se creó el modelo del usuario dentro de Laravel, el cual nos facilita la inserción de este
dentro de nuestra base de datos, posteriormente de crea la vista y el controlador encargado de
dicha función.
Figura 8.
Formulario de registro móvil
Nota: Interfaz de registro de usuarios en su versión móvil.
42
Figura 9.
Formulario de registro
Nota: Interfaz de registro de usuarios en la versión de escritorio.
El controlador recibe los datos del formulario y esta valida que el usuario no se encuentre
registrado con anterioridad, de superar este filtro se creará un nuevo usuario y se le enviará un
correo electrónico en el cual podrá encontrar instrucciones para acceder al software.
10.3.3.2
Login
Se reciben las credenciales del usuario para posteriormente verificar la información en la
base de datos, si las credenciales son correctas se genera un token con el que se podrá autorizar el
43
acceso a demás funcionalidades de la aplicación, en caso de que las credenciales sean invalidas se
le notifica al usuario dicho error.
Figura 10.
Formulario de login
Nota: Interfaz de login en la versión de escritorio.
44
Figura 11.
Formulario login móvil
Nota: Interfaz de login en su versión móvil.
Después de crear las interfaces utilizamos la base datos proporcionada por SOSALUD, en
la cual se crearon las tablas usuario y personal_acces_token, las cuales son necesarias para el
correcto funcionamiento del login y registro. A su vez nos percatamos que dicha base de datos no
contaba con llaves foráneas, dado esto preguntamos al especialista en base de datos, el cual nos
informó que al momento de utilizar el ORM este se tardaba mucho tiempo ya que traía datos
asociados a la consulta, lo cual no nos entregaba los datos más limpios posibles, por este motivo
45
no se utilizan llaves foráneas en la base de datos, pero nos dieron la libertad de utilizar llaves
foráneas para desarrollar el login y se desarrolló el diccionario de datos (ver anexo E).
Figura 12.
Diagrama para registro y autenticación de usuarios
Nota: Diagrama de las tablas de usuarios y personal_acces_token utilizamos para autenticar
usuarios.
10.3.4 Módulo De Archivo
Con una duración de 4 semanas. Se llevaron a cabo las tareas para que los usuarios
validos puedan subir archivos comprimidos con extensiones rar y zip, los cuales serán
descomprimidos en el sistema para ser validados posteriormente.
Para descomprimir los archivos zip, php cuenta con ZipArchive la cual es una clase
capaz de realizar este proceso, para poder descomprimir archivos rar se utilizó paquetes que se
pueden instalar dentro del sistema operativo, entrega 06/27/2022
46
10.3.5 Validador de estructura
Con una duración de 4 semanas. El validador de estructura se encarga de verificar que las
extensiones de los archivos sean archivos de texto plano específicamente con la extensión txt, se
confirma la existencia del archivo CT y se valida que los documentos a los que se hace referencia
dentro del archivo CT existan, entrega 07/27/2021.
Figura 13.
Descarga log de errores validar estructura
Nota: Confirmación de descarga del log de errores generado en el validador de estructura.
47
10.3.6 Eliminar Archivos Temporales
Con una duración de 4 semanas. Para crear tareas primero debemos crear un comando, el
cual contendrá toda la lógica para eliminar los archivos temporales tales como archivos
comprimidos, carpetas con los archivos RIPS descomprimidos y las tablas temporales creadas en
la base de datos. Estos comandos se pueden programas para que se ejecuten en un momento
determinado del día, entrega 08/27/2022.
Figura 14.
Ejecución de la tarea para eliminar archivos
Nota: Lista de las tareas creadas, y ejecución de la tarea para eliminar archivos temporales.
48
10.3.7 Validador de contenido
Con una duración de 4 semanas. Este validador se encarga de que los RIPS cumplan con
las reglas de negocio establecidas, si el archivo RIPS cuenta con irregularidades estas se
almacenaran en la base de datos para que el usuario pueda generar un log de errores con la
información a corregir, entrega 09/27/2022.
Figura 15.
Tabla con el log de errores
Nota: Tabla con el log de errores generados al momento de auditar los archivos RIPS.
Para llevar a cabo este proceso utilizamos códigos SQL el cual detecta los errores en los
archivos RIPS y automáticamente almacena estos errores en una tabla de la base de datos para
posteriormente generar un log de errores.
49
10.3.8 Módulo de Analítica
Con una duración de 4 semanas. En este Sprint se generaron graficas con sus respectivos
indicadores, la visualización de los gráficos permite realizar una comparación más rápida de los
mismos, módulo de analítica integrado a la herramienta que se hizo entrega el 10/31/2022.
Figura 16.
Dashboard
Nota: Imagen del dashboard.
50
11 Conclusiones
11.1 Conclusiones Sergio Blanco
•
Los conocimientos adquiridos durante la carrera me facilitaron el desarrollo de los
modelos de proceso BMPN para la ejecución de los requerimientos brindados por
la empresa y nuestro director y lograr así un buen desarrollo y funcionamiento de
la herramienta presentada.
•
La realización de las historias de usuario nos permitió una mayor compresión
sobre lo que necesitaban los usuarios finales en la herramienta y optimizarles el
proceso de auditoría de las cuentas medicas garantizando unos resultados
satisfactorios.
11.2 Conclusiones David Cubillos
•
Crear tareas programadas es algo muy útil ya que se ejecutan por si solas cuando
se cumplan los parámetros establecidos, lo cual lo podemos utilizar para eliminar
archivos innecesarios y de esta manera ahorrar espacio en nuestras aplicaciones.
•
La creación de modelos de procesos BPMN nos permite tener un mejor
entendimiento de nuestro proyecto y podemos establecer mejores estrategias para
solucionar una problemática.
•
Las bases de datos son capaces de procesar algunos datos sin la necesidad de
procesar los mismos en el backend de las aplicaciones lo cual nos ayuda a realizar
menos consultas SQL las cuales van a tomar un tiempo.
51
•
Los conocimientos de manejo de terminal y Linux aprendidos durante la carrera
fueron muy valiosos ya que nos permitieron manejar con más seguridad el
servidor.
•
Las metodologías agiles al dar valor a usuario de manera iterativa e incremental
nos permite escuchar al cliente para que el proyecto cumpla con los deseos del
cliente.
12 Recomendaciones
Se recomienda a la entidad continuar brindando oportunidades a los estudiantes de la
Universidad de Cundinamarca, en especial a los estudiantes de ingeniería en sistemas, para
continuar impulsando el desarrollo de sistemas de información orientados a la web y el uso de
software libre como herramienta fundamental para la vida laboral de los ingenieros en sistemas.
52
13 Referencias
Jones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT).
https://doi.org/10.17487/rfc7519
auth0.com. (s. f.). JWT.IO - JSON Web Tokens Introduction. JSON Web Tokens - jwt.io.
https://jwt.io/introduction
Laravel - The PHP Framework For Web Artisans. (s. f.). https://laravel.com/docs/9.x
¿Qué es un ORM? (s. f.). CódigoFacilito. Recuperado 24 de octubre de 2022, de
https://codigofacilito.com/articulos/orm-explicacion
Lineamiento Técnico para el Registro y envío de los datos del Registro Individual de
Prestaciones de Salud – RIPS, desde las Instituciones Prestadoras de Servicios de Salud a las
EAPB. (s. f.). minsalud. Recuperado 24 de octubre de 2022, de
https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/OT/LineamientosTecnicos-para-IPS.pdf
¿Qué es el middleware? | Middleware explicado | AWS. (s. f.). Amazon Web Services,
Inc. Recuperado 24 de octubre de 2022, de https://aws.amazon.com/es/what-is/middleware/
Qué es y cómo funciona un middleware en Laravel. (2021, 6 abril). Platzi.
https://platzi.com/blog/laravel-middleware/
Platzi: Cursos online profesionales de tecnología. (s. f.). Recuperado 24 de octubre de
2022, de https://platzi.com/clases/1920-eloquent-laravel/28515-que-es-un-orm-y-para-que-sirveeloquent/
53
Qué es MySQL: Características y ventajas. (2021, 3 diciembre). OpenWebinars.net.
https://openwebinars.net/blog/que-es-mysql/
TechTarget, C. de. (2021, 23 abril). MySQL. ComputerWeekly.es.
https://www.computerweekly.com/es/definicion/MySQL
¿Qué es SCRUM? (2020, 4 marzo). [Vídeo]. YouTube.
https://www.youtube.com/watch?v=sLexw-z13Fo&feature=youtu.be
Desarrollo software ágil con SCRUM: qué es y cómo funciona. (2018, 14 agosto).
Coremain. https://www.coremain.com/desarrollo-software-agil-scrum/
Metodología SCRUM para desarrollo de software a medida. (2017, 6 septiembre).
www.softeng.es. https://www.softeng.es/es-es/empresa/metodologias-detrabajo/metodologia-scrum.html
Mancuzo, G. (2022, 18 agosto). Fases de la Metodología Scrum. Blog ComparaSoftware. https://blog.comparasoftware.com/fases-metodologia-scrum/
¿Qué Es La Metodología Scrum? Y Gestión De Proyectos Scrum. (2021, 25 agosto).
Digite. https://www.digite.com/es/agile/que-es-scrum/
Los roles del equipo de Scrum. (s. f.). Recuperado 24 de octubre de 2022, de
https://www.lacreativeria.com/blog/los-roles-del-equipo-de-scrum
Preguntas frecuentes RIPS. (s. f.). minsalud. Recuperado 25 de octubre de 2022, de
https://www.minsalud.gov.co/sites/rid/Lists/BibliotecaDigital/RIDE/DE/OT/FAQ-RIPS.pdf
54
CaixaBank obtiene el certificado ISO/IEC 25000 para su app CaixaBankNow. (s. f.).
Recuperado 25 de octubre de 2022, de https://iso25000.com/index.php/normas-iso-25000/iso25010
CaixaBank obtiene el certificado ISO/IEC 25000 para su app CaixaBankNow. (s. f.-b).
Recuperado 25 de octubre de 2022, de https://iso25000.com/index.php/normas-iso-25000
CaixaBank obtiene el certificado ISO/IEC 25000 para su app CaixaBankNow. (s. f.-b).
Recuperado 25 de octubre de 2022, de https://iso25000.com/index.php/normas-iso-25000
Diaz, D. (2022, 23 febrero). Cómo Generar Claves SSH para GitHub. Kinsta.
https://kinsta.com/es/blog/generar-claves-ssh/
¿Qué es una API de REST? (s. f.). Red Hat. Recuperado 26 de octubre de 2022, de
https://www.redhat.com/es/topics/api/what-is-a-rest-api
Diaz, D. (2022, 23 febrero). Cómo Generar Claves SSH para GitHub. Kinsta.
https://kinsta.com/es/blog/generar-claves-ssh/
React – Una biblioteca de JavaScript para construir interfaces de usuario. (s. f.). React.
Recuperado 25 de octubre de 2022, de https://es.reactjs.org
Petersen, M. (s. f.). Guía de modelado, reglas y símbolos de BPMN 2.0 | BIC Software.
Recuperado 26 de octubre de 2022, de https://www.gbtec.com/es/recursos/bpmn/
Códigos de estado de respuesta HTTP - HTTP | MDN. (2022, 4 octubre).
https://developer.mozilla.org/es/docs/Web/HTTP/Status
55
14 Anexos
Anexo A. Lineamiento Técnico
Extraído de https://goo.su/Z3xnBx. Paginas (Hojas 7 - 8).
56
Anexo B. Historias de usuario
57
58
59
60
61
62
63
64
65
66
67
68
Anexo C. Diagramas BPMN
En este diagrama BPMN podemos observar los procesos que se realizan al momento de
subir un archivo RIPS para poder validarlo.
En este diagrama de procesos podemos evidenciar los procesos que se realizan al
momento de registrar un usuario.
69
Procesos necesarios para que un usuario se pueda autenticar para obtener las credenciales
de autenticación.
Validadores
Procesos que se llevan a cabo en el validador de estructura de archivos RIPS, este
validador es el primero por el cual pasan los archivos RIPS.
70
Procesos del validador del contenido, el cual es el encargado de validar el contenido de
los archivos RIPS, este validador es el último por el que pasan los archivos RIPS
71
Anexo D. Manual técnico
Sistema de información auditoría de
cuentas médicas y concurrente
Este módulo permite realizar validaciones a las cuentas médicas generadas en
clínicas y hospitales al momento de realizar procedimientos médicos a un paciente, estas
validaciones detectan errores dentro de estas cuentas médicas los cuales se
le notifica a las entidades que remiten esta cuenta médica y de esta manera puedan
corregir los errores antes de que un auditor valide la información de estas cuentas
médicas.
Documentación de la API
Para poder visualizar gráficamente la documentación de la API recomendamos
utilizar swagger, para ello puedes copiar el archivo api.yaml y utilizar el editor de
swagger o instalando una extensión en tu IDE o editor de código
Restricciones
•
Laravel 9
•
PHP ^8.0.2
72
•
Gestor de base de datos MySQL
Servidor Apache
•
Composer
•
Instalación
•
Clonar o descargar el proyecto
•
Instalar los paquetes y dependencias requeridos
•
composer install
•
Crear el archivo .env, para esto puedes crearlo manualmente o copiar el de
ejemplo el cual viene con el proyecto de esta manera
•
cp .env.example .env
•
Generar APP_KEY
•
php artisan key:generate
•
Configurar las variables de entorno dentro del archivo .env
•
Dar permisos a los directorios (linux)
o
Permiso a la carpeta del proyecto
o
sudo chmod 775 -R <directorio proyecto>
o
cambiar propietario del directorio del proyecto
o
sudo chown -R www-data:www-data <directorio proyecto>
o
Cambiar permisos por defecto en las carpetas temporales
o
sudo setfacl --default --modify u::rwx,g::rwx,o::rwx <directorio>
Donde:
r:
dar permiso de lectura
73
w:
dar permiso de escritura
x: dar permiso de ejecución
sudo setfacl --default --modify u::rwx,g::rwx,o::rwx public/TMPs/
sudo setfacl --default --modify u::rwx,g::rwx,o::rwx
storage/app/comprimidos/
Configuración del servidor apache
Linux
•
Crear archivo de configuración de host virtual de apache para alojar nuestra
aplicación de laravel
nano /etc/apache2/sites-available/Directorio_proyecto.conf
•
Agregamos las siguientes líneas
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/Directorio_proyecto/public
ServerName Directorio_proyecto
ServerAlias Directorio_proyecto
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
•
Posteriormente habilitaremos el módulo de reescritura de Apache y activaremos
el host virtual Laravel
sudo a2enmod rewrite && a2ensite Directorio_proyecto.conf
•
Finalmente reiniciamos el servicio de apache con el siguiente comando
sudo systemctl restart apache2
74
Anexo E. Diccionario de datos
Extraído de: https://github.com/desteban/sosaludapi/blob/main/diccionario%20de%20datos.pdf
75
Anexo F. Manual de Usuario
Interfaz de Registro
Campo (Nombre) 1: En este campo se digita el nombre de la persona.
Campo (Nombre de usuario) 2: En este campo se digita el nombre de usuario.
Campo (Correo) 3: En este campo se digita el correo el cual desea que quede registrado.
Campo (botón) 4: Botón para enviar la información y crear una cuenta.
Campo (Enlace) 5: En este enlace los redirige a la interfaz de Login.
76
Interfaz de Login
Campo (Nombre de usuario o correo electrónico) 6: En este campo se digita el nombre de
usuario o el correo registrado con anterioridad.
Campo (Contraseña) 7: En este campo se digita la contraseña enviada al correo
electrónico asociado a la cuenta.
Campo (Botón) 8: Botón para autenticar datos y poder ingresar a la herramienta.
Campo (Enlace) 9: En este enlace los redirige al formulario de registro.
77
Interfaz Menú
Campo (Botón de inicio) 10: En este botón se ingresa al dashboard.
Campo (Módulo validador) 11: En este módulo el usuario puede realizar el proceso de
auditoría de los archivos RIPS.
78
Campo (Tipo de usuario) 12: En este campo se selecciona el tipo de usuario.
Campo (Contraseña) 13: En este campo se selecciona el tipo de contrato.
Campo (Botón) 14: Botón para subir el archivo RIPS.
Campo (Botón) 15: En este botón se sube el archivo RIP que desea validar.
79
Interfaz de validador
Campo (Botón) 16: En este botón se puede descargar el log de errores en caso de que el
archivo no esté bien estructurado.
80
Dashboard
En esta interfaz se podrá visualizar todos todos los diagramas.
Download