Procesos clínicos y administrativos clave entre microservicios, paso a paso.
Admisión (UI)
└─ POST /api/v1/pacientes (busca por CUI)
└─ identidad-paciente ─→ RENAP-WS (valida CUI)
└─ devuelve paciente o crea
└─ pub paciente.creado ───────────────────→ Kafka
└─ auditoria, notificaciones
└─ POST /api/v1/episodios (tipo=CE, paciente_id)
└─ episodios crea registro
└─ pub episodio.abierto ─────────────────────→ Kafka
└─ expediente-clinico (precarga Hx)
└─ auditoria
Enfermería ER (UI)
└─ POST /api/v1/triajes
└─ emergencia evalúa Manchester (rojo/naranja/amarillo/verde/azul)
└─ POST /api/v1/signos (signos-vitales)
└─ pub triaje.asignado ───────────────→ Kafka
└─ encamamiento (si rojo → sala de choque)
└─ notificaciones (médico de turno)
└─ auditoria
Médico ER atiende:
└─ POST /api/v1/notas (expediente-clinico)
└─ POST /api/v1/ordenes (ordenes-medicas)
Médico (UI)
└─ POST /api/v1/ordenes (tipo=LAB, items=[hemograma, glicemia])
└─ ordenes-medicas crea
└─ pub orden.creada ─────────────────→ Kafka
└─ laboratorio (sub)
Laboratorio:
└─ recibe orden, genera muestra
└─ Mirth ─→ HL7 ORM ─→ analizador
└─ analizador ─→ HL7 ORU ─→ Mirth ─→ laboratorio
└─ POST /resultados/{id}/liberar (validación profesional)
└─ pub lab.resultado.liberado ────────→ Kafka
└─ expediente-clinico (adjunta)
└─ notificaciones (médico)
└─ pasarela-fhir (DiagnosticReport)
└─ auditoria
Médico (UI)
└─ POST /api/v1/recetas (farmacia) · valida LBM, alergias, interacciones
└─ pub rx.creada ─────────────────→ Kafka
Farmacia:
└─ enfermería/farmacéutico revisa receta
└─ POST /api/v1/dispensaciones
└─ farmacia descuenta lote
└─ pub rx.dispensada ─────────────→ Kafka
└─ inventario (movimiento de salida · trazabilidad lote-paciente)
└─ expediente-clinico
└─ auditoria
Coordinador Quirófano (UI)
└─ POST /api/v1/programaciones (sala, equipo, hora)
└─ pub cirugia.programada
├─→ inventario (reserva insumos · revisión disponibilidad)
├─→ rrhh (verifica turnos)
└─→ notificaciones (paciente · familia)
Día de cirugía:
└─ POST /api/v1/cirugias/{id}/checklist (3 puntos OMS)
└─ POST /api/v1/cirugias/{id}/cerrar (hoja operatoria · diagnóstico CIE-10)
└─ pub cirugia.cerrada
├─→ inventario (consumo real de insumos)
├─→ encamamiento (asigna cama post-op)
├─→ expediente-clinico
└─→ auditoria
Hosp:
└─ POST /api/v1/asignaciones (cama X, paciente Y) ─→ pub cama.ocupada
└─ POST /api/v1/traslados (servicio A → B)
└─ POST /api/v1/episodios/{id}/cerrar (alta, fecha, destino)
└─ pub episodio.cerrado
├─→ facturacion (gratuidad / IGSS / privado)
├─→ encamamiento (libera cama) ─→ pub cama.liberada
├─→ reportes-sigsa (precarga indicadores)
└─→ auditoria
Obstetricia:
└─ POST /api/v1/partogramas (curva de Friedman cada 30 min)
└─ POST /api/v1/partos (cierre)
└─ POST /api/v1/rn (RN, CUI provisional, peso, APGAR, vacunas)
└─ pub parto.cerrado · rn.registrado
├─→ vigilancia-epi (mortalidad materna/neonatal si aplica)
├─→ reportes-sigsa (SIGSA-4, SIGSA-5)
├─→ identidad-paciente (alta del RN)
└─→ auditoria
expediente-clinico (al firmar nota con CIE-10 de notificación obligatoria) └─ pub nota.firmada ─→ vigilancia-epi (sub) └─ vigilancia-epi crea caso └─ POST a pasarela-fhir → MSPAS (FHIR R4) └─ pub epi.notificado ─→ reportes-sigsa, auditoria
Cron 23:30 (presupuesto)
└─ presupuesto.sicoinSync(fecha)
└─ recolecta movimientos del día
└─ SOAP UE 248 ─→ SICOIN-MINFIN
└─ recibe acuse · idempotencia por hash diario
└─ pub presup.actualizado ─→ tableros, auditoria
Compras (UI)
└─ POST /api/v1/requerimientos
└─ POST /api/v1/guatecompras/sync (NPG ABC-123)
└─ scraper autorizado importa estado, ofertas, adjudicación
└─ POST /api/v1/contratos
└─ pub compra.adjudicada
├─→ presupuesto (compromiso · CDP)
├─→ inventario (espera ingreso de mercadería)
└─→ auditoria
facturacion (sub episodio.cerrado)
└─ aplica tarifa según convenio
├─ gratuidad MSPAS → factura $0 con código de subsidio
├─ IGSS → factura al IGSS con FHIR Claim
└─ privado → factura al paciente
└─ pub factura.emitida ─→ tableros, auditoria
reportes-sigsa (cron primer día de mes 01:00)
└─ para cada formulario [SIGSA-1, SIGSA-2, ..., SIGSA-13]:
└─ consulta vistas materializadas (BD propia, alimentada por eventos)
└─ aplica reglas MSPAS
└─ genera CSV oficial + PDF
└─ envía a pasarela-fhir / portal MSPAS
└─ pub sigsa.enviado ─→ tableros, auditoria