What is a clinical decision support API?
A clinical decision support (CDS) API is a web service your software calls to get patient-specific guidance — an interaction check, a triage level, a differential diagnosis, a reference answer or a reasoned recommendation — and show it to a clinician at the point of decision [1]. Drug knowledge APIs such as First Databank and DrugBank return structured checks [5][6]; symptom and diagnosis APIs such as Infermedica and Isabel return ranked conditions [7][8]; reference APIs expose curated content, mostly through partnerships [9][10]; and reasoning APIs such as the EvidenceMD API answer a free-text clinical question with cited reasoning [11]. Inside the EHR, HL7 CDS Hooks is the standard way to fire any of them at the right moment and return the result as a card [2]. Whatever you call, design so the clinician can see and check the basis of the recommendation — that is both good CDS and one of the FDA's tests for non-device software [3].

Key takeaways
- Pick the API by the shape of the answer you need. Structured checks come from knowledge bases; ranked conditions from diagnosis engines; free-text reasoning over the literature from a reasoning API [5][7][11].
- Most CDS APIs are sold through sales, not sign-up. Of the providers in this guide, DrugBank offers a self-serve trial, Infermedica a trial after approval, and the EvidenceMD API self-serve keys; the rest are enterprise or partner-only [5][6][7][8][9][10][11].
- CDS Hooks is plumbing, not a provider. Your CDS service receives the hook from the EHR, calls whichever APIs it needs, and returns cards; links can open a SMART on FHIR app for the detail [2].
- Who sees the output changes the regulation. Recommendations to patients or caregivers make the software a device under the FDA's January 2026 guidance; recommendations to professionals need a reviewable basis [3].
- Keep the basis in the UI. Do not strip citations or reasoning to fit a card; put the short summary in the card and the full basis one click away [2][3].
- The EvidenceMD API is OpenAI-compatible: change the base URL and key, choose fast, pro or deep, and add specialty, language and include_thinking for the reasoning stream [11].
What kinds of clinical decision support API are there in 2026?
The four kinds below map onto the forms of CDS that ASTP/ONC lists — alerts, diagnostic support, reference information and the rest [1] — and onto very different commercial models.
| Kind | Returns | Examples (October 2026) | How you get access |
|---|---|---|---|
| Drug knowledge | Structured interaction, dosing, allergy and duplicate-therapy checks | First Databank MedKnowledge (web APIs, Cloud Connector, MedProof MCP); DrugBank Clinical API | FDB through sales; DrugBank usage-based with a self-serve trial [5][6] |
| Symptom, triage and diagnosis | Ranked conditions, triage level, next questions | Infermedica Engine API (/diagnosis, /triage, /conditions, /explain); Isabel headless DDx API | Infermedica trial up to 2,000 calls after approval; Isabel through a request form [7][8] |
| Reference content | Curated topic answers and evidence summaries | UpToDate Expert AI API (first integration: Suki Ask, October 2026); ClinicalKey AI integrations | Partner and enterprise agreements [9][10] |
| Clinical reasoning | A free-text answer reasoned over retrieved literature, with citations | EvidenceMD API (evidencemd-fast, -pro, -deep) | Self-serve keys; 10 free credits, no card [11] |
→ Scroll the table sideways to see the remaining columns
The kinds are complementary rather than competing. A prescribing workflow wants a drug knowledge base for the deterministic check — an interaction is a fact to look up, not a question to reason about — and may want a reasoning API for the follow-up a rule cannot answer, such as how to manage the interaction in a patient with renal impairment and two competing indications. A triage product for clinicians wants a diagnosis engine for the structured differential and a reasoning API to explain the trade-offs in prose.
The commercial models matter as much as the technology. Drug knowledge and reference content are curated by large editorial teams, and their owners license them through enterprise agreements; First Databank, for example, publishes no prices [5], and the UpToDate Expert AI API launched through a single partner integration [9]. If your team needs to prototype this week, that narrows the field to the providers with self-serve or trial access.
Underneath all four sits terminology. Decision support only fires correctly when diagnoses, drugs and results are coded consistently, which is the job of terminology services such as IMO Health's Knowledge Graph API, which provides clinical terminology data and mappings; registration is self-serve, but credentials for some APIs require a commercial agreement [15].
How do you fire a CDS API inside the EHR with CDS Hooks?
CDS Hooks is the HL7 standard for calling external decision support at defined moments in the EHR workflow. The current release is 2.0.1, built on FHIR R4 [2].
Publish a discovery endpoint
Your CDS service answers GET {base}/cds-services with the hooks it handles and the FHIR data it wants prefetched [2].
Receive the hook
The EHR calls your service at the hook — patient-view when the chart opens, order-select or order-sign at prescribing, encounter-discharge at discharge — with the patient context [2].
Call the APIs you need
Inside your service, call a drug knowledge API for deterministic checks and a reasoning API for the question a rule cannot answer. Keep the latency budget in mind: a card that arrives after the order is signed is no use.
Return cards
Each card needs a summary under 140 characters, an indicator of info, warning or critical, and a source; it can add suggestions the clinician accepts with one click [2].
The hook library in 2.0.1 includes patient-view, order-select, order-sign, order-dispatch, encounter-start, encounter-discharge, appointment-book, medication-refill, allergyintolerance-create and problem-list-item-create; medication-prescribe and order-review are deprecated [2]. Choose the hook by the Five Rights: the point in the workflow where the person who can act is making the decision [1][4].
EvidenceMD does not publish a CDS Hooks service or a FHIR interface of its own. Teams that want EvidenceMD's reasoning inside the EHR run their own CDS Hooks service, as above, and call the EvidenceMD API from it. Clinicians who simply want the reasoning beside the chart use EvidenceMD's web and mobile apps or its Chrome extension, which are not a native Epic embed.
Does adding a CDS API make your product a medical device?
In the United States, possibly. The FDA's January 2026 guidance applies four criteria to the software function you ship, not to the API you call [3].
Who the output is for
Software that supports or provides recommendations to patients or caregivers, rather than health care professionals, meets the definition of a device [3]. A consumer triage feature is regulated differently from the same engine shown to a nurse.
What goes in
A function that analyses medical images, IVD signals or physiological waveforms is outside the CDS exclusion, whatever API produced its output [3].
The shape of what comes out
A specific directive fails the third criterion; a single recommendation falls under enforcement discretion only where it is the one clinically appropriate option [3].
The API's status is not your product's status
Calling an API that is not itself a device does not make your feature non-device, and calling one inside a cleared device does not clear your feature. Assess the function you ship against the four criteria, document the intended use, and take regulatory advice when it is unclear. Our FDA guidance explainer walks through each criterion [13].
What should you test before choosing a CDS API?
Run these checks against a set of your own real questions, not the vendor's demo set.
| Test | Why it matters | How to check |
|---|---|---|
| Provenance | The clinician has to review the basis [3] | Does every recommendation carry a source you can open? Is the reasoning returned, or only the conclusion? |
| Coverage | Gaps produce confident silence | Run 50 questions from your own specialty mix, including the awkward ones |
| Latency | A late card is an ignored card | Measure p95 latency at the hook you plan to use, with streaming where supported |
| Output contract | Your UI depends on the shape | Structured JSON, free text, or both? Is the schema fixed or configurable? |
| Compliance | PHI may flow through the call | Is a BAA available on your plan? What is retained, where, and for how long? |
| Access and cost | Prototypes need keys, products need predictable bills | Self-serve or sales-led? Per request, per seat or per patient? Rate limits? |
| Change management | Knowledge and models update | How are content and model changes announced, versioned and validated? |
→ Scroll the table sideways to see the remaining columns
How do you make a first call to the EvidenceMD API?
The EvidenceMD API is a clinical reasoning API with an OpenAI-compatible schema, so an existing OpenAI integration needs a new base URL and key [11].
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://evidencemd.ai/api/v1",
)
stream = client.chat.completions.create(
model="evidencemd-pro",
messages=[{
"role": "user",
"content": "72-year-old, eGFR 28, new atrial fibrillation, on "
"clarithromycin. Anticoagulation options and dosing?",
}],
stream=True,
extra_body={
"specialty": "Cardiology", # optional, free text
"include_thinking": True, # stream the reasoning (pro and deep)
},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)curl https://evidencemd.ai/api/v1/chat/completions \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"model": "evidencemd-fast",
"messages": [
{"role": "user", "content": "First-line treatment for uncomplicated cystitis in a non-pregnant adult?"}
],
"specialty": "Primary care"
}'| Item | What the documentation says |
|---|---|
| Endpoint | POST https://evidencemd.ai/api/v1/chat/completions; GET /models |
| Authentication | x-api-key header; the OpenAI SDK's api_key works unchanged |
| Models | evidencemd-fast for latency, evidencemd-pro for point-of-care answers, evidencemd-deep with a 64,000-token reasoning budget |
| Reasoning stream | include_thinking on pro and deep streams the reasoning in thinking tags; English only |
| Citations | Inline in the answer as numbered links to the sources |
| Structured output | response_format json_object returns a fixed object with the answer |
| Other parameters | specialty (free text), language (30 languages), max_tokens, temperature, streaming over server-sent events |
| Limits | 60 requests a minute per key, 120-second timeout, Retry-After on 429 |
| Price | $0.20 a request on fast and pro, $0.25 on deep; 10 free credits with no card; failed requests refunded |
| Compliance | Zero retention of request content, no training on customer data; BAA executed during Enterprise onboarding |
→ Scroll the table sideways to see the remaining columns
Three design notes for CDS use. Use evidencemd-fast where you need an answer inside a workflow budget and evidencemd-deep for asynchronous work such as utilization review, where depth matters more than seconds. Keep the inline citations and, where the clinician wants it, the reasoning stream in the interface rather than flattening them into a one-line card. And for agent workflows rather than an EHR, the same reasoning is available as a remote MCP server at https://evidencemd.ai/mcp. The model behind the API publishes a 54.6% score on HealthBench Hard, a self-published result [14].
Make your first call in five minutes
10 free credits with no card. OpenAI-compatible, with inline citations and an optional reasoning stream.
Frequently asked questions
What does a clinical decision support API return?
Depending on the kind: structured interaction and dosing checks from drug knowledge APIs, ranked conditions and triage levels from diagnosis APIs, curated answers from reference APIs, or a cited, reasoned answer to a free-text question from a reasoning API such as EvidenceMD's [5][7][9][11].
Is there a free clinical decision support API for prototyping?
A few offer free or trial access. The EvidenceMD API gives 10 free credits with no card, DrugBank offers a self-serve trial of its Clinical API, and Infermedica a trial of up to 2,000 calls after approval [6][7][11]. Most drug knowledge and reference content is licensed through sales.
Is there an API for medical diagnosis?
Yes. Diagnosis engines such as Infermedica's Engine API and Isabel's headless API return ranked conditions from structured findings [7][8], and reasoning APIs such as EvidenceMD's return a cited differential from a free-text case description [11].
How do I show API results inside Epic or another EHR?
Run a CDS Hooks service that the EHR calls at a hook such as patient-view or order-sign, call your APIs from it, and return cards with a short summary, an indicator and a source; a link can open a SMART on FHIR app for detail [2]. To bring EvidenceMD's reasoning into the EHR this way, call the EvidenceMD API from your CDS service and link each card to the cited answer.
Does EvidenceMD support CDS Hooks or FHIR?
Not directly. EvidenceMD publishes an OpenAI-compatible API and an MCP server, not a CDS Hooks service or a FHIR interface; teams wrap the API in their own CDS Hooks service to bring its reasoning into the EHR [11].
Do I need a BAA to send patient data to a CDS API?
If you are a HIPAA covered entity or business associate sending PHI, you need a BAA with the API provider. Check which plans include one: for the EvidenceMD API, the BAA is executed during Enterprise onboarding [11].
Does calling a CDS API make my app a medical device?
It depends on the function you ship, not the API you call. Under the FDA's January 2026 guidance, patient-facing recommendations make software a device, and professional-facing CDS must let the clinician independently review the basis [3]. The EvidenceMD API returns its reasoning and inline citations so your interface can show the clinician that basis.
The bottom line
A clinical decision support API is the fastest way to add medical knowledge to a product — choose it by the shape of answer you need, wire it into the EHR with CDS Hooks, and keep the basis of every recommendation visible to the clinician [2][3]. Drug knowledge APIs answer the deterministic checks; diagnosis engines return structured differentials; reference APIs license curated content; reasoning APIs answer the question no rule can. The EvidenceMD API is the self-serve option for cited clinical reasoning: OpenAI-compatible, $0.20 a request with 10 free credits, a 64,000-token reasoning budget on its deep model, and inline citations to put behind every card [11].
Sources & related evidence
Standards and regulation from HL7 and the FDA; provider details from each provider's own documentation or announcement, checked on 18 October 2026. Providers change access terms often, so confirm before you build.
About EvidenceMD
EvidenceMD is an AI clinical reasoning platform for health professionals, researchers and the teams that build for them. Its API is OpenAI-compatible, retrieves from more than 40 million peer-reviewed papers and guidelines, cites every claim inline, and can stream its reasoning; the web app is free to start in every country in 30 languages. Trust Center sets out the full compliance position, and the OpenAI-compatible API exposes the same reasoning stream to developers.
Related reading
Get an API key and make your first call
10 free credits, no card. OpenAI-compatible, with cited clinical reasoning and an optional reasoning stream.