Clinical referenceDeveloper guideUpdated October 2026

Clinical decision support API: how to add CDS to a health app in 2026

A clinical decision support API lets your product put patient-specific guidance in front of a clinician without building the medical knowledge yourself [1]. There are four kinds — drug knowledge, symptom and diagnosis, reference content and clinical reasoning — and they differ in what they return, who can buy them and how they reach the user. This guide explains each kind, how to fire decision support inside the EHR with HL7 CDS Hooks, what the FDA's criteria mean for your design, and how to make a first call to a reasoning API. The worked example throughout is the EvidenceMD API, the self-serve clinical reasoning API with inline citations and an optional reasoning stream.

Kinds of CDS API: knowledge, diagnosis, reference, reasoning
4Kinds of CDS API: knowledge, diagnosis, reference, reasoning
Active hooks in the HL7 CDS Hooks library
10Active hooks in the HL7 CDS Hooks library
Character limit on a CDS Hooks card summary
140Character limit on a CDS Hooks card summary
Per EvidenceMD API request, with 10 free credits to start
$0.20Per EvidenceMD API request, with 10 free credits to start
By the EvidenceMD Editorial TeamDeveloper guidePublished October 18, 202614 min read

Medically reviewed by Dr. Abishek Shahi, Harvard-trained Physician · Last reviewed October 18, 2026

What is a clinical decision support API?

QUICK ANSWER

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].

Four kinds of clinical decision support API: Drug knowledge, Symptom and diagnosis, Reference content, Clinical reasoning.
The four kinds of clinical decision support API: drug knowledge APIs for structured checks, symptom and diagnosis APIs for ranked conditions, reference content APIs for curated answers, and clinical reasoning APIs for cited answers to free-text questions.

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.

Kinds of clinical decision support API, what they return and how they are sold
KindReturnsExamples (October 2026)How you get access
Drug knowledgeStructured interaction, dosing, allergy and duplicate-therapy checksFirst Databank MedKnowledge (web APIs, Cloud Connector, MedProof MCP); DrugBank Clinical APIFDB through sales; DrugBank usage-based with a self-serve trial [5][6]
Symptom, triage and diagnosisRanked conditions, triage level, next questionsInfermedica Engine API (/diagnosis, /triage, /conditions, /explain); Isabel headless DDx APIInfermedica trial up to 2,000 calls after approval; Isabel through a request form [7][8]
Reference contentCurated topic answers and evidence summariesUpToDate Expert AI API (first integration: Suki Ask, October 2026); ClinicalKey AI integrationsPartner and enterprise agreements [9][10]
Clinical reasoningA free-text answer reasoned over retrieved literature, with citationsEvidenceMD 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].

  1. 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].

  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].

  3. 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.

  4. 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].

  5. Link to the full basis

    Put the citations and reasoning behind a link that launches a SMART on FHIR app or a page in your product, so the clinician can review the basis without leaving the workflow [2][3].

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].

Whether the basis is reviewable

The professional must be able to independently review the basis — inputs, method, validation, knowns and unknowns. The FDA has said an LLM-enabled function may meet this if it sufficiently enables that review [3][12].

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.

What to test in a clinical decision support API
TestWhy it mattersHow to check
ProvenanceThe clinician has to review the basis [3]Does every recommendation carry a source you can open? Is the reasoning returned, or only the conclusion?
CoverageGaps produce confident silenceRun 50 questions from your own specialty mix, including the awkward ones
LatencyA late card is an ignored cardMeasure p95 latency at the hook you plan to use, with streaming where supported
Output contractYour UI depends on the shapeStructured JSON, free text, or both? Is the schema fixed or configurable?
CompliancePHI may flow through the callIs a BAA available on your plan? What is retained, where, and for how long?
Access and costPrototypes need keys, products need predictable billsSelf-serve or sales-led? Per request, per seat or per patient? Rate limits?
Change managementKnowledge and models updateHow 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].

Python, using the official OpenAI SDK
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)
The same request with curl, using the x-api-key header
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"
  }'
EvidenceMD API facts a CDS integration needs, from the developer documentation
ItemWhat the documentation says
EndpointPOST https://evidencemd.ai/api/v1/chat/completions; GET /models
Authenticationx-api-key header; the OpenAI SDK's api_key works unchanged
Modelsevidencemd-fast for latency, evidencemd-pro for point-of-care answers, evidencemd-deep with a 64,000-token reasoning budget
Reasoning streaminclude_thinking on pro and deep streams the reasoning in thinking tags; English only
CitationsInline in the answer as numbered links to the sources
Structured outputresponse_format json_object returns a fixed object with the answer
Other parametersspecialty (free text), language (30 languages), max_tokens, temperature, streaming over server-sent events
Limits60 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
ComplianceZero 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.

Get a free API key

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.

How much does a clinical decision support API cost?

Drug knowledge and reference APIs rarely publish prices. The EvidenceMD API charges $0.20 a request on its fast and pro models and $0.25 on deep, with 10 free credits to start [5][11].

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.