Arquitectura de BiobadamexAI
Mapa del sistema
Sección titulada «Mapa del sistema»flowchart TB
UI["Consola React"] --> API["API Hono"]
M2M["Carga por servicio"] --> API
RAI["RheumAI audit proxy"] --> AUD["API de auditoría"]
AG["Agente clínico dedicado"] --> AGA["API de agente"]
API --> R2[("R2 · originales cifrados")]
API --> DB[("PostgreSQL · metadatos y borradores")]
API --> Q["pg-boss"]
AUD --> EXT["Extractor"]
AGA --> Q
Q --> EXT
EXT --> NEB["Nebius · nota desidentificada"]
EXT --> CORE["Esquema tri-state · DAS-28 · completitud"]
CORE --> DB
UI --> REVIEW["Revisión y corrección"]
REVIEW --> DB
DB --> SUB["Solicitud de envío"]
SUB --> Q2["Cola registry-submit"]
Q2 --> TENKI["MicroVM Tenki"]
TENKI --> REG["BIOBADAMEX ASP.NET"]
REG --> RECEIPT["idpac + resumen"]
RECEIPT --> DBComponentes
Sección titulada «Componentes»Aplicación web
Sección titulada «Aplicación web»La consola React concentra el flujo diario en una lista de notas. Los filtros muestran qué necesita atención y cada fila ofrece una acción contextual: extraer, revisar o ver. Las pantallas de revisión muestran el documento fuente, el registro estructurado, la corrección y la confirmación previa al envío.
La API Hono monta superficies separadas:
/api/biobadamex/intake: texto pegado, archivos y carga por servicio./api/biobadamex/uploads: inventario, extracción bajo demanda y recuperación del original./api/biobadamex/drafts: cola de revisión, detalle, corrección, aprobación, rechazo y envío./api/biobadamex/audit: calificación y envío para revisión desde RheumAI./api/biobadamex/agent: acceso acotado para un agente que actúa por un médico./api/flujos: línea de tiempo operativa con una proyección reducida.
Las rutas de consola exigen sesión, usuario resuelto y acceso de investigación. Las superficies máquina-a-máquina usan claves de servicio distintas.
Almacenamiento
Sección titulada «Almacenamiento»- R2 conserva el archivo original cifrado con AES-256-GCM.
- PostgreSQL guarda metadatos del archivo, trabajos, borradores, auditoría y resultados del envío.
- La copia de trabajo del registro preserva valores tri-state.
agentRecordconserva la extracción original;recordes la copia que el médico puede corregir.- El texto fuente del borrador se almacena cifrado cuando existe una clave maestra válida.
pg-boss separa extracción y registro. La API solo registra trabajadores cuando BIOBADAMEX_QUEUE_ENABLED=1. Extracción tiene reintentos y dead letter. Registro tiene otra cola y se procesa uno por trabajador, pero una instalación con varias instancias necesita coordinación adicional para garantizar serialización global.
Paquete de dominio
Sección titulada «Paquete de dominio»@pokta/biobadamex-registry contiene el esquema, valores unknown, reglas por enfermedad, DAS-28, contratos de trabajos, mapa de controles externos y reglas de corrección y completitud.
Trabajador de registro
Sección titulada «Trabajador de registro»El trabajador Playwright corre dentro de una microVM desechable. Inicia sesión, recorre crdA a crdE, obtiene el idpac después de guardar crdA y exige que el resumen final muestre ese identificador.
Tres límites distintos
Sección titulada «Tres límites distintos»| Límite | Qué controla | Qué no demuestra |
|---|---|---|
| Extracción | Convierte una nota en un registro tipado | Que todos los valores sean correctos |
| Revisión médica | Permite corregir y aprobar | Que la plataforma externa recibió cada campo |
| Confirmación del trabajador | Obtiene idpac y ve el resumen |
Lectura campo por campo después del envío |