Iatronix
Sign In

About Iatronix

Iatronix is an evidence-based clinical reference built for medical professionals. It searches real-time data from FDA, PubMed, NICE, and other authoritative sources, formats them with AI, and grades every claim by the evidence behind it. Your API key. Your data. Your control.

Started in March 2026 as a personal side project by Kayomarz — built for his own clinical use and made public. More at kayomarz.com.

How a search works

Every question follows the same path: it is understood, branched to the right strategy, searched across trusted sources in parallel, merged into one evidence set, grounded to real citations, then written and delivered. No AI token is spent until real evidence has been retrieved and quality-checked.

Read it as
1

A clinician asks a question

Type it in plain language — no special syntax needed.

free-text clinical query captured verbatim

2

Understand the question

The app works out what you are really asking and pulls out the key medical terms.

classify into 1 of 6 types · extract key terms · rewrite neutrally to strip leading phrasing

Scope check — first, is this actually a clinical question?
No

Not a clinical question

No drug, disease, symptom or procedure is found, so the app declines politely and does not search the medical literature.

non-medical guard · no medical entities extracted → out_of_scope

Yes

A clinical question

A medical entity is detected, so the query flows on to the six strategies below.

medical entity extracted → in_scope, continue

clinical question — one path splits into six
3

Branch by type

One of six strategies is chosen. Each decides which trusted sources to search.

route by query type → strategy selects its source set

Drug

One medicine — its mechanism, dosing and interactions.

single-drug intent → openFDA + RxNorm + label sources

Disease

One condition or symptom — diagnosis, staging and management.

single-condition intent → guidelines + reviews

Procedure

How to perform a technique, step by step.

how-to intent → StatPearls / Bookshelf + guidelines

Evidence

Does a treatment actually work here? Includes clinical trials.

efficacy intent → PubMed + ClinicalTrials.gov

Comparative

Drug A versus drug B, head to head.

two-entity intent → comparative retrieval

Complex

Multiple conditions or comorbidities — the catch-all default.

multi-entity / fallback intent → broad retrieval

All of that branch’s searches fire at the same time
4

Fetch — in parallel

Every search in the branch runs at once across trusted medical sources, then results come back in one batch.

parallel fan-out across sources · single batched await · per-source failures skipped, not fatal

PubMedopenFDARxNormClinicalTrials.govNICEStatPearls / BookshelfMedlinePlus
six result sets converge into one
5

Rank, then merge into one evidence set

Everything found is scored for quality, then pooled into a single body of evidence — the strongest studies rise to the top.

score by study type · relevance · recency · citations → combine into one evidence set

is the evidence strong enough?
Confidence gate — is there enough distinct evidence to answer?

If it looks thin, it tries harder before answering

It rewords the search, borrows a complementary strategy, follows citation trails, and broadens step by step — looping back to re-check each time — rather than answering on weak evidence.

same-strategy 2nd pass → cross-strategy borrow → iCite citation-chase → up to 5 progressive broadenings → re-evaluate

No

No strong evidence

If every attempt still comes up short, the app returns an honest “not enough evidence” card and never writes an answer.

evidence floor unmet after escalation → DegradedResponse, no generation

Yes

Strong enough

Enough distinct, on-topic evidence is in hand, so the query flows on to grounding and writing.

≥ unique-article floor of distinct sources → proceed

enough evidence — continue
6

Ground every claim

Each fact is tied to a real, cited article. Anything that can't be backed up is flagged, never stated as fact.

per-claim citation binding · unbackable claims marked low-confidence

7

Write the answer

The bottom line comes first, then each section is written and streamed to you live.

bottom-line-up-front, then per-section parallel generation, streamed

8

Deliver

You get a clear, structured answer with confidence badges and links to the real sources.

structured, cited answer with confidence badges and source links

How hallucinations are prevented

The pipeline is designed so the LLM cannot invent clinical facts. Five mechanisms enforce this:

Evidence groundingThe LLM is instructed to anchor claims to fetched article text and cite each claim. If retrieval fails or times out, the system allows guarded fallback generation and surfaces warnings so unsupported claims are treated cautiously.
Fail-closed designIf retrieved evidence is insufficient, the pipeline stops and returns a DegradedResponse instead of proceeding to generation. A clear 'not enough data' message is safer than a confident wrong answer.
Citation validationEvery section cites specific source indices. The formatter verifies citations exist in the fetched data. Unsupported claims cannot earn a high LOE rating.
LOE/COR consistency enforcementLevels of evidence are assigned by source type at a structural level — not inferred by the model. An expert opinion cannot be upgraded to LOE I regardless of how the LLM phrases the claim.
Query-focused retrievalPubMed is searched using the standardized query term, not freeform prose. MeSH-matched results are more likely to be on-topic than semantic similarity alone. Date-sorted results prioritize recent guidelines over older studies.

Tested for safety

We put the pipeline through RAGnosis — 120 MRCP-style clinical questions and deliberate trap questions — end to end through the real retrieval layer, and scored every answer on whether it was correct and, above all, whether it was faithful (never asserting anything the retrieved evidence doesn't support).

0
hallucinations
across all 120 questions
100%
faithful
every run, 50 & 120 Qs
120
clinical questions
MRCP-style + traps

On 120 clinical questions Iatronix never fabricated a fact. It answered roughly half correctly and returned an honest “insufficient evidence” card for the rest — because it is fail-closed by design. Correctness tracks evidence coverage almost exactly (60% when a reference chapter is retrieved, 9% when only abstracts are), so the gap is honest abstentions, not wrong guesses — which, for a clinical tool, is the failure mode you want.

How to read this: generation and grading used a stand-in model (Claude) for the production engine, so the accuracy figures are indicative, not a live production metric — but retrieval was the real pipeline. The run was offline (no user API tokens spent), n = 120, and directional rather than a powered clinical trial. What holds regardless of the model is the faithfulness result: the system abstains instead of guessing.

Evidence grading

Every claim is assigned a Level of Evidence and Class of Recommendation based on its source type — not inferred from phrasing:

LOE IRandomized controlled trial (RCT). The gold standard for causal evidence.
LOE IIProspective cohort study, systematic review of observational data, or major guideline consensus.
LOE IIICase reports, cross-sectional studies, or expert opinion. Used when no higher evidence exists.
COR IStrong benefit — should be done. Supported by LOE I evidence.
COR IIaModerate benefit — reasonable to do. Supported by LOE II or consistent LOE III.
COR IIbWeak benefit — may consider. Conflicting or limited evidence.
COR IIINo benefit or harmful — should not be done.

Data sources

All data is fetched in real time from these authoritative sources before any AI processing:

FDA OpenFDA Drug labels, adverse events, recallsPubMed / NCBI Guidelines, RCTs, systematic reviewsClinicalTrials.gov Registered & completed trial summariesPMC Open Access Full-text articles & StatPearls monographsUnpaywall Free legal PDFs for open-access articlesRxNorm Drug names & interaction dataChEMBL Drug mechanism & pharmacologyDailyMed FDA-approved prescribing informationSemantic Scholar Paper metadata & citation countsMedlinePlus Drug & disease patient-facing summariesNICE UK clinical practice guidelines

Lessons learnt building this

Quantity vs. quality is a harder trade-off than it looks

Fetching more sources always sounds better on paper. In practice, a noisy PubMed result set with 20 weakly-relevant abstracts produces worse LLM output than 5 high-quality ones. We built evidence scoring precisely because raw retrieval count is a bad proxy for answer quality. More data causes the model to hedge, bury the key point, or invent a consensus that doesn't exist in the sources.

Medical research is behind paywalls — and that matters

Most impactful RCTs and meta-analyses are published in journals that don't offer open access. PubMed gives titles and abstracts; the actual trial data is paywalled. Unpaywall helps for open-access articles, but institutional guideline PDFs — NICE, ACC/AHA, ESC — are not consistently machine-readable. This means a query about a rare disease or a recent trial update will frequently hit the evidence quality floor and return a DegradedResponse, not because the answer doesn't exist, but because it exists behind a paywall.

LLMs are good editors, not good researchers

The pipeline treats the LLM purely as a formatter. Give it structured evidence and a schema to fill, and it produces clean, graded, citable output. Ask it to 'find information about X' without grounded sources and it will confabulate confidently. The fail-closed evidence gate exists because we learned early that the model will fill gaps with plausible-sounding but unsourced content if you let it.

Not every question is a clinical question

Early on the pipeline would dutifully search PubMed for anything typed into it, including questions with no drug, disease, symptom, or procedure in them. That wastes retrieval and invites confidently-worded answers to questions the literature can't speak to. A scope guard now runs first: if no medical entities are extracted, the app declines honestly and never searches — a plain 'this isn't a clinical question' is safer and more useful than a padded non-answer.

A feature can be live and still do nothing

We shipped a new retrieval fallback meant to rescue thin result sets — code merged, unit tests green, feature 'live'. It also did nothing. It sat behind an early return with such a low trigger bar that the escalation path it guarded almost never ran on the queries it was built for. The helper worked perfectly in isolation; the feature never fired in practice. The lesson: test that a feature actually triggers on its target case, not just that its internals return the right value when you call them directly.

One run can lie; three runs tell the truth

Live PubMed does not return identical results run to run — ranking and availability shift with load. A single before/after comparison once showed a dramatic 'rescue': the new path looked like it doubled the evidence found. Re-running it, the effect was network noise, not the change. Taking the median of three runs collapsed the improvement to roughly nothing. The lesson: any metric measured against a noisy external system has to be sampled more than once before a delta is trustworthy.

The right amount of evidence is a dial, not a maximum

It is tempting to treat retrieval as 'more is better' and keep widening the net. We raised a relevance threshold to pull in more articles and answer quality got worse, not better — the extra results were mostly off-topic and dragged the model toward hedging and false consensus. A tighter setting produced cleaner, more decisive answers. The lesson: retrieval breadth is a precision/recall trade-off to tune for the task, not a number to maximise.

A size budget is not a count cap

One clinical search returned over 4,000 citations and crashed the response. The citation list was built from every fetched article with no count limit, and a broad query had pulled in thousands of unique papers (PubMed + Semantic Scholar + textbooks). The internal cap only measured characters, so title-only entries slipped through uncounted. The fix caps the list by count — every source the answer actually cites is kept, and the retrieved-but-uncited extras are limited. The lesson: bound what the user sees by count, not just by size.

Relevance needs a floor, not just a ranking

Asked 'does paracetamol cause fever', the app once surfaced an unrelated post-operative arthroplasty fever guideline — it matched the word 'fever' and scored well on study quality, and nothing dropped it, because ranking only reorders. The fix adds a relevance floor that drops articles which never mention the drug, plus adverse-effect query framing so a causation question retrieves 'drug-induced' evidence rather than 'drug used to treat' evidence. Chosen by testing every combination and measuring off-topic rate: together they cut off-topic results sharply and kept more of the right ones.

Read the full Engineering Journal →

BYOK — Your Key, Your Data

All LLM calls use your own API key. Nothing is sent to Iatronix servers for generation. Keys are encrypted at rest and in transit. Switch providers anytime from Settings.

Cerebras (GPT-OSS 120B)Default

Default AI provider — powers evidence formatting, query classification, and section generation.

Get API key

Anthropic (Claude)Optional · Required for Waves

Alternative AI provider for users who prefer Claude. Required for Waves (medical image analysis via Claude vision).

Get API key