name: soat-cruce description: > Cruce de información entre documentos de una reclamación SOAT. Verifica consistencia de datos entre FURIPS, Factura, Epicrisis, Historia Clínica, Póliza SOAT y RUNT. version: 1.0.0 author: claudio@arkangel.ai platforms: [macos, linux] metadata: hermes: tags: [soat, audit, cruce, validacion, colombia, aseguradora] category: soat-audit requires_toolsets: [terminal]
soat-cruce
Fase 1c del pipeline de auditoría SOAT. Verifica que los datos contenidos en los distintos documentos de una reclamación sean consistentes entre sí. Una reclamación puede tener todos los soportes presentes (Fase 1a aprobada) y aun así contener datos contradictorios entre documentos.
La pregunta que responde: ¿Son consistentes los datos entre todos los documentos del expediente?
No evalúa completitud documental (eso es soat-validacion-soportes), ni pertinencia clínica (eso es soat-auditoria-medica), ni estructura de datos (eso es soat-datos). Solo evalúa si los datos que aparecen en un documento coinciden con los datos del mismo concepto en otro documento.
Purpose
Este skill ejecuta el cruce de información entre documentos de una reclamación SOAT. Corresponde a la Fase 1c del pipeline, ubicándose entre soat-datos (Fase 1b — estructuración) y soat-auditoria-medica (Fase 2a — auditoría clínica).
Responde la pregunta: ¿Son consistentes los datos entre todos los documentos del expediente?
Está explícitamente fuera de scope:
- Validación de completitud documental (skill
soat-validacion-soportes, Fase 1a) - Estructuración de campos (skill
soat-datos, Fase 1b) - Evaluación clínica o de pertinencia médica (skill
soat-auditoria-medica, Fase 2a) - Detección de fraude (skill
soat-deteccion-fraude, Fase 2b) - Dictamen final (skill
soat-dictamen, Fase 3)
When to Use
- El orquestador despacha el cruce de información después de que
soat-validacion-soportesretornóPASAysoat-datosprodujo la ficha resumen. - El usuario pide "cruzar documentos de la reclamación X" o "verificar consistencia del caso Y".
- Reprocesando un caso cuyo cruce previo fue incompleto o requiere re-evaluación tras corrección de datos.
Prerequisito obligatorio: solo se ejecuta si soat-validacion-soportes retornó veredicto PASA. Si el veredicto fue DEVOLUCION, el pipeline salta directamente a soat-dictamen sin pasar por este skill.
No usar: si la validación de soportes no se ha ejecutado; si el caso ya fue devuelto por soportes incompletos; si solo se necesita auditoría médica sin verificar consistencia inter-documentos.
Input
Este skill recibe tres insumos:
Resultado de
soat-validacion-soportes: lista de documentos validados con sus páginas, campos verificados y veredicto por documento. Confirma que los documentos fuente están presentes.Folio completo en markdown: el expediente completo de la reclamación. El agente lee directamente el folio para extraer y comparar valores entre documentos. Si el markdown es insuficiente o ambiguo, consulta el PDF original.
Ficha resumen parcial de
soat-datos: los 62 campos estandarizados con valores de input ya poblados y referencia documental. Proporciona los campos normalizados con su fuente.
Cross-Check Rules
Cada regla de cruce tiene: código identificador, título, documentos que compara, campos específicos de cada documento, severidad, y el veredicto que produce si falla.
Las severidades son tres:
- Bloqueante de cobertura: la inconsistencia significa que no hay cobertura SOAT — no hay nada legítimo que auditar ni pagar. Corta el pipeline: el caso pasa directo a
soat-dictamensin auditoría médica ni de fraude. La única regla de este tipo es C02-001 (evento fuera de vigencia de la póliza). - Bloqueante documental: la inconsistencia es un defecto de papeleo o una alerta de fraude (placa, identidad, fechas, NIT). Justifica una devolución documental para que la IPS aclare, pero la atención sí ocurrió y se audita igual. No corta el pipeline: las fases 2a/2b corren en paralelo y el dictamen consolida la devolución documental con los hallazgos por línea. Reglas: C01, C04, C05, C02-003, C02-004. (Ver Manual de Auditoría Técnica, Sec. 10.1 "Alertas de Fraude" y Sec. 13 "Devoluciones por documentos"; las causales de devolución del manual, Sec. 4.11, son taxativas y no incluyen placa/fechas/identidad.)
- Mayor: hallazgo que no devuelve por sí solo pero alimenta
INCONSISTENTE_OBJECION.
C01 — Identidad del paciente
- Documentos que compara: FURIPS §II, Factura electrónica, Epicrisis, Historia Clínica, Paz y Salvo, Hoja de Admisión, Órdenes Médicas
- Campos cruzados:
victima.primer_nombre+victima.primer_apellido(FURIPS §II) vsfactura.paciente.nombre(Factura) vs nombre en encabezado de Epicrisis vs nombre en encabezado de HC vs nombre en Paz y Salvo vs nombre en Hoja de Admisión vs nombre en Órdenes Médicasvictima.tipo_documento+victima.numero_documento(FURIPS §II) vsfactura.paciente.numero_documento(Factura) vs documento en Epicrisis vs documento en HC
- Criterio: nombre + tipo documento + número documento deben coincidir EXACTAMENTE entre todos los documentos donde aparezcan
- Severidad: Bloqueante documental
- Veredicto si falla:
INCONSISTENTE_DEVOLUCION_DOCUMENTAL— discrepancia en número de documento (alerta de fraude por inconsistencia de identidad del lesionado). Devuelve para aclaración documental, pero la auditoría médica corre igual. Una discrepancia en nombre (por ejemplo, variación ortográfica menor) se registra como hallazgo Mayor solo si el número de documento coincide; si el número de documento difiere, el cruce es Bloqueante documental sin excepciones. - Referencia: HTML gold standard Sección 2 (Datos del Paciente)
C02 — Fechas del evento y cobertura
Seis sub-reglas que validan la coherencia temporal del evento, la atención y la cobertura de la póliza.
C02-001 — Fecha del evento dentro de vigencia de la póliza
- Documentos que compara: FURIPS §III, Póliza SOAT
- Campos cruzados:
evento.fecha(FURIPS §III) vspoliza_soat.vigencia_desdeypoliza_soat.vigencia_hasta(Póliza SOAT)
- Criterio:
poliza_soat.vigencia_desde<=evento.fecha<=poliza_soat.vigencia_hasta - Severidad: Bloqueante de cobertura
- Veredicto si falla:
INCONSISTENTE_DEVOLUCION— el evento ocurrió fuera de la vigencia de la póliza, no hay cobertura SOAT. Único bloqueante que corta el pipeline: sin cobertura no hay nada que auditar. - Referencia: Decreto 056/2015 Art. 8; HTML gold standard Sección 1 (Criterio Clave: fecha evento dentro de póliza)
C02-002 — Fecha de ingreso posterior o igual a fecha del evento
- Documentos que compara: FURIPS §IX, FURIPS §III
- Campos cruzados:
atencion.fecha_ingreso(FURIPS §IX) vsevento.fecha(FURIPS §III)
- Criterio:
atencion.fecha_ingreso>=evento.fecha - Severidad: Mayor
- Veredicto si falla: hallazgo Mayor registrado. No produce devolución por sí solo, pero alimenta el veredicto
INCONSISTENTE_OBJECIONsi no hay hallazgos Bloqueantes.
C02-003 — Fecha de egreso posterior o igual a fecha de ingreso
- Documentos que compara: FURIPS §IX (ambos campos)
- Campos cruzados:
atencion.fecha_egreso(FURIPS §IX) vsatencion.fecha_ingreso(FURIPS §IX)
- Criterio:
atencion.fecha_egreso>=atencion.fecha_ingreso - Severidad: Bloqueante documental
- Veredicto si falla:
INCONSISTENTE_DEVOLUCION_DOCUMENTAL— una fecha de egreso anterior al ingreso indica un error documental grave (inconsistencia de fechas, alerta de fraude). Devuelve para aclaración, pero la auditoría médica corre igual.
C02-004 — Coincidencia exacta de fechas ingreso/egreso entre documentos
- Documentos que compara: FURIPS §IX, Epicrisis, Historia Clínica
- Campos cruzados:
atencion.fecha_ingresoyatencion.fecha_egreso(FURIPS §IX) vs fechas de ingreso y egreso en Epicrisis vs fechas de ingreso y egreso en HC
- Criterio: las fechas de ingreso y egreso deben coincidir EXACTAMENTE entre los tres documentos
- Severidad: Bloqueante documental
- Veredicto si falla:
INCONSISTENTE_DEVOLUCION_DOCUMENTAL— inconsistencia de fechas entre documentos (alerta de fraude). Devuelve para aclaración, pero la auditoría médica corre igual. Requisito explícito del HTML gold standard Sección 6, Paso 3 de la Matriz de Decisión - Referencia: HTML gold standard Sección 6 Paso 3
C02-005 — Fecha de factura posterior o igual a fecha de egreso
- Documentos que compara: Factura electrónica, FURIPS §IX
- Campos cruzados:
factura.fecha_expedicion(Factura) vsatencion.fecha_egreso(FURIPS §IX)
- Criterio:
factura.fecha_expedicion>=atencion.fecha_egreso - Severidad: Informativa (warning)
- Veredicto si falla: se registra como warning. No contribuye a ningún veredicto de inconsistencia. Una factura expedida antes del egreso puede indicar un proceso administrativo anticipado, no necesariamente un error.
C02-006 — Fechas de órdenes médicas dentro del rango de atención
- Documentos que compara: Órdenes Médicas, FURIPS §IX
- Campos cruzados:
- Fecha de cada orden médica presente en el expediente vs
atencion.fecha_ingresoyatencion.fecha_egreso(FURIPS §IX)
- Fecha de cada orden médica presente en el expediente vs
- Criterio: cada orden médica debe tener fecha dentro del rango [
atencion.fecha_ingreso,atencion.fecha_egreso] - Severidad: Mayor
- Veredicto si falla: hallazgo Mayor. Una orden con fecha fuera del período de atención no corresponde a esta hospitalización.
- Referencia: Resolución 1995/1999 Art. 11
C04 — NIT del prestador
- Documentos que compara: FURIPS §I, Factura electrónica, REPS
- Campos cruzados:
ips.nit(FURIPS §I) vsfactura.ips.nit(Factura electrónica) vs código de habilitación REPS (si la consulta REPS está disponible)
- Criterio: el NIT del prestador debe coincidir EXACTAMENTE entre todos los documentos donde aparezca. Si se dispone de consulta REPS, el NIT debe corresponder al prestador habilitado.
- Severidad: Bloqueante documental
- Veredicto si falla:
INCONSISTENTE_DEVOLUCION_DOCUMENTAL— un NIT discrepante entre FURIPS y Factura indica que los documentos pertenecen a entidades diferentes (defecto documental). Devuelve para aclaración, pero la auditoría médica corre igual. - Referencia: Decreto 056/2015 Art. 10
C05 — Datos del vehículo
- Documentos que compara: FURIPS §IV, Póliza SOAT, Consulta RUNT (si disponible)
- Campos cruzados:
vehiculo.placa(FURIPS §IV) vs placa en Póliza SOAT vs placa en Consulta RUNTvehiculo.numero_poliza_soat(FURIPS §IV) vs número de póliza en Póliza SOAT vs número de póliza en Consulta RUNT
- Criterio: la placa y el número de póliza deben coincidir EXACTAMENTE entre todos los documentos donde aparezcan. Si la Consulta RUNT no está disponible, el cruce se limita a FURIPS vs Póliza SOAT.
- Severidad: Bloqueante documental
- Veredicto si falla:
INCONSISTENTE_DEVOLUCION_DOCUMENTAL— la placa o póliza no corresponden entre documentos, lo que pone en duda la identidad del vehículo (alerta de fraude, Sec. 10.1). Devuelve para aclaración, pero la auditoría médica corre igual. Nota: la Póliza SOAT/Consulta RUNT es documento no obligatorio (Manual Sec. 5.16); si la placa figura de otra forma en factura o bitácora, no procede devolución (Manual Sec. 13.2 item n). - Referencia: Ley 769/2002 Art. 42; Manual de Auditoría Técnica Sec. 10.1, 5.16
C08 — Totales financieros
- Documentos que compara: FURIPS §X (FURIPS 2), Factura electrónica
- Campos cruzados:
amparos.gastos_medicos_reclamado(FURIPS §X) vsfactura.valor_a_pagar(Factura electrónica)
- Criterio: el total reclamado en FURIPS §X debe coincidir con el total a pagar de la factura. Se permite una tolerancia de redondeo de $100 (centena) conforme al Numeral 87 del Manual Tarifario.
- Severidad: Mayor
- Veredicto si falla: hallazgo Mayor que contribuye a
INCONSISTENTE_OBJECION. No produce devolución, sino objeción del monto discrepante. - Referencia: Manual Tarifario SOAT Numeral 87 (valores ajustados a centena)
C09 — Diagnósticos cruzados
- Documentos que compara: FURIPS §IX, Epicrisis, Historia Clínica
- Campos cruzados:
atencion.diagnosticos[0]— diagnóstico principal CIE-10 (FURIPS §IX) vs diagnóstico principal en Epicrisis vs diagnóstico principal en HC
- Criterio: el código CIE-10 del diagnóstico principal debe coincidir entre los tres documentos. Se acepta variación en el cuarto dígito (subcategoría) si la categoría de tres caracteres es idéntica.
- Severidad: Mayor
- Veredicto si falla: hallazgo Mayor que contribuye a
INCONSISTENTE_OBJECION. No produce devolución, pero una discrepancia diagnóstica pone en duda la coherencia clínica. - Referencia: Resolución 1995/1999 (Historia Clínica)
C13 — Desglose quirúrgico
- Documentos que compara: FURIPS §X (FURIPS 2), Factura electrónica
- Campos cruzados:
- Desglose de componentes quirúrgicos en FURIPS §X (CX: honorarios cirujano, AN: anestesia, AY: ayudantía, DS: derechos de sala, MT: materiales) vs detalle de items quirúrgicos en Factura electrónica (
factura.items[]donde el código pertenece a componentes QX)
- Desglose de componentes quirúrgicos en FURIPS §X (CX: honorarios cirujano, AN: anestesia, AY: ayudantía, DS: derechos de sala, MT: materiales) vs detalle de items quirúrgicos en Factura electrónica (
- Criterio: si la factura incluye componentes quirúrgicos (códigos CX, AN, AY, DS, MT), el desglose en FURIPS §X debe coincidir con el detalle en la factura. Cada componente presente en la factura debe tener su correspondiente en el FURIPS y viceversa.
- Condición de aplicabilidad: solo se evalúa si la factura incluye al menos un item con componente quirúrgico. Si no hay componentes QX, esta regla es
N/A. - Severidad: Mayor
- Veredicto si falla: hallazgo Mayor que contribuye a
INCONSISTENTE_OBJECION. Una discrepancia en el desglose quirúrgico indica posible sobre-facturación o sub-facturación de componentes. - Referencia: Manual Tarifario SOAT Numeral 48 (derechos de sala), Numeral 54 (materiales de sutura)
Verdict Logic
El veredicto global del cruce se determina evaluando todas las reglas aplicables y consolidando los hallazgos según su severidad.
Veredictos posibles
CONSISTENTE: todos los cruces pasan, o los únicos hallazgos son de severidad Mayor. El pipeline continúa asoat-auditoria-medica(Fase 2a).INCONSISTENTE_DEVOLUCION: falla el cruce Bloqueante de cobertura (C02-001, evento fuera de vigencia). No hay cobertura SOAT, así que no hay nada que auditar. El pipeline se detiene y pasa directamente asoat-dictamencon decisión DEVOLUCIÓN. Es el único veredicto que corta las fases 2a/2b.INCONSISTENTE_DEVOLUCION_DOCUMENTAL: falla al menos un cruce Bloqueante documental (C01 identidad paciente, C04 NIT prestador, C05 datos vehículo, C02-003 egreso anterior a ingreso, C02-004 fechas discrepantes entre documentos) y no falla el bloqueante de cobertura. La reclamación se devolverá por defecto documental, pero la atención ocurrió: el pipeline continúa asoat-auditoria-medica(2a) ysoat-deteccion-fraude(2b), ysoat-dictamenconsolida la devolución documental con los hallazgos por línea de la auditoría. No cortar 2a/2b.INCONSISTENTE_OBJECION: ningún cruce Bloqueante falla, pero al menos un cruce de severidad Mayor falla. Los cruces Mayor son: C02-002, C02-006, C08, C09, C13. El pipeline continúa asoat-auditoria-medica, pero los hallazgos de cruce alimentan el dictamen como objeciones.
Lógica de determinación
Evaluar en orden de prioridad; la primera condición que aplica determina el veredicto:
- Ejecutar todas las reglas de cruce aplicables (C01, C02-001 a C02-006, C04, C05, C08, C09, C13).
- Marcar como
N/Alas reglas que no aplican al caso (C13 si no hay componentes QX, C05 parcialmente si no hay Consulta RUNT). - Si el Bloqueante de cobertura (C02-001) tiene veredicto
fail→ veredicto global =INCONSISTENTE_DEVOLUCION. (La cobertura tiene prioridad: sin cobertura no se audita aunque haya defectos documentales.) - Si no falla la cobertura, pero algún Bloqueante documental (C01, C04, C05, C02-003, C02-004) tiene veredicto
fail→ veredicto global =INCONSISTENTE_DEVOLUCION_DOCUMENTAL. - Si ningún Bloqueante falla pero alguna regla Mayor tiene veredicto
fail→ veredicto global =INCONSISTENTE_OBJECION. - Si todas las reglas pasan o son
N/A→ veredicto global =CONSISTENTE.
Output Format
El output es un documento en Markdown plano con las siguientes secciones:
Encabezado del caso: número de siniestro, nombre del paciente, NIT de la IPS, número de factura (tomados de la ficha resumen de soat-datos).
Resultado de cada cruce: una línea por regla evaluada, con formato:
C01 — Identidad del paciente:
victima.numero_documento= "[valor en FURIPS, pág. X]" vsfactura.paciente.numero_documento= "[valor en Factura, pág. Y]" vs documento en Epicrisis = "[valor, pág. Z]" → pass / fail [severidad]C02-001 — Evento dentro de vigencia:
evento.fecha= "[valor, pág. X]" vspoliza_soat.vigencia_desde= "[valor, pág. Y]" ypoliza_soat.vigencia_hasta= "[valor, pág. Y]" → pass / fail [Bloqueante de cobertura]
(Repetir para cada sub-regla de C02 y para C04, C05, C08, C09, C13.)
Hallazgos consolidados: lista de todos los cruces que fallaron, agrupados por severidad (Bloqueante primero, Mayor después, Informativos al final). Cada hallazgo cita los valores concretos comparados y las páginas fuente.
Veredicto global: una línea con el veredicto (CONSISTENTE, INCONSISTENTE_DEVOLUCION, INCONSISTENTE_DEVOLUCION_DOCUMENTAL, o INCONSISTENTE_OBJECION) y la justificación basada en los hallazgos.
Reglas de formato:
- Markdown plano exclusivamente
- Sin tablas, sin ASCII art, sin box-drawing characters
- Cada veredicto individual y global cita evidencia documental con página y sección
- Prohibidas frases genéricas sin valores concretos ("los datos coinciden" sin decir cuáles datos ni dónde)
Verification Checklist
Antes de entregar el output, el agente debe verificar:
- Cada cruce evaluado tiene evidencia documental concreta: valores comparados de cada documento con número de página y sección de origen
- Ningún cruce usa frases genéricas sin citar los valores específicos que se compararon
- Si un cruce es
N/A, se documenta la razón con referencia al caso (por ejemplo, "C13 = N/A: la factura no incluye componentes quirúrgicos, verificado en factura pág. X") - El veredicto global es coherente con los hallazgos individuales y respeta la prioridad cobertura > documental > mayor: si falla el Bloqueante de cobertura (C02-001), el veredicto debe ser
INCONSISTENTE_DEVOLUCION; si no falla cobertura pero falla algún Bloqueante documental (C01, C04, C05, C02-003, C02-004), debe serINCONSISTENTE_DEVOLUCION_DOCUMENTAL; si hay hallazgos Mayor pero ningún Bloqueante, debe serINCONSISTENTE_OBJECION; si no hay hallazgos, debe serCONSISTENTE - Se evaluaron todas las reglas aplicables (no se omitió ninguna regla sin justificación de N/A)
- Los valores citados en el output coinciden con los valores reales de los documentos (no se transcribieron con errores)
- Las páginas referenciadas corresponden efectivamente al documento y sección indicados
Normative References
- Decreto 056/2015 — Marco general de reclamaciones SOAT, documentos requeridos (Art. 8, Art. 10)
- Resolución 1915/2008 — FURIPS (Formulario Único de Reclamación IPS)
- Resolución 1995/1999 — Historia Clínica (Art. 11, contenido mínimo)
- Ley 769/2002 — Código Nacional de Tránsito, SOAT, RUNT (Art. 42)
- Manual Tarifario SOAT (Decreto 2423/1996 y actualizaciones) — Códigos CUPS, tarifas, numerales de desglose quirúrgico
- Manual de Auditoría Médica 2023 de [ASEGURADORA] — Reglas de negocio, verificaciones por tipo de servicio
- HTML gold standard (
files/AUDITORIA_SOAT_PRESENTACION_V2.html) — Sección 1 (Criterios Clave), Sección 2 (Datos Generales), Sección 6 (Matriz de Decisión)
Integration
Input recibido de
soat-validacion-soportes(Fase 1a): veredictoPASA(prerequisito) + lista de documentos validados con páginas. Sin este veredicto,soat-cruceno se ejecuta.soat-datos(Fase 1b): ficha resumen con los 62 campos estandarizados y referencia documental. Proporciona los valores normalizados y sus fuentes.
Output entregado a
soat-auditoria-medica(Fase 2a): recibe el veredicto del cruce y los hallazgos. Si el veredicto esCONSISTENTEoINCONSISTENTE_OBJECION, la auditoría médica procede con conocimiento de las inconsistencias detectadas.soat-dictamen(Fase 3): recibe el veredicto completo y todos los hallazgos con evidencia. Los hallazgos Bloqueantes y Mayor se incorporan al dictamen final.
Condición de bloqueo del pipeline
Solo INCONSISTENTE_DEVOLUCION (Bloqueante de cobertura, C02-001) detiene el pipeline: no se ejecuta soat-auditoria-medica ni soat-deteccion-fraude, y se pasa directamente a soat-dictamen con decisión DEVOLUCIÓN y el hallazgo de cobertura como motivo.
Con INCONSISTENTE_DEVOLUCION_DOCUMENTAL (Bloqueantes documentales: C01, C04, C05, C02-003, C02-004) el pipeline no se detiene: soat-auditoria-medica y soat-deteccion-fraude se ejecutan igual, y soat-dictamen (regla D02-DOC) consolida la devolución documental con los hallazgos por línea. Ver issue #435.