
Every day a clinical trial delays enrollment, the sponsoring company loses roughly $800,000 in future revenue. That's not a typo — it's the Tufts Center for the Study of Drug Development's updated estimate for a high-performing pharmaceutical asset. For blockbuster cardiovascular drugs, the figure climbs past $1.4 million daily. Yet approximately 80% of clinical trials fail to meet their enrollment timelines, and 11% of research sites never enroll a single patient. The bottleneck isn't a shortage of sick people. It's that our AI tools for matching patients to trials are fundamentally broken — they read words when they should be understanding medicine.
We've spent considerable time studying why automated recruitment systems produce so many wrong answers, and the root cause isn't what most people assume. It's not bad data. It's not insufficient computing power. It's that the industry is trying to solve a logic problem with a probability tool.
The $1,200 Mistake Nobody Talks About
When an AI system flags a patient as a potential trial candidate, a site coordinator has to manually verify that match. If the patient turns out to be ineligible — a "screen failure" — that verification costs approximately $1,200 in wasted time, testing, and administrative effort. Multiply that by the hundreds of false positives that low-precision tools generate, and you've created what amounts to a denial-of-service attack on your own research sites.
Coordinators learn fast. If a tool delivers 100 candidates and only 5 are genuinely eligible, the coordinator stops trusting the tool within weeks. They revert to manually scanning PDFs and doing the medical equivalent of Ctrl+F. More automation, paradoxically, produces less efficiency.
The industry doesn't have a patient shortage problem. It has a patient identification problem.
The growing complexity of modern trial protocols makes this worse. Today's eligibility criteria aren't simple checklists. They're dense logical structures with dozens of conditional clauses, temporal dependencies, and biomarker requirements that interlock in ways that exhaust both human reviewers and generic AI systems.
A Catheter Is Not a Catheter

The clearest way to understand why keyword-based AI fails is through a specific clinical example — one that represents an entire class of errors we've documented in our research.
Imagine a trial for a novel anticoagulant that excludes patients who've had cardiac catheterization — a procedure where a catheter is threaded into the heart's chambers or coronary arteries. The medical logic is sound: this procedure implies recent cardiovascular instability.
Now imagine a patient whose medical record mentions a central venous puncture — a bedside procedure where a catheter is placed into a large vein to deliver medication or fluids. Completely different anatomy, completely different risk profile, completely different clinical significance.
A generic AI system — whether it's a keyword matcher or a large language model (LLM) operating on word similarity — sees "catheter," "venous," "puncture," and possibly "cardiac" (if the procedure happened in a cardiac care unit). In the mathematical space where these models represent words, "cardiac catheterization" and "central venous catheterization" sit close together. Both involve catheters. Both involve the vascular system.
The AI concludes they're the same thing. The patient gets excluded. An eligible participant vanishes from the trial.
This isn't hypothetical. Studies evaluating AI models for trial matching have identified exactly this failure mode — models concluding that cardiac catheterization is the same as a central venous puncture. We explored this problem and its solution in depth in our interactive analysis.
Why "Better Prompts" Won't Fix This
The instinctive response from many teams is that better prompt engineering will solve the problem. It won't, and the reasons are structural.
Large language models are prediction engines. They calculate the most likely next word based on patterns in their training data. They are not logic engines. The same LLM, given the same patient record and the same eligibility criteria, might rule a patient eligible on one run and ineligible on the next — depending on subtle variations in how the question is phrased or even the model's internal randomness settings.
Clinical trials can't tolerate that. Regulators need to know exactly why a patient was included or excluded, with a reproducible audit trail. A system that gives different answers on Tuesday than it gave on Monday isn't a decision support tool — it's a liability.
Then there's hallucination. When a patient's medical notes are ambiguous, an LLM may invent a diagnosis to fill the gap. It might fabricate a comorbidity that excludes an eligible patient, or — more dangerously — invent a medical clearance that includes someone who shouldn't be in the trial.
You cannot audit a guess. Regulators don't accept "probably eligible."
Teaching AI to Think in Medical Concepts, Not Words
The fix requires a fundamental shift: from matching text strings to mapping standardized medical concepts. Our approach uses SNOMED CT (Systematized Nomenclature of Medicine — Clinical Terms), the world's most comprehensive clinical terminology system, as the ground truth for AI reasoning.
SNOMED CT isn't a dictionary. It's a structured map of medical knowledge organized as a hierarchy of relationships. Every medical concept has a unique identifier and a defined position in a tree of parent-child relationships. "Cardiac catheterization" lives under "Procedure on heart." "Central venous catheterization" lives under "Catheterization of vein." Different branches. Different ancestors. Unambiguous.
When our system encounters the catheter question, it doesn't search for words. It asks: Is the patient's procedure a subtype of the excluded procedure? The hierarchy answers no. The patient stays eligible. And this holds true regardless of whether the doctor wrote "Central Line Placement," "CVC Insertion," or any other synonym — because the system maps every phrase to its unique concept code before any logic runs.
This same structure handles the chaos of medical documentation. A doctor might write "Heart Cath," "Angio," "Coronary Angiography," or "LHC." A keyword system needs to be manually programmed with every possible variation and will still miss novel phrasings. A concept-based system maps all of them to the same code automatically.
We call the result a computational phenotype — a structured, coded representation of a patient's exact clinical state that distinguishes between a confirmed diagnosis, a suspected finding, and a completed procedure. A "lung mass" finding is not the same as a "lung cancer" diagnosis, but a keyword search treats them identically.
The "Unless" Problem

Getting the medical concepts right is only half the challenge. The other half is understanding the logic of eligibility criteria — which is far more complex than most people realize.
Consider this common exclusion criterion from oncology trials:
"Exclude patients with hypertension, unless it is well-controlled on stable medication for at least 3 months."
A keyword matcher sees "hypertension" and excludes the patient. A simple boolean filter sees "hypertension = TRUE" and does the same. Both lose an eligible patient who has the condition but meets every requirement for safe participation.
Our system parses this using what logicians call deontic reasoning — the logic of obligations, permissions, and prohibitions. The criterion contains a prohibition (hypertension) with a conditional permission (controlled + stable + temporal threshold). The AI evaluates all three conditions against the patient's record, including checking medication history timelines, before making a determination.
The same logic handles even thornier constructions:
"Patients must not have received prior chemotherapy, unless it was neoadjuvant therapy completed more than 6 months ago."
The system has to simultaneously verify that chemotherapy occurred, determine its intent (was it given before surgery to shrink a tumor, or as a primary treatment?), and measure the time elapsed. A keyword search that flags any mention of "chemotherapy" as disqualifying will reject patients who should be in the trial.
Every wrongly excluded patient is a person who might have benefited from a therapy they'll never receive.
How the Architecture Actually Works

Our system combines two AI approaches that compensate for each other's weaknesses — an approach known as neuro-symbolic AI.
The neural component (a large language model) handles perception. It reads messy, unstructured medical records — scanned PDFs, handwritten notes, physician narratives — and extracts medical entities. Its job is to read "pt complains of chest pain" and identify the concept chest pain. Critically, the LLM does not make eligibility decisions. It's the reader, not the judge.
The symbolic component handles reasoning. It takes those extracted concepts, maps them to SNOMED CT codes, places them on the medical knowledge graph, and then applies the logical rules derived from the trial protocol. Given the same inputs, it always produces the same output. It can show its work — every inclusion or exclusion comes with a complete reasoning trace that an auditor or regulator can follow.
When the system encounters ambiguity — a note that says "possible history of..." rather than a confirmed diagnosis — it doesn't guess. It flags the case for human review and highlights the specific criterion and text snippet that caused the uncertainty. In our analysis, this "pre-digested" view reduces the time a clinician needs to review a chart by up to 40%.
For the full technical methodology behind this architecture, see our detailed research.
The Hidden Connections Generic AI Misses
There's a subtler failure mode that even well-prompted LLMs struggle with. Modern trial protocols often exclude patients based on classes of drugs or mechanisms of action, not specific drug names.
A trial protocol states: "Exclude patients taking any drug that inhibits CYP3A4 enzymes." A patient is taking Drug B. The patient's medical record mentions Drug B by name but never states that Drug B is a CYP3A4 inhibitor.
A standard AI system searching the patient's records will find no mention of CYP3A4 and may wrongly include the patient — a potentially dangerous safety error. Our system, built on a medical knowledge graph, contains the relationship: Drug B inhibits CYP3A4. It traverses from patient to drug to mechanism to exclusion criterion, catching the connection even when no single document spells it out.
This multi-hop reasoning — connecting facts across different parts of the medical knowledge base — is what separates a search engine from a clinical decision support system. It's especially critical for modern "basket" and "umbrella" trials that rely on complex biomarker and pharmacological interactions.
What About Replacing Human Reviewers Entirely?
We don't advocate for that, and we'd be skeptical of anyone who does. The goal is augmented intelligence — scaling the expert clinician's judgment, not eliminating it. High-confidence determinations (clear concept matches, unambiguous logic) can be automated. Ambiguous cases get routed to humans with the relevant context already assembled. The system handles the volume; the human handles the judgment calls.
This also addresses the data privacy concern that makes many institutions hesitant about AI in healthcare. Because the reasoning happens in a structured symbolic layer rather than requiring patient records to be sent to external AI services, protected health information can stay within the hospital's secure infrastructure. The neural component can run as a local model inside the institution's firewall, ensuring compliance with HIPAA, GDPR, and institutional governance policies.
What This Means for Trial Sponsors and Sites
The practical implications compress into a few decisions that clinical operations leaders should be evaluating now:
Audit your screen failure rate. If more than half your flagged candidates are failing screening, your matching technology has a precision problem — and it's costing you roughly $1,200 per failure while burning out your site coordinators.
Ask your AI vendor one question: Can the system distinguish between cardiac catheterization and central venous catheterization? If the answer involves hedging about prompt engineering or confidence thresholds, the system is matching words, not medical concepts.
Demand reasoning traces. Any eligibility determination that can't be audited step-by-step is a regulatory risk. "The model said so" is not an acceptable answer when the FDA asks why a patient was enrolled.
Evaluate temporal logic capabilities. If your system can't parse "unless completed more than 6 months ago," it's silently excluding patients who should be in your trial — and you'll never know what you lost.
The bottleneck in drug discovery is no longer the science. It's the syntax.
The difference between a trial that enrolls on time and one that delays six months is often the difference between a profitable asset and a write-off. For patients with progressive cancers or neurodegenerative diseases, that same six months is the difference between accessing a potentially life-changing therapy and never getting the chance.
We'd welcome hearing from clinical operations teams wrestling with these challenges — particularly those who've seen the gap between what AI recruitment tools promise and what they actually deliver.