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.