Clinical data infrastructure
ICD-10, medications, conditions, and benefits on one key — every record mapped to the others and re-audited against its source. The connected data layer behind modern health products: it powers our own eligibility engine, and it’s the foundation the next one gets built on.
$0 to start · no card · live in 2 minutes
$ curl -X POST https://production-api.eleplan.com/data/v1/benefits/screen \
-d '{"state":"TX","age":34,"income_annual":28000,"pregnant":true}'
{
"state": "TX",
"results": [
{ "slug": "medicaid-pregnancy", "name": "Medicaid — Pregnancy",
"level": "state", "verdict": "likely",
"reasons": ["income < 200% FPL", "pregnant"],
"is_estimate": true },
{ "slug": "wic", "name": "WIC", "level": "federal",
"verdict": "likely",
"reasons": ["pregnant", "income < 185% FPL"] }
]
}Search 98,000+ codes in plain English.
Type a condition the way a person would. The API resolves it to the right ICD-10 code — with a featured best match and the full hierarchy behind it.
Live results from the ICD-10 dataset — every code links to its free public reference page. The production API returns the same JSON, authenticated by key.
Check drug interactions in one call.
Pass a medication list — get the interactions between them, a duplicate-therapy check, and a risk score, synthesized from FDA labeling. Powers /v1/drugs/interactions.
Explain a condition in one call.
Search a condition in plain language — get a clear summary, its ICD-10 codes, and the medications used for it, grounded in MedlinePlus (NIH). Powers /v1/conditions/search.
Search 10,000+ rare diseases by the name you were given.
Orphanet nomenclature, searchable by formal name, synonym or ORPHAcode. Results carry the ORPHAcode as identity — ICD-10 names only 7% of these exactly — plus which synonym matched, because families search the name they were handed. Powers /v1/rare-diseases/search.
Find assistance programs in one call.
Search federal & state assistance programs in plain language — get who qualifies, how to apply, and the conditions each one covers, cross-walked to ICD-10. Powers /v1/benefits/search.
Five curated datasets on one key — ICD-10, drugs, conditions, rare disease, benefits — each cross-walked to the others, not just sitting side by side.
98,000+codes
Semantic search, full hierarchy, billable flags, instructional notes, and CMS-HCC risk adjustment (RAF).
/v1/icd10/search
27,000+medications
Every strength + form, ATC + FDA class, FAERS safety signal, and a multi-drug interaction checker with risk scoring. Built on RxNorm + OpenFDA.
/v1/drugs/products/search
1,000+conditions
Plain-language references, grounded in MedlinePlus (NIH) and mapped to ICD-10.
/v1/conditions/search
10,000+rare diseases
Orphanet nomenclature with ORPHAcode identity, signs and symptoms carrying the frequency band each was observed at, causative genes, prevalence and inheritance — cross-walked to ICD-10, OMIM, UMLS, MeSH, MedDRA and GARD with the curated mapping relation kept on every edge.
/v1/rare-diseases/search
2,800+programs
Federal + state assistance with structured eligibility. Pass a person’s profile to the “am I eligible?” screening engine and get back ranked, qualifying programs with how to apply.
/v1/benefits/screen
One record. Every connection. No join keys to maintain.
Start anywhere and the data walks to its neighbors — because the cross-references are built in, reconciled against a second authority before they ship.
That traversal is the product. A condition resolves to its codes, the codes carry their risk weight, the drugs that treat it come interaction-checked, and the programs a patient might qualify for are already mapped in — one key, one shape, reconciled.
The difference, in one field
Of the 10,000+ rare diseases in this API, most have an ICD-10 code — and for four out of five of them that code is what Orphanet calls an attributed code: no matching term exists, so the nearest was assigned by rule. Q87.8 alone carries 582 different diseases. A scrape gives you the code. It cannot tell you which kind it is.
GET /v1/rare-diseases/cystic-fibrosis
"icd10": [
{ "code": "E84", "relation": "E", "shared_with": 0 }, // names it exactly
{ "code": "Q87.8", "relation": "NTBT", "shared_with": 581 } // a residual bucket
]relation and shared_with are the whole argument. They are Orphanet’s curated judgement, kept verbatim rather than collapsed into a confidence score we invented — which is also why we can show you the 93% where ICD-10 is only approximate instead of quietly rounding it up.
The hardest thing a connected, current corpus makes possible: real eligibility.
You can’t build this on a static program list — it needs the cross-walks (condition + income → eligibility gates) and the self-audit (FPL thresholds, live from HHS). One POST /v1/benefits/screen takes a person’s profile — age, income, household, state, conditions — and returns the federal and state programs they actually qualify for, each ranked with the reasons it matched.
POST /v1/benefits/screen{
"state": "TX",
"age": 34,
"household_size": 3,
"income_annual": 28000,
"pregnant": true,
"conditions": ["gestational diabetes"]
}{
"state": "TX",
"results": [
{ "slug": "medicaid-pregnancy",
"name": "Medicaid — Pregnancy",
"level": "state", "verdict": "likely",
"reasons": ["income < 200% FPL", "pregnant"] },
{ "slug": "wic",
"name": "WIC", "level": "federal",
"verdict": "likely",
"reasons": ["pregnant", "income < 185% FPL"] },
{ "slug": "snap",
"name": "SNAP", "level": "federal",
"verdict": "possible",
"reasons": ["household of 3"] }
]
}Every result carries the reasons it matched and an is_estimate flag — decision support for navigators and care teams, not a legal determination.
Not just a read API — push your own records in, files included.
Write, not just read.
Beyond the five read datasets, push your own notes and documents straight into a project — auto-OCR’d, parsed, and indexed alongside everything else. Powers POST /v1/ingest.
Ingest writes into an Eleplan project — create a plan in the app, then push notes & documents to it from your code.
POST /v1/ingest
curl -X POST https://production-api.eleplan.com/data/v1/ingest \
-H "Authorization: Bearer elp_..." \
-H "Content-Type: application/json" \
-d '{
"project_id": 1234,
"items": [{ "title": "Visit summary", "body": "..." }],
"files": [{ "filename": "labs.pdf", "mime": "application/pdf",
"data_url": "data:application/pdf;base64,..." }]
}'Any clinical document, turned into structured data.
Send a PDF, scan, photo, or recording. Request a presigned URL, PUT the file straight to storage, then process — we OCR it, summarize it, and extract the medications, events, and contacts inside, stored securely against your account.
Upload → process /v1/documents
# 1 · presigned upload URL (free)
curl -X POST https://production-api.eleplan.com/data/v1/documents/upload-url \
-H "Authorization: Bearer elp_..." \
-d '{ "filename": "discharge.pdf", "mime": "application/pdf" }'
# → { "document_id": 8412, "upload_url": "https://…",
# "status": "awaiting_upload" }
# 2 · PUT the file straight to storage (no size limit)
curl -X PUT "$upload_url" --data-binary @discharge.pdf
# 3 · OCR + extraction (billed here)
curl -X POST https://production-api.eleplan.com/data/v1/documents/8412/process \
-H "Authorization: Bearer elp_..."
# → { "status": "processing", "link": "https://eleplan.link/aB12xY" }Built for PHI from the first request.
The reference datasets are public — your lookups carry no PHI. The data you push in — documents, notes — is treated like the sensitive health information it is.
Every request is TLS. Every uploaded file lands in encrypted storage (AES-256) — never a public bucket.
API keys are stored only as SHA-256 hashes — we never keep the raw key, so a database compromise can’t expose a working one. Scope each key per dataset; revoke it instantly.
Pushing into a project takes more than a key: your account must own the project, and the caller must be an account admin with full access on it. Reads of the public datasets need none of that.
We don’t sell it, broker it, or train public AI models on it. Documents you upload belong to your account; reference lookups aren’t tied to a person.
Every vendor that can touch PHI runs under a signed Business Associate Agreement — AWS (encrypted storage + OCR) and OpenAI (the optional AI extraction). Most APIs send your data to OpenAI with no BAA at all.
160,000+ pages you
don’t have to build.
Every ICD-10 code, drug, condition, rare disease, and assistance program has a public, human-readable reference page — plus pages for how they connect: which drugs treat a condition, a medication’s side effects, which rare diseases sit under a diagnosis code, and which benefits may apply. Fully indexed, always current, and free with every plan. Deep-link or embed ours.
Start free. Scale when you ship.
$0
For prototyping.
$19/mo
The full data layer.
$49.99/mo
Everything, plus the flagship.
Custom
For platforms at scale.
The 150,000+ public reference pages and all 5,165 healthcare icons are free on every plan — no key required.
The reference data behind modern health products — without the 50-state, multi-agency grind.
Get an API key