Vista de ingeniería: paquete Java, endpoints REST, tablas, eventos y patrones aplicados.
| # | Servicio · paquete Java | Endpoints REST principales | Tablas / colecciones | Eventos pub / sub | Patrones |
|---|---|---|---|---|---|
| 1 | autenticacion · com.toscana.sih.auth | POST /token · POST /refresh · POST /mfa · GET /sesiones | - | sub: usuario.creado | OIDC · gateway de identidad |
| 2 | auditoria · com.toscana.sih.audit | POST /eventos · GET /eventos | audit_log (WORM) | sub: TODOS los eventos * | Append-only · hash encadenado |
| 3 | bus-eventos · com.toscana.sih.bus | GET /topics · GET /lag | - | - | Plataforma Kafka · DLQ |
| 4 | notificaciones · com.toscana.sih.notif | POST /enviar · GET /plantillas | notification, plantilla | sub: orden.creada · resultado.liberado · cita.programada | Outbox · reintentos |
| 5 | identidad-paciente · com.toscana.sih.identidad | POST /pacientes · GET /pacientes/{id} · POST /fusiones | paciente, identificador, fusion_audit | pub: paciente.creado · paciente.fusionado | MDM · cifrado de campo · HMAC |
| 6 | episodios · com.toscana.sih.episodios | POST /episodios · POST /episodios/{id}/cerrar | episodio, transicion | pub: episodio.abierto · episodio.cerrado · sub: paciente.creado | Máquina de estados |
| 7 | expediente-clinico · com.toscana.sih.expediente | POST /notas · GET /pacientes/{id}/notas · POST /addendums | nota (Mongo) · firma · adjunto | pub: nota.firmada · sub: episodio.abierto | Append-only · firma electrónica |
| 8 | ordenes-medicas · com.toscana.sih.ordenes | POST /ordenes · PATCH /ordenes/{id} · POST /ordenes/{id}/cumplir | orden, item_orden | pub: orden.creada · orden.cumplida | CQRS · Saga |
| 9 | farmacia · com.toscana.sih.farmacia | POST /recetas · POST /dispensaciones · GET /lbm | receta, dispensacion, equivalencia | pub: rx.creada · rx.dispensada · sub: orden.creada | Reconciliación · LBM cache |
| 10 | laboratorio · com.toscana.sih.lab | POST /muestras · POST /resultados · POST /resultados/{id}/liberar | muestra, resultado | pub: lab.muestra.tomada · lab.resultado.liberado · sub: orden.creada | HL7 ORM/ORU vía Mirth |
| 11 | imagenologia · com.toscana.sih.img | POST /estudios · GET /worklist | estudio, informe | pub: img.estudio.realizado | DICOM Modality Worklist · PACS link |
| 12 | signos-vitales · com.toscana.sih.signos | POST /signos · GET /pacientes/{id}/series | signo (Timescale) | pub: signo.alerta | TimescaleDB · downsampling · WebSocket |
| 13 | emergencia · com.toscana.sih.er | POST /triajes · POST /salas/{id}/asignar | triaje, sala_choque | pub: triaje.asignado · sub: episodio.abierto | Manchester · tablero vivo |
| 14 | encamamiento · com.toscana.sih.hosp | POST /asignaciones · POST /traslados | cama, asignacion, traslado | pub: cama.ocupada · cama.liberada | Tablero vivo · WebSocket |
| 15 | quirofano · com.toscana.sih.qx | POST /programaciones · POST /cirugias/{id}/cerrar | programacion, hoja_operatoria | pub: cirugia.programada · cirugia.cerrada | Checklist OMS embebido |
| 16 | obstetricia · com.toscana.sih.obs | POST /partogramas · POST /partos · POST /rn | partograma, parto, rn | pub: parto.cerrado · rn.registrado | Curva de Friedman · alertas |
| 17 | vigilancia-epi · com.toscana.sih.epi | POST /notificaciones · GET /casos | caso_epi, notificacion | pub: epi.notificado · sub: nota.firmada | Reglas CIE-10 · pasarela MSPAS |
| 18 | nutricion · com.toscana.sih.nutri | POST /evaluaciones · POST /suplementaciones | evaluacion, suplementacion | pub: nutri.alerta · sub: signo.alerta | Curvas OMS |
| 19 | recursos-humanos · com.toscana.sih.rrhh | GET /plazas · POST /turnos · GET /asistencia | plaza, turno, asistencia | pub: turno.asignado | Cuadrante mensual |
| 20 | presupuesto · com.toscana.sih.pres | POST /sicoin/sync · GET /ejecucion | partida, ejecucion | pub: presup.actualizado · sub: compra.adjudicada | SOAP SICOIN · idempotencia diaria |
| 21 | compras · com.toscana.sih.compras | POST /requerimientos · POST /guatecompras/sync | requerimiento, npg, nog, contrato | pub: compra.adjudicada | Saga · scraping autorizado |
| 22 | inventario · com.toscana.sih.inv | POST /entradas · POST /salidas · GET /existencias | existencia, lote, movimiento | pub: stock.bajo · sub: rx.dispensada · cirugia.cerrada | Trazabilidad lote-paciente · FEFO |
| 23 | facturacion · com.toscana.sih.fact | POST /facturas · POST /tarifas | factura, tarifa | pub: factura.emitida · sub: episodio.cerrado | Gratuidad / IGSS / privado |
| 24 | pasarela-fhir · com.toscana.sih.fhir | GET /fhir/Patient/{id} · GET /fhir/Encounter | - | sub: paciente.creado · nota.firmada · lab.resultado.liberado | FHIR R4 · mTLS |
| 25 | reportes-sigsa · com.toscana.sih.sigsa | POST /sigsa/{form}/generar · GET /sigsa/{form}/csv | sigsa_run | pub: sigsa.enviado · sub: nota.firmada · parto.cerrado · epi.notificado | 14 plantillas · CSV oficial |
sih.<contexto>.<evento> · clave de partición paciente_id donde aplique.<servicio>_<entidad> en su BD propia · nunca compartida./api/v1; cambios incompatibles → /api/v2 conviviendo.Servicios plataforma (auth, audit, bus, notif), identidad-paciente, expediente, órdenes, signos, encamamiento, quirófano, laboratorio, imagen, farmacia, inventario, facturación, RRHH, pasarela-fhir, reportes-sigsa son reusables tal cual en otros hospitales nacionales (Roosevelt, San Juan de Dios). Cambian: catálogos, ramas presupuestarias y branding.