Un protocolo de ensayo clínico traducido de texto médico desordenado a un grafo de conocimiento estructurado, que representa el tema central del artículo: pasar de la sintaxis a la lógica en el emparejamiento de pacientes.
Artificial IntelligenceHealthcareClinical Trials

El error de 800 000 dólares al día: cómo una IA que confunde un catéter está matando el descubrimiento de fármacos

Ashutosh SinghalAshutosh Singhal4 de febrero de 202613 min

Era un martes por la noche y estaba mirando fijamente una hoja de cálculo que no tenía ningún sentido.

Habíamos estado ejecutando un piloto: probando qué tan bien un modelo de lenguaje grande podía cribar historiales de pacientes frente a los criterios de elegibilidad de un ensayo oncológico. El protocolo era sencillo, para lo que suelen ser los protocolos oncológicos: un anticoagulante novedoso con una lista de criterios de exclusión, uno de los cuales era "cateterismo cardíaco previo". Cateterismo del corazón. Un catéter introducido en las cavidades del corazón para evaluar la función coronaria. Un procedimiento cardíaco grave e invasivo.

La IA había marcado a un paciente como no elegible. Motivo: cateterismo cardíaco. Abrí el historial del paciente. El procedimiento documentado era una punción venosa central — una vía central colocada en la vena yugular para la administración de medicación. Es un procedimiento de acceso vascular junto a la cama del paciente. Las enfermeras lo hacen en la UCI. No es un procedimiento cardíaco. No se le parece en nada.

Pero el modelo vio "catéter", vio "venoso", vio que la nota estaba escrita en una unidad de cuidados cardíacos y concluyó: es lo mismo. El paciente desapareció. Excluido. Nunca llegó al coordinador del centro. Y esto es lo que me atormentaba: nadie se habría dado cuenta. El sistema habría descartado silenciosamente a un paciente elegible, y el ensayo habría tenido una persona menos, y nadie habría sabido por qué el reclutamiento iba rezagado.

Ese fue el momento en que dejé de creer que mejores prompts arreglarían el reclutamiento de ensayos clínicos. El problema no es el vocabulario del modelo. El problema es que estamos usando una máquina de probabilidad para hacer el trabajo de la lógica.

¿Por qué el 80 % de la cartera de las farmacéuticas se queda atascado en el reclutamiento?

La industria farmacéutica tiene un secreto sucio en el que a ninguna presentación de resultados le gusta detenerse: aproximadamente el 80 % de los ensayos clínicos no cumple sus plazos de reclutamiento. No porque la ciencia esté equivocada. No porque los pacientes no existan. Sino porque el proceso de encontrar pacientes elegibles y emparejarlos con los ensayos está roto en un nivel fundamental.

Permítanme ponerle una cifra en dólares a esa disfunción. Según el Tufts Center for the Study of Drug Development, un solo día de retraso en el desarrollo de un fármaco cuesta ahora aproximadamente 800 000 dólares en ventas de recetas perdidas para un activo de alto rendimiento. En el área cardiovascular y hematología, esa cifra supera los 1,3 millones de dólares al día. Para un retraso de seis meses en el reclutamiento de un fármaco oncológico competitivo — el tipo de retraso que ocurre de forma rutinaria — te enfrentas a una cifra que puede dejar comercialmente muerta a su llegada a una terapia científicamente superior.

El cuello de botella en el descubrimiento de fármacos ya no es la ciencia. Es la sintaxis.

Y la realidad operativa es aún más sombría que la financiera. El 37 % de los centros de investigación recluta por debajo de lo previsto, y el 11 % no logra reclutar a un solo paciente. Cada fallo de cribado — un paciente que parece elegible sobre el papel pero no lo es — cuesta unos 1200 dólares. Cuando tu herramienta de IA genera 100 "coincidencias" y solo 5 son reales, no has automatizado el reclutamiento. Has lanzado un ataque de denegación de servicio contra tus propios centros clínicos.

Vi cómo ocurría esto. Coordinadores de centros que se habían entusiasmado con nuestros primeros prototipos empezaron a ignorar por completo las listas de coincidencias. "Tu herramienta me da basura", me dijo una en una llamada. No estaba equivocada. Volvió a escanear PDFs manualmente. Ctrl+F. El verdadero estado del arte de la industria.

El catéter que rompió mi fe en los LLM

Permítanme profundizar en aquel error del martes por la noche, porque ilustra algo que la mayoría de las presentaciones de IA en salud pasan por alto.

Cuando un modelo de lenguaje grande procesa texto, convierte las palabras en vectores: puntos en un espacio matemático de alta dimensión. Las palabras que aparecen en contextos similares terminan cerca unas de otras. "Cateterismo cardíaco" y "cateterismo venoso central" son, en el espacio vectorial, prácticamente vecinos. Ambos implican catéteres. Ambos implican el sistema vascular. Ambos aparecen en notas clínicas rodeados de una jerga médica similar.

Pero son procedimientos completamente distintos dirigidos a estructuras anatómicas distintas, con perfiles de riesgo distintos e implicaciones clínicas distintas. Uno va al corazón. El otro va a una vena. El protocolo excluía el primero. El paciente tenía el segundo. Y la IA no podía distinguir la diferencia porque no entiende de anatomía: entiende de proximidad entre palabras.

Esto no es un caso extremo. Los estudios que evalúan modelos de IA para el emparejamiento en ensayos han identificado exactamente este modo de fallo: modelos que concluyen incorrectamente que el cateterismo cardíaco es lo mismo que una punción venosa central, lo que conduce a exclusiones erróneas. Es una clase de error, no un fallo aislado.

Llevé esto a mi equipo a la mañana siguiente. Uno de nuestros ingenieros — un tipo brillante, con formación en aprendizaje profundo — sugirió que podríamos arreglarlo con un mejor ajuste fino. Más datos de entrenamiento médico. Ventanas de contexto más grandes. Recuerdo la discusión que siguió, porque fue la discusión que dio forma a toda nuestra dirección técnica. Mi postura era simple, y probablemente la dije con demasiada brusquedad: no puedes salir de una ontología faltante a fuerza de ajuste fino.

Un LLM no sabe que el "cateterismo cardíaco" vive en una rama distinta del árbol de procedimientos médicos que el "cateterismo venoso central". No tiene un árbol. Tiene una niebla de asociaciones estadísticas. Y ninguna cantidad de datos de entrenamiento le dará la comprensión rígida y jerárquica que proporciona una ontología médica: el conocimiento de que el Procedimiento A es un subtipo de "Procedimiento sobre el corazón" mientras que el Procedimiento B es un subtipo de "Cateterismo de vena", y que son categóricamente distintos.

Esa discusión terminó con nosotros reconstruyendo nuestra arquitectura desde cero.

¿Qué es la fenotipificación impulsada por ontología y por qué debería importarte?

Un diagrama de árbol ramificado que muestra cómo la jerarquía Es-Un (Is-A) de SNOMED CT separa el "cateterismo cardíaco" y el "cateterismo venoso central" en ramas completamente distintas, haciendo que el error central del artículo resulte inmediatamente obvio a la vista.

Aquí está la idea en lenguaje sencillo: en lugar de pedirle a una IA que lea historiales médicos y adivine qué significan, obligamos a la IA a traducir cada concepto médico que encuentra a un código estandarizado de SNOMED CT — el sistema de terminología clínica más completo del mundo — antes de que tome cualquier decisión.

SNOMED CT no es un diccionario. Es un enorme grafo dirigido donde los conceptos médicos están conectados por relaciones lógicas. La más importante es la relación Es-Un (Is-A). "Angiografía coronaria" es-un "cateterismo cardíaco" es-un "procedimiento sobre el corazón". "Cateterismo venoso central" es-un "cateterismo de vena" es-un "inserción de catéter vascular". Ramas distintas. Padres distintos. Significado distinto.

Así que cuando nuestro sistema encuentra un protocolo que excluye el "cateterismo cardíaco" y un historial de paciente que menciona la colocación de una vía central, no compara cadenas de texto ni vectores. Le pregunta a la ontología: ¿Es el procedimiento de este paciente un subtipo del procedimiento excluido? El grafo responde no. El paciente permanece elegible. De forma determinista. Cada vez.

Dejamos de preguntar "¿estas palabras se parecen?" y empezamos a preguntar "¿están estos conceptos relacionados lógicamente?". Ese único cambio lo cambió todo.

Esto funciona incluso cuando los médicos escriben en abreviaturas. "Cate cardíaco", "angio", "CCI", "vía central", "inserción de CVC" — SNOMED CT asigna todas estas variantes a identificadores de concepto específicos. Una vez que operas sobre identificadores de concepto en lugar de sobre cadenas de texto, la ambigüedad se desvanece. Emparejas significado con significado, no palabra con palabra.

Escribí sobre la arquitectura técnica detrás de esto — las jerarquías de SNOMED CT, la poscoordinación para la lateralidad y la gravedad, la construcción de fenotipos computacionales — en la versión interactiva de nuestra investigación. Pero la idea central es simple: la IA médica necesita un mapa de la medicina, no solo un modelo estadístico del lenguaje médico.

¿Cómo se analiza sintácticamente un "a menos que"?

Una comparación lado a lado que muestra cómo un buscador de palabras clave excluye incorrectamente a un paciente con hipertensión controlada, frente a cómo un solucionador de lógica deóntica evalúa correctamente el permiso condicional y determina la elegibilidad.

La ontología maneja el qué: ¿de qué conceptos médicos estamos hablando? Pero los protocolos de ensayos clínicos tienen otra capa de complejidad que la IA genérica maneja pésimamente: la lógica de la elegibilidad.

Aquí hay un criterio de exclusión real de un ensayo oncológico:

"Excluir a los pacientes con hipertensión, a menos que esté bien controlada con medicación estable durante al menos 3 meses."

Un buscador de palabras clave ve "hipertensión" y excluye al paciente. Un filtro booleano ve hipertensión = VERDADERO y excluye. Ambos enfoques descartan a un paciente que tiene hipertensión pero es perfectamente elegible porque su presión arterial ha estado controlada y estable durante meses.

Esto me volvió un poco loco cuando lo encontré por primera vez a escala. Extrajimos los criterios de elegibilidad de un lote de protocolos oncológicos de Fase II y III y descubrimos que la mayoría contenía exclusiones condicionales: cláusulas de "a menos que", cláusulas de "excepto cuando", dependencias temporales como "dentro de 6 meses" o "completado más de 90 días antes". No son casos extremos. Son la norma. Y cada una de ellas es una trampa para los sistemas que no pueden razonar sobre condiciones, permisos y tiempo.

Recurrimos a la lógica deóntica — una rama de la lógica formal que se ocupa de las obligaciones, los permisos y las prohibiciones. Es la lógica de las normas y las reglas, desarrollada originalmente por filósofos, y encaja a la perfección con los criterios de los ensayos clínicos. Tener hipertensión está prohibido — a menos que también se cumplan las condiciones de permiso de presión arterial controlada y medicación estable durante la duración requerida. El sistema modela esto como una expresión lógica formal, revisa la cronología del paciente y calcula la elegibilidad con precisión matemática.

Otro patrón que vemos constantemente:

"Los pacientes no deben haber recibido quimioterapia previa, a menos que haya sido una terapia neoadyuvante completada hace más de 6 meses."

La IA tiene que verificar simultáneamente tres cosas: ¿Recibió el paciente quimioterapia? ¿Fue su intención neoadyuvante? ¿Y terminó más de seis meses antes de la fecha de referencia? Manejamos esto con lo que la literatura llama Lógica de Conjuntos Temporales (Temporal Ensemble Logic): el sistema construye una cronología del historial clínico del paciente y sitúa los eventos dentro de ventanas de observación válidas.

Una búsqueda de palabras clave ve "quimioterapia" en el historial y entra en pánico. Nuestro sistema ve la quimioterapia, revisa el atributo de intención, mide la diferencia de tiempo y determina correctamente la elegibilidad.

La arquitectura que nadie pidió (pero que todos necesitan)

Un diagrama de arquitectura de tres capas que muestra los roles distintos del LLM (percepción/extracción), el grafo de conocimiento de SNOMED CT (mapeo/desambiguación) y el solucionador de lógica simbólica (razonamiento determinista), con un flujo de datos claro entre ellos.

Cuando describo nuestro enfoque a inversores y ejecutivos farmacéuticos, a veces recibo una mirada particular: la mirada que dice "¿por qué lo estás complicando tanto? Simplemente usa GPT."

Recibí esa mirada de un socio potencial cuando llevábamos alrededor de un año de desarrollo. Era un tipo listo, dirigía el equipo de innovación digital de una CRO, y creía sinceramente que un wrapper de GPT-4 bien prompteado con algo de generación aumentada por recuperación acoplado resolvería el problema. "Los modelos mejoran cada trimestre", me dijo. "Estás sobreingenierizando esto."

Saqué nuestros resultados de las pruebas. El mismo conjunto de datos, los mismos criterios de elegibilidad. El wrapper de GPT de su equipo: precisión variable entre ejecuciones — literalmente respuestas distintas sobre el mismo paciente según cuándo lo ejecutaras. Sin rastro de auditoría. Sin forma de explicar por qué se incluyó o excluyó a un paciente. Y una precisión que llegaba como máximo al 63-87 % según la complejidad de los criterios.

Nuestro sistema neuro-simbólico: determinista, reproducible, con más del 95 % de precisión y un rastro de razonamiento completo para cada decisión.

La FDA no acepta "la IA lo creyó así" como justificación. Necesitan una prueba lógica. Eso no es algo deseable: es la diferencia entre una herramienta que potencia la investigación clínica y un juguete que impresiona a las audiencias de las demostraciones.

Así es como funciona realmente la arquitectura, sin ahogarte en detalles de implementación:

El LLM lee. Ingiere la realidad desordenada y no estructurada de los historiales médicos — PDFs escaneados, notas manuscritas, narrativas de los médicos — y su único trabajo es extraer entidades médicas y normalizarlas. Lee "pte se queja de dolor torácico" y produce el concepto SNOMED de dolor torácico. Eso es todo. El LLM es la capa de percepción. Nunca toma una decisión de elegibilidad.

El grafo de conocimiento mapea. Las entidades extraídas se mapean a identificadores de concepto de SNOMED CT, desambiguados por el contexto. "Frío" el virus frente a "frío" la temperatura. La estructura del grafo resuelve la ambigüedad.

El solucionador de lógica razona. Aquí es donde ocurre la determinación real de la elegibilidad: un razonador simbólico determinista que aplica reglas de lógica deóntica contra el fenotipo estructurado del paciente. Revisa las relaciones Es-Un, calcula duraciones temporales, evalúa permisos condicionales. Dadas las mismas entradas, siempre produce la misma salida.

También usamos GraphRAG en lugar de la recuperación estándar basada en vectores. El RAG estándar recupera fragmentos de documentos en función de la similitud de palabras. GraphRAG recorre relaciones. Si un ensayo excluye "cualquier fármaco que interactúe con las enzimas CYP3A4" y un paciente está tomando el Fármaco B, el RAG estándar podría pasar por alto la conexión si el historial del paciente nunca dice explícitamente "el Fármaco B es un inhibidor de CYP3A4". GraphRAG lo sabe, porque el grafo de conocimiento contiene la relación: el Fármaco B inhibe la CYP3A4. Razonamiento multisalto. El tipo de conexión que un farmacéutico hace intuitivamente pero que un sistema de coincidencia de texto nunca haría.

Para el desglose técnico completo de la arquitectura — la integración neuro-simbólica de Tipo 4, la decodificación consciente de conceptos, la capa de interoperabilidad FHIR/CDISC — consulta nuestro artículo de investigación detallado.

"¿Pero no mejorarán simplemente los modelos?"

La gente siempre objeta en este punto, y entiendo por qué. La trayectoria de los LLM es genuinamente impresionante. Cada pocos meses, un nuevo modelo obtiene una puntuación más alta en los benchmarks médicos. Entonces, ¿por qué no esperar?

Porque el problema no es la capacidad: es la arquitectura. Un LLM es un predictor probabilístico de tokens. Hacerlo más grande y entrenarlo con más texto médico lo convierte en un mejor predictor probabilístico de tokens. No lo convierte en un motor de lógica. No le da determinismo. No le da un rastro de auditoría. Y en una industria regulada donde la FDA y la EMA necesitan saber exactamente por qué el Paciente n.º 4271 fue excluido del Ensayo XYZ-003, "el modelo predijo que esta era la respuesta más probable" no es aceptable.

También está el problema de la privacidad que no desaparece con la escala. Enviar historiales de pacientes no estructurados a las API de modelos basados en la nube — incluso las empresariales — crea una exposición a HIPAA y GDPR que ninguna cantidad de acuerdos BAA mitiga por completo. Nuestra arquitectura mantiene los datos de los pacientes dentro de enclaves seguros. La capa de razonamiento simbólico y el grafo de conocimiento se ejecutan localmente. La capa neuronal puede ser un modelo local de código abierto. La información sanitaria protegida nunca sale del cortafuegos.

Y luego está el problema de la reproducibilidad, que me parece el más condenatorio. Pasa el mismo historial de paciente por un LLM dos veces con el mismo prompt, y puedes obtener respuestas distintas. Cambia el ajuste de temperatura, ajusta la ventana de contexto, reformula ligeramente la pregunta — un resultado distinto. Los ensayos clínicos requieren decisiones 100 % reproducibles. El marco regulatorio lo exige. La ética lo exige.

Los pacientes que estamos perdiendo

He pasado la mayor parte de este ensayo hablando de arquitectura y economía, pero quiero terminar en un lugar más honesto.

Para los pacientes con cáncer metastásico, o LMA, o un trastorno genético raro, un retraso de seis meses en el reclutamiento no es una partida en un modelo financiero. Es la diferencia entre acceder a una terapia potencialmente curativa y no hacerlo. Cuando nuestro sistema excluye erróneamente a un paciente elegible — porque confundió dos procedimientos con catéter, o porque no pudo analizar sintácticamente una cláusula de "a menos que" — ese paciente no recibe una notificación que diga "lo sentimos, la IA cometió un error". Simplemente nunca se entera del ensayo. Su oncólogo nunca recibe la alerta. La plaza queda sin cubrir, o va a parar a otra persona, y el paciente continúa con el tratamiento estándar, sin saber jamás que existía una opción.

Eso es en lo que pienso cuando alguien me dice que simplemente use una API de wrapper.

Construimos Veriprajna porque la brecha entre lo que la IA promete en el ámbito sanitario y lo que realmente ofrece no es un problema de marketing: es un problema de ingeniería. La industria eligió la arquitectura fácil (lanzarle un LLM) en lugar de la arquitectura correcta (darle al LLM una ontología y un solucionador de lógica y restringirlo a hacer solo aquello en lo que es bueno).

No vamos a llegar a la medicina de precisión a fuerza de ingeniería de prompts. Necesitamos sistemas que razonen, no sistemas que adivinen con confianza.

La cura para la crisis del reclutamiento no son mejores modelos de lenguaje. Es el reconocimiento de que la elegibilidad es un problema de lógica disfrazado de lenguaje. Despoja el texto no estructurado, mapéalo a una ontología médica, aplica el razonamiento formal, y de repente ese 80 % de ensayos que incumplen los plazos de reclutamiento empieza a parecer un problema resoluble en lugar de una inevitabilidad de la industria.

Deja de emparejar palabras. Empieza a emparejar pacientes. La diferencia es un grafo de conocimiento, un solucionador de lógica y la voluntad de construir algo más difícil que un wrapper.

Related Research

Also Published On