Appearance
Módulo de Ingesta: Motor de Inteligencia Artificial
Introducción
El Worker de Inteligencia Artificial es el cerebro automatizado del sistema Nova LIS. Trabaja silenciosamente en segundo plano, tomando las órdenes recién subidas (estado pendiente) y utilizando la potente red neuronal multimodal de Google Gemini para leer las imágenes, entender la caligrafía médica y extraer los datos clínicos relevantes.
1. Ciclo de Trabajo (Cómo opera)
Este script está diseñado para ejecutarse cíclicamente (generalmente a través de un Cron Job cada 1 minuto o invocado desde el Tablero).
- Búsqueda: Busca en la bandeja de entrada la orden más antigua en estado
pendiente. - Bloqueo de Seguridad: Inmediatamente cambia el estado de esa orden a
procesando_ia. Esto evita "condiciones de carrera", garantizando que si se corren dos workers al mismo tiempo, no procesen la misma orden dos veces. - Procesamiento en Lotes: Por cada ejecución, procesa hasta 5 órdenes simultáneas (
BATCH_SIZE) para no saturar la cuota de la API.
2. El Proceso de Análisis Multimodal
El Worker recopila las imágenes previamente guardadas (Páginas de la orden, DNI y Credencial) y las empaqueta junto con instrucciones sumamente estrictas (Prompt) enviándolas a la API de Inteligencia Artificial.
Las instrucciones clave que sigue la IA son:
- Prioridad DNI: Si detecta la imagen del DNI, extrae el Nombre y el Número de Documento desde allí con prioridad máxima, garantizando alta precisión en los datos filiatorios.
- Búsqueda de Afiliado: Identifica la credencial y extrae el nombre de la obra social y el número de socio.
- Extracción de Prácticas y Diagnósticos: Lee el cuerpo principal de la receta.
- Identificación Médica Avanzada: Busca en toda la hoja el sello del médico (sin importar si está al revés, en un margen o borroso). Del sello extrae el nombre del profesional y desglosa cuidadosamente su matrícula (distinguiendo entre Matrícula Provincial
MPo NacionalMN).
La IA consolida toda esta información y la devuelve en formato estructurado (JSON).
3. Resultados y Transiciones de Estado
Tras recibir la respuesta de la IA, el worker actualiza la base de datos:
- Éxito:
- Guarda los datos extraídos.
- Cambia el estado de la orden a
esperando_validacion. - En este punto, la orden ya es visible en el Tablero del Recepcionista, con el icono de "IA Finalizada", lista para ser revisada por un humano.
- Fallo (Error de lectura o conexión):
- Si la API rechaza el pedido por saturación, el sistema espera unos segundos y reintenta automáticamente usando una técnica llamada Exponential Backoff.
- Si la falla es definitiva o la imagen es ilegible, guarda un mensaje de error, pero mueve la orden a
esperando_validacioncon un flag de error. Esto evita que la cola se trabe eternamente y le avisa al recepcionista humano que deberá hacer la "Carga Manual" de ese paciente en particular.
4. Auditoría y Métricas
El sistema es 100% auditable. Cada vez que el Worker procesa una orden, guarda un registro en la tabla interna ia_logs.
El personal administrador puede revisar:
- Tiempo de respuesta: Cuántos milisegundos tardó la IA en contestar.
- Tokens: Cantidad de recursos (Tokens de entrada y salida) consumidos, vital para controlar los costos de facturación de Google Cloud.
- Estado HTTP: Si la conexión con Google fue exitosa o arrojó fallos.
Nota: Este componente es el corazón de la automatización del laboratorio, ahorrando un promedio del 80% del tiempo de tipeo manual del personal de recepción.
