Alex Martinez Logo

AUNA HEALTHCARE

2024 - Presente

Desarrollador Full-Stack

Auditoría Médica Integrada v2

Planifiqué y lideré la reestructuración completa del módulo core (detalle de expediente) de un sistema de auditoría clínica y financiera utilizado por auditores médicos para gestionar expedientes clínicos, aplicar reglas de negocio automatizadas, ejecutar liquidaciones y generar reportes.

85+Funciones & SPs creadas
60+Endpoints REST
8,800Líneas reestructuradas
18+Grillas de datos
25+Funciones PL/pgSQL
4Thread Pool Executors

Detalle Técnico

Planificación & Arquitectura

  • Planifiqué y lideré la reestructuración completa del módulo core del sistema (detalle de expediente), abarcando frontend, backend y base de datos desde cero para la v2.
  • Definí la arquitectura de datos incluyendo modelado de tablas en PostgreSQL (esquema AMI) y la interfaz con Oracle para datos clínicos del HIS.

Base de Datos & Stored Procedures

  • Diseñé y creé las tablas del esquema AMI en PostgreSQL (AWS RDS) para expedientes, asignaciones, liquidaciones, reglas y alertas.
  • Desarrollé 25+ funciones PL/pgSQL cubriendo el ciclo de vida del expediente: asignaciones, validaciones clínicas (CIE-10, oncología), liquidación y reportería.
  • Creé stored procedures en Oracle para extracción de datos clínicos del HIS (historia clínica, epicrisis, hojas de anestesia, informes quirúrgicos).

Backend — Java / Spring Boot

  • Construí el BFF 2.0 en Spring Boot 3.3.5 / Java 17 con 17 controllers REST y 60+ endpoints para datos clínicos, quirúrgicos, oncológicos y de liquidación.
  • Diseñé 4 thread pool executors especializados: tareas generales (5-10 threads), batch processing (8-16 threads, queue 500), exports con backpressure y evaluación de reglas con CallerRunsPolicy.
  • Creé un scheduler de auditoría masiva diaria por sede con ejecución secuencial configurable y control de concurrencia con AtomicBoolean.
  • Implementé merging de datos de 3 fuentes (asignaciones RDS, encuentros excluidos, expedientes HIS) unificados por episPk en capa de servicio.
  • Integré servicios externos: Magnus (análisis oncológico con JWT), SMCIFS (file server), AWS S3 y Secrets Manager.

Frontend — Angular

  • Reestructuré componente monolítico de ~8,800 líneas en 8 componentes de tab independientes con carga lazy, mejorando mantenibilidad y rendimiento.
  • Implementé patrón Facade para centralizar estado del expediente: editabilidad, permisos por rol, estado de pausa y bloqueo por liquidación.
  • Diseñé carga de datos con forkJoin (10+ requests paralelos por tab), switchMap para dependencias, catchError centralizado y finalize para cleanup.
  • Desarrollé 18+ grillas de datos con Angular Material (MatTable + MatSort + MatPaginator) con configuración de columnas y acciones de auditoría.
  • Implementé sistema de tracking de tiempo en tiempo real con RxJS interval para 3 tipos de timer con congelamiento por pausa.

Multiusuario & Concurrencia

  • Evalué e implementé soporte multiusuario con sistema de asignaciones que previene conflictos de edición y workflow de estados por rol.
  • Implementé patrón de snapshot original para detección de conflictos a nivel de item, permitiendo comparar cambios y ofrecer "Deshacer".
  • Diseñé sistema de pausas con mutex implícito: solo el auditor asignado puede pausar/reanudar, con tracking de tiempo y límite configurable.

Generación de Reportes

  • Implementé reportes server-side en Excel (Apache POI), PDF (iText 8) y CSV (OpenCSV) con export worker asíncrono, sistema de jobs con heartbeat y estados.
  • Desarrollé exports client-side en PDF (jspdf + html2pdf.js) y Excel (exceljs + file-saver) para pre-liquidación y facturación.

Stack Tecnológico

Java 17Spring Boot 3Angular 15PostgreSQLOraclePL/pgSQLAWSModule Federation
SiguienteModernización de POSJPH SOLUTIONS