Motor de razonamiento de elegibilidad para ensayos clínicos

Elegibilidad de ensayos que se calcula, no se predice.

Un modelo de emparejamiento de pacientes lee una nota como texto, así que confunde un catéter venoso central con un cateterismo cardíaco y excluye a un paciente que era elegible. TrialProof deja que un LLM solo lea la nota, resuelve el significado a través de un grafo de conocimiento SNOMED-CT y calcula ELIGIBLE, EXCLUDED o NEEDS-REVIEW en código determinista que un LLM no puede anular. Cada veredicto lleva una traza de razonamiento que un regulador puede archivar.

100%

Precisión de decisión en el conjunto de oro etiquetado

vs 53.8% de la línea de base léxica justa (13 casos)

0 vs 3

Pacientes elegibles perdidos

TrialProof pierde 0 donde la línea de base pierde 3

100% vs 0%

Cobertura de la traza de razonamiento

Cada veredicto trazado; idéntico a nivel de byte en una nueva ejecución

Esta es una demostración ejecutable sobre un conjunto de oro fijo y etiquetado. Todos los pacientes, las notas y los protocolos son sintéticos, la ontología es un subgrafo SNOMED-CT curado de 24 conceptos, y conectores como la ingesta FHIR en vivo están simulados.

El paciente elegible que su emparejador descarta

El modo de fallo detrás de las exclusiones indebidas en el emparejamiento de pacientes con IA.

La IA de emparejamiento de pacientes lee las notas clínicas como texto, así que confunde palabras que se parecen pero significan cosas distintas en medicina. El fallo canónico es concreto. Un ensayo de anticoagulante en fase III excluye el cateterismo cardíaco; la nota de un paciente dice colocación de catéter venoso central. Un emparejador por similitud ve dos procedimientos de catéter cardiovascular, les da una puntuación alta y excluye a un paciente que era elegible. Evaluaciones publicadas confirman que los modelos de IA cometen exactamente este error de cateterismo (Fierce Biotech, 2025).

La misma clase de error es más amplia que un solo procedimiento. Cubre la negación, donde «no hay evidencia de diabetes» se empareja como diabetes. Cubre los antecedentes familiares atribuidos al paciente. Y cubre las cláusulas de excepción, como «salvo que se haya completado más de 12 meses antes de la aleatorización», que una puntuación de similitud no puede representar en absoluto. Un modelo base mejor no elimina ninguna de estas, porque no son problemas de lenguaje. Son problemas de lógica.

El coste no es académico. El retraso en el reclutamiento supone 800,000 dólares al día en ventas de prescripción perdidas por cada día que se atrasa un ensayo (Tufts CSDD Impact Report, 2024), y sube a 840,000 dólares al día en oncología y 1.4 millones de dólares al día en ensayos cardiovasculares (Tufts CSDD). El 80% de los ensayos incumple sus plazos de reclutamiento (consenso de la industria, 2025), el fallo de cribado medio cuesta 1,200 dólares (Antidote.me, 2025), y los procedimientos de los ensayos han crecido un 139% más complejos desde 2005 (IQVIA, 2026). Frente a cifras como estas, un paciente elegible cribado por error no es un error de redondeo.

Cómo funciona TrialProof

Los agentes aconsejan sobre la extracción. El código determinista decide la elegibilidad. Esto es neuro-simbólico: un LLM lee la prosa; la lógica simbólica rige sobre el paciente.

Cada paciente se evalúa frente a cada protocolo a través de cinco etapas, transmitidas en vivo a la interfaz. El límite importante es que solo una etapa es probabilística, y nunca decide nada.

1. Leer la historia clínica

Carga el registro sintético del paciente con forma FHIR, su nota en texto libre, los criterios del ensayo y la fecha de aleatorización.

2. Extraer hechos (el único paso probabilístico, solo asesor)

Un LLM intercambiable entre proveedores propone hechos candidatos, cada uno con un tramo verbatim de la nota, un SCTID candidato extraído de un vocabulario cerrado, y una confianza. Aconseja; no decide. Las observaciones codificadas que llegan como FHIR de confianza nunca pasan por el extractor. Cuando se usa el respaldo léxico sin conexión, la consola en vivo lo indica en lugar de ocultarlo.

3. Verificar hechos (verificador adversarial)

Cada hecho propuesto se impugna contra la nota literal con tres comprobaciones: span-present (que captura una entidad alucinada), negación y sujeto (antecedentes familiares frente al paciente). Los hechos rechazados se marcan REJECTED con la comprobación que se disparó y el motivo, y nunca llegan a la decisión.

4. Ensamblar evidencia

El conjunto exacto de hechos verificados que entra en el motor lógico, marcado coded-FHIR frente a texto libre.

5. Calcular veredictos (Python determinista, fuera del marco de agentes)

Un motor de lógica deóntica evalúa criterios de prohibición, temporal-exception, controlled-unless y de requisito mediante subsunción is-a de SNOMED y cálculo de fechas, y emite ELIGIBLE, EXCLUDED o NEEDS-REVIEW con una traza completa. Un LLM no puede anular esta compuerta.

Las etapas deterministas se ejecutan de verdad en decenas de microsegundos por criterio, mientras que el modelo que lee la nota tarda segundos. Ese contraste es el punto, no una afirmación de cribado instantáneo: la parte lenta y falible queda confinada a la lectura, y la decisión a la que alimenta es rápida, barata y reproducible.

La comparación en la demostración es una línea de base léxica justa, y lo es de forma deliberada. Es similitud coseno TF-IDF a nivel de entidad, un método real de similitud vectorial, con una configuración generosa de resolución limpia entidad-a-concepto, y su umbral de decisión validado de forma cruzada en su propio favor (t = 0.6932). Nunca llama al LLM. Sus únicas limitaciones son la jerarquía, la negación, la temporalidad y la lógica de abstención que le faltan, que es toda la tesis. No se ajustó para que fallara.

El razonamiento, desarrollado de extremo a extremo

El paciente sintético P-074 y su cohorte, frente a los protocolos sintéticos ONC-204 y ANTI-3. Cada imagen de abajo es una captura de la app TrialProof en ejecución.

Una vía central no es un cateterismo cardíaco, y solo una jerarquía lo sabe

La nota de UCI de P-074 dice central venous catheter placement for IV medication access. Frente al criterio EXCL-CARDCATH de ANTI-3 (sin cateterismo cardíaco previo), un emparejador por similitud ve dos procedimientos de catéter cardiovascular. TrialProof pregunta a la ontología en su lugar: ¿es Central venous catheterization (392230005) un descendiente is-a de Cardiac catheterization (41976001)? No lo es. Los dos conceptos están en ramas distintas de la jerarquía SNOMED-CT, así que no existe una ruta de subsunción, y el veredicto es ELIGIBLE con una traza de tres pasos que nombra ambos SCTID. Ambos códigos son reales y comprobables en cualquier navegador público de SNOMED. La línea de base léxica justa también devuelve ELIGIBLE aquí, pero con una similitud desnuda de 0.437, sin traza de razonamiento y sin nada que un regulador pudiera archivar.

Traza de razonamiento de TrialProof para EXCL-CARDCATH que muestra que Central venous catheterization 392230005 is-NOT-a Cardiac catheterization 41976001 en una rama distinta de la jerarquía, así que el veredicto es ELIGIBLE, junto a la similitud desnuda de 0.437 de la línea de base, sin procedencia.
La traza del cateterismo cardíaco: una comprobación is-a sobre SCTID reales decide ELIGIBLE, donde la línea de base ofrece una similitud desnuda de 0.437 y ninguna procedencia.

La ontología que el motor consulta de verdad

El motor no consulta todo SNOMED-CT. Recorre un subgrafo curado de 24 conceptos con 22 relaciones is-a. Los conceptos con un SCTID real se dibujan con trazo continuo; los 9 curados para la demostración sin SCTID público llevan el prefijo CUR- y se dibujan con trazo discontinuo, en lugar de hacerse pasar por códigos reales. Los hechos verificados van en verde, los conceptos de criterio van delineados, y las rutas is-a recorridas van en negrita. Las dos cateterizaciones viven visiblemente en ramas distintas, que es exactamente por qué una similitud de cadena o vectorial no puede sustituir a la subsunción.

El subgrafo SNOMED-CT curado de 24 conceptos con 22 relaciones is-a, que muestra Cardiac catheterization y Central venous catheterization en ramas distintas, SCTID reales dibujados con trazo continuo y conceptos CUR- curados para la demo dibujados con trazo discontinuo.
El subgrafo SNOMED-CT, 24 conceptos y 22 relaciones is-a, con las dos cateterizaciones en ramas separadas.

El paciente elegible que la línea de base descarta

La misma nota dice No evidence of diabetes. Frente a EXCL-DM de ONC-204 (sin diagnóstico de diabetes mellitus), la línea de base vectorial empareja el token diabetes con similitud 1.0 y devuelve EXCLUDED, porque no tiene un modelo de negación. El verificador de TrialProof elimina la mención negada antes de que pueda llegar a la decisión, así que el veredicto es ELIGIBLE. Este es el paciente elegible que un emparejador por similitud descarta, y en el conjunto de oro es uno de los tres que pierde la línea de base.

La traza de razonamiento de EXCL-DM para una nota que dice No evidence of diabetes: la línea de base empareja diabetes con similitud 1.0 y devuelve EXCLUDED, mientras que TrialProof elimina la mención negada y devuelve ELIGIBLE.
Negación: la línea de base excluye con similitud 1.0; TrialProof elimina la mención negada y mantiene al paciente elegible.

Un verificador que desafía al extractor

Para P-106 el extractor propone un hecho de carboplatin que no tiene un tramo de apoyo en la nota, una alucinación plantada. El verificador adversarial ejecuta span-present, negación y sujeto sobre cada hecho propuesto; el hecho de carboplatin falla span-present (span not found in note) y se marca REJECTED, así que nunca llega a la decisión. En el conjunto de oro el verificador rechazó 7 instancias de hechos (3 hechos incorrectos distintos: una mención negada de diabetes, una atribución de cáncer de mama por antecedentes familiares, y este carboplatin alucinado) en 4 de las 13 ejecuciones de caso puntuadas. Los agentes aconsejan sobre la extracción; el código determinista decide la elegibilidad.

El panel de verificar-hechos de P-106 que muestra un hecho de carboplatin marcado REJECTED, comprobación fallida span-present, motivo span not found in note, de modo que la entidad alucinada nunca llega a la decisión de elegibilidad.
El verificador rechaza un carboplatin alucinado en span-present antes de que pueda llegar a una decisión.

Una excepción que una puntuación de similitud no puede representar

P-101 completó carboplatin y pemetrexed adyuvantes, última infusión 03/2025. EXCL-PLAT de ONC-204 prohíbe la terapia previa con platino salvo que se haya administrado como adyuvante o neoadyuvante y se haya completado más de 12 meses antes de la aleatorización (2026-04-15). El motor confirma que Carboplatin (386905003) is-a Platinum-containing antineoplastic agent, calcula el intervalo en 13 meses, satisface la excepción y devuelve ELIGIBLE con una traza de cuatro pasos. Cuando la misma cláusula se prueba en un paciente de intención paliativa, la excepción no aplica y el veredicto pasa a EXCLUDED. Mismo criterio, veredictos opuestos, ambos correctos, porque es el motor lógico y no un umbral.

La traza de razonamiento de EXCL-PLAT para P-101 que muestra Carboplatin 386905003 is-a Platinum-containing antineoplastic agent, intención adyuvante, intervalo de 13 meses mayor que 12, así que la excepción se satisface y el veredicto es ELIGIBLE.
Excepción temporal satisfecha: platino adyuvante completado 13 meses antes de la aleatorización, calculado por cálculo de fechas.

El número que a un responsable de operaciones clínicas le importa de verdad

Sobre un conjunto de oro fijo de 13 casos etiquetados extraídos de 7 pacientes sintéticos a través de 2 protocolos sintéticos, puntuado contra la línea de base léxica validada de forma cruzada en t = 0.6932, TrialProof obtiene un 100% de precisión de decisión frente al 53.8% de la línea de base, pierde 0 pacientes elegibles donde la línea de base pierde 3, y lleva una traza de razonamiento reproducible en el 100% de las decisiones frente al 0% de la línea de base. Se abstiene de forma segura dos veces con NEEDS-REVIEW donde la línea de base adivina, y volver a ejecutar los 13 casos produce veredictos y trazas idénticos a nivel de byte (13 de 13). Atribuimos cada cifra a este conjunto de oro etiquetado, nunca como una afirmación de mundo abierto.

Las tarjetas del banco de pruebas del conjunto de oro: precisión de decisión 100% versus 53.8% de la línea de base, recuperación de pacientes elegibles 100% versus 66.7%, pacientes elegibles perdidos 0 versus 3, y cobertura de traza auditable 100% versus 0%, con una nota de reproducibilidad de que volver a ejecutar 13 casos produce veredictos idénticos a nivel de byte.
El conjunto de oro etiquetado de 13 casos: 100% vs 53.8% de precisión, 0 vs 3 pacientes elegibles perdidos, 100% vs 0% de cobertura de traza, idéntico a nivel de byte en una nueva ejecución.

Similitud vectorial frente a un motor de razonamiento

La misma comparación que puntúa la demostración, dimensión por dimensión.

Dimensión Línea de base léxica justa TrialProof
Quién decide la elegibilidad Una puntuación de similitud por encima de un umbral Un motor de lógica deóntica determinista, fuera de los agentes
Jerarquía / is-a Ninguna, solo proximidad de tokens Subsunción is-a de SNOMED-CT
Negación (no hay evidencia de diabetes) Emparejado como presente Eliminado por el verificador
Atribución de antecedentes familiares Atribuido al paciente Rechazado en la comprobación de sujeto
Cláusulas de excepción temporal No representable Cálculo de fechas sobre la fecha de aleatorización
Laboratorio o signo vital ausente Adivina, nunca se abstiene NEEDS-REVIEW, nombrando lo que falta
Traza de razonamiento Ninguna, un número de similitud desnudo Traza completa, exportada como CDISC SDTM IE
Reproducibilidad No aplicable Idéntico a nivel de byte en una nueva ejecución (13 de 13)

Lo que esta demostración no hace

  • ✓ No afirma ser 100% precisa de forma universal. La cifra del 100% es precisión de decisión en un conjunto de oro etiquetado fijo de 13 casos, nunca una garantía de mundo abierto y nunca una promesa de acertar en cada historia clínica.
  • ✓ No presenta a sus pacientes como reales. Todos los pacientes, las notas y los protocolos son sintéticos, sin PHI, sin EHR en vivo y sin un ensayo real. P-074, P-101 a P-106, ONC-204 y ANTI-3 son artefactos fabricados.
  • ✓ No usa SNOMED-CT completo. La ontología es un subgrafo curado de 24 conceptos (15 SCTID reales, 9 curados y dibujados con trazo discontinuo). SNOMED-CT completo, MedDRA y LOINC son la vía de producción aplazada.
  • ✓ No usa conectores en vivo. La ingesta FHIR R4 de EHR, el almacén de grafo y el LLM clínico están simulados o son intercambiables entre proveedores. Epic App Orchard y Oracle live FHIR, los conectores CTMS, y el endurecimiento SOC 2 o HIPAA BAA están aplazados.
  • ✓ No está autorizado por la FDA, no es CDS-exempt, no está certificado HIPAA ni certificado SOC 2. La guía Clinical Decision Support de la FDA de enero de 2026 es nuestro alineamiento y dirección, no una autorización. Esto no constituye consejo médico y no toma decisiones clínicas.
  • ✓ No aporta clientes, patrocinadores, CROs, pilotos, testimonios ni cifras de ROI. No existen. Esta es una demostración que prueba el mecanismo, no un despliegue.

Preguntas que los compradores hacen de verdad

¿En qué se diferencia esto del emparejamiento de pacientes de Deep 6, Tempus o IQVIA?

TrialProof no es una red de datos ni una plataforma de emparejamiento en la nube, y no es un clon de esas herramientas. Es la capa de razonamiento determinista y de procedencia que les falta: la parte que hace el veredicto de elegibilidad computable, comprobable y archivable. Una plataforma de emparejamiento le entrega una lista ordenada con una puntuación; TrialProof le entrega ELIGIBLE, EXCLUDED o NEEDS-REVIEW con los ID de concepto SNOMED y la arista del grafo que lo decidió. Está pensado para sentarse junto a un pipeline de emparejamiento, no para sustituir la red de datos que hay debajo.

¿Por qué la IA de emparejamiento de pacientes excluye a pacientes elegibles?

Porque lee una nota clínica como texto y puntúa la similitud, así que confunde palabras que se parecen pero significan cosas distintas en medicina. Una nota que dice central venous catheter placement puntúa alto contra un ensayo que excluye el cateterismo cardíaco, y el paciente queda excluido por error. El mismo fallo cubre la negación (no hay evidencia de diabetes emparejada como diabetes), los antecedentes familiares atribuidos al paciente, y las cláusulas de excepción que una puntuación de similitud no puede representar en absoluto. Evaluaciones publicadas confirman que los modelos de IA cometen exactamente este error de cateterismo (Fierce Biotech, 2025).

¿Puedo obtener una pista de auditoría que un regulador pueda archivar por cada decisión de elegibilidad?

Sí. Cada decisión se exporta como un registro CDISC SDTM IE en JSON y CSV, una fila por paciente y criterio, que lleva el criterio, el veredicto y la traza completa de razonamiento determinista que nombra los SCTID y la operación deóntica. Donde un hecho coincidió, la fila también lleva la ruta is-a y, para hechos derivados de la nota, el tramo verbatim. En el conjunto de oro de 13 casos, el 100% de las decisiones de TrialProof lleva una traza reproducible y la línea de base lleva el 0%, y volver a ejecutar el conjunto produce una salida idéntica a nivel de byte (13 de 13).

¿Usa códigos SNOMED reales u inventados?

Cada concepto que la demostración cita para una decisión lleva un SCTID real, comprobable en cualquier navegador público de SNOMED: Central venous catheterization es 392230005 y Cardiac catheterization es 41976001, y están en ramas distintas, que es por qué ninguna ruta de subsunción los conecta. El motor consulta un subgrafo curado de 24 conceptos con 22 relaciones is-a, no SNOMED-CT completo. Los 9 conceptos curados para la demostración sin SCTID público llevan el prefijo CUR- y se dibujan con trazo discontinuo, en lugar de hacerse pasar por códigos reales. SNOMED-CT completo, MedDRA y LOINC son la vía de producción aplazada.

¿Los datos de los pacientes son reales, y esto cumple HIPAA?

Todos los datos son sintéticos. No hay PHI real, ni EHR en vivo, ni un ensayo real; los pacientes, las notas y los protocolos son artefactos fabricados. Esta es una demostración ejecutable que prueba el mecanismo, no un pipeline desplegado, así que no está certificado HIPAA, no está certificado SOC 2, no está autorizado por la FDA ni es CDS-exempt, y no toma decisiones clínicas. La guía Clinical Decision Support de la FDA de enero de 2026 es el marco pertinente para una ayuda de emparejamiento con un humano en el bucle, y es nuestra dirección, no una autorización que tengamos.

¿Un LLM mejor no arreglará esto simplemente?

No, porque estos no son problemas de lenguaje, son problemas de lógica. Una puntuación de similitud no puede representar is-a, no puede representar not y no puede representar «salvo que se haya completado más de doce meses antes de la aleatorización», y ninguna cantidad de indicaciones ni de contexto los añade. Así que dejamos que el modelo haga lo único en lo que es genuinamente bueno, leer prosa desordenada y proponer hechos con el tramo del que los leyó, luego un verificador adversarial descarta lo que la nota no respalda, y código determinista sobre una ontología médica calcula el veredicto. El LLM no puede anular esa compuerta, que es lo que hace que la misma historia clínica produzca la misma respuesta en cada ejecución.

¿Qué significa realmente la cifra de precisión del 100%?

Es un 100% de precisión de decisión en un conjunto de oro etiquetado fijo de 13 casos, extraído de 7 pacientes sintéticos a través de 2 protocolos sintéticos, puntuado contra una línea de base léxica justa cuyo umbral se validó de forma cruzada en su propio favor (t = 0.6932). Nunca es una afirmación universal ni de mundo abierto, y no es lo mismo que este producto acierte en cada historia clínica posible. En ese mismo conjunto TrialProof pierde 0 pacientes elegibles donde la línea de base pierde 3, y se abstiene de forma segura dos veces con NEEDS-REVIEW en lugar de adivinar.

Investigación técnica

La investigación detrás de esta demostración: la arquitectura, el diseño de verificación y el plano empresarial.

¿Emparejar pacientes con ensayos sin una traza que un regulador pueda archivar?

La capa de razonamiento determinista y de procedencia es la parte difícil. Nosotros la construimos.

Si su equipo está sopesando cómo poner una decisión de elegibilidad delante de un regulador sin pedirle que confíe en una puntuación de similitud, nos gustaría de verdad oír cómo lo están pensando. El problema es de toda la industria y las respuestas también lo serán.

Evaluación de razonamiento de elegibilidad

  • ✓ Mapear dónde su emparejador de pacientes puede excluir a un paciente elegible
  • ✓ Separar lo que el LLM debe extraer de lo que el código debe decidir
  • ✓ Definir la ontología, la negación y las reglas temporales que necesitan sus protocolos
  • ✓ Especificar la traza CDISC SDTM IE que su equipo regulatorio puede archivar

Construir la capa de razonamiento

  • ✓ Un motor de lógica deóntica determinista sobre su ontología real
  • ✓ Un verificador adversarial para negación, sujeto y hechos alucinados
  • ✓ Subsunción SNOMED-CT más cálculo de fechas, reproducible en cada nueva ejecución
  • ✓ Extracción intercambiable entre proveedores, con el modelo sin anular nunca un veredicto
Redes sociales

También publicado en