Skip to content

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).

  1. Búsqueda: Busca en la bandeja de entrada la orden más antigua en estado pendiente.
  2. 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.
  3. 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 MP o Nacional MN).

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_validacion con 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.