Convierte lo que cuenta un paciente en un nivel de urgencia Manchester, y audita cada predicción para que la carga emocional no esconda un caso grave.
MedFlow asigna a cada paciente un nivel de urgencia Manchester, del C1 al C5, a partir de lo que describe por texto o voz.
El objetivo era hacer ese triaje consistente y desplegable en cualquier entorno. Un LLM extrae y etiqueta los síntomas, un modelo de ML predice el nivel y una auditoría ética revisa cada predicción; además, cada paso de IA es intercambiable entre un backend local gratuito y Azure, sin tocar código.

Y los casos más graves no siempre son los más ruidosos: la forma en que el paciente comunica puede esconder una emergencia.
Un gateway FastAPI recibe el caso y Airflow orquesta el pipeline de punta a punta.
Transcripción: el audio del paciente pasa a texto con whisperx.
Traducción y resumen: el corpus clínico es inglés y el paciente habla español.
Enriquecimiento con LLM: extracción de síntomas, normalización contra un diccionario cerrado, etiquetado y score de ansiedad.
Entrenamiento y predicción: el modelo de ML asigna el nivel Manchester.
n8n dispara las alertas clínicas y técnicas. Todo corre sobre Postgres y minIO en Docker.

Tres pantallas cubren el flujo completo: crear un caso desde texto o voz, revisar el historial de entrevistas procesadas y auditar la predicción de un caso concreto frente al criterio médico real.



Cuando el pipeline termina, n8n dispara notificaciones en tiempo real: un caso urgente C1/C2 al equipo clínico y un fallo de procesamiento al técnico, cada uno con el contexto necesario para actuar.


Cada paso de IA es intercambiable entre un backend local (gratis) y Azure, conmutable por variable de entorno con autenticación keyless.
LLM: OpenRouter en local, Azure OpenAI en la nube.
Transcripción: whisperx en local, Azure AI Speech en la nube.
Normalización: diccionario CSV en local, Azure AI Search en la nube.
Redacción de PII: regex en local, Azure AI Language en la nube.
El resto del sistema (ML, infraestructura y lógica de negocio) es independiente del proveedor cloud. Un regression gate en CI (GitHub Actions) bloquea en cada PR los cambios de prompt que degraden la calidad del triaje.
Migrar la normalización a búsqueda semántica no fue gratis: sin umbral sobre-empareja y hunde la precisión. Con un umbral de score iguala al diccionario literal y además capta variantes lingüísticas que el match exacto pierde ("no me llega el aire" ↔ "me ahogo").

La última etapa del pipeline compara la predicción del modelo con la carga emocional detectada por el LLM. Cuando un caso con alta ansiedad recibe un nivel de urgencia bajo, salta la alerta: es el patrón de infra-triaje que el sistema está diseñado para no dejar pasar.
La alerta no solo avisa. Registra la categoría real frente a la predicha, una hipótesis del porqué del sesgo y una acción correctiva concreta (reentrenar con class_weight reforzado, revisar los prompts de scoring). El caso se enruta a revisión humana antes de cualquier comunicación con el paciente.

MedFlow es una arquitectura de microservicios orquestada, con calidad verificada en CI y desplegable en local o Azure.
Servicios FastAPI independientes (gateways, IA, ML y auditoría) orquestados en Docker.
Cubren ingesta, enriquecimiento, entrenamiento, predicción, evaluación y auditoría.
Diccionario cerrado que normaliza los síntomas a un vocabulario Manchester comparable.
Corpus de Fareez et al. (Nature): entrevistas médicas reales, con el lenguaje impreciso con el que la gente cuenta sus síntomas.