ClinDose API

Add ClinDose calculations to the systems clinicians already use: EHRs such as Epic, Oracle Health (Cerner), and MEDITECH, pharmacy and dental software, mobile apps, and teaching platforms. Any system that can make an HTTPS request can use it.

ClinDose is not affiliated with or endorsed by the EHR vendors named. Connecting inside a specific EHR is set up with each organization's own integration team.

Same engine as the websiteThe API and clindose.com run identical, tested code, so results always match.
Shows its workEvery response includes the worked calculation, warnings, and formula version for audit trails.
No patient identifiersSend only the numbers a formula needs. Nothing is stored.

Launching from inside the EHR? See SMART on FHIR integration

Quick start

Request
curl -X POST https://clindose.com/api/v1/calculate/crcl \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sex":"male","ageYears":68,"weightLb":200,"heightIn":68,"scrMgDl":1.4}'
Response (shortened)
{
  "ok": true,
  "calculator": "crcl",
  "version": "0.2.0",
  "primary": { "label": "BMI-guided estimate", "display": "55.2", "unit": "mL/min", ... },
  "results": [
    { "label": "Actual body weight",   "display": "64.8", "unit": "mL/min" },
    { "label": "Ideal body weight",    "display": "48.9", "unit": "mL/min" },
    { "label": "Adjusted body weight", "display": "55.2", "unit": "mL/min" }
  ],
  "worksheet": [ { "label": "...", "expression": "...", "result": "..." } ],
  "warnings": [],
  "note": "Estimates creatinine clearance; not indexed to BSA. ..."
}
JavaScript
const res = await fetch("https://clindose.com/api/v1/calculate/bsa", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer YOUR_API_KEY" },
  body: JSON.stringify({ heightCm: 180, weightKg: 80 }),
});
const data = await res.json();
console.log(data.primary.display, data.primary.unit); // 2.00 m²

Endpoints

GET /api/v1/calculators
Public catalog: every calculator with its input schema, version, and specialties.
POST /api/v1/calculate/{id}
Runs a calculator. Requires Authorization: Bearer YOUR_API_KEY. Send JSON in the body; requests without a valid key receive 401.
GET /api/health
Service status.

Authentication

Every calculation request needs an API key issued by ClinDose. Keys are tied to a licensed organization and must be kept on your server, never in a public web page or app bundle.

Shared patient inputs

FieldMeaningAlternates
sex"male" or "female"
ageYearsAge in yearsage
weightKgActual body weight, kgweightLb
heightCmHeight, cmheightIn
scrMgDlSerum creatinine, mg/dLscrUmolL

Available calculators (62)

Calculator-specific inputs use the field names below; choices take the option value and checkboxes take true or false. The full schema for each is in GET /api/v1/calculators.

IDCalculatorInputsVersion
crclCreatinine clearance (Cockcroft–Gault)sex, ageYears, weightKg, scrMgDl, heightCm0.2.0
ibwIdeal body weight (Devine)sex, heightCm, weightKg0.1.0
adjbwAdjusted body weightsex, heightCm, weightKg0.1.0
bmiBody mass indexheightCm, weightKg0.1.0
bsaBody surface area (Mosteller)heightCm, weightKg0.1.0
vanco-aucVancomycin AUC dosingweightKg, mode, crcl, targetAuc, vdPerKg, loadPerKg, dose, tau, tinf, peak, tpeak, trough, ttrough0.1.0
aminoglycosidesAminoglycoside dosing (gentamicin, tobramycin, amikacin)sex, heightCm, weightKg, drug, method, crcl, targetPeak, targetTrough, dose, tau, tinf, peak, tpeak, trough, ttrough0.1.0
egfreGFR (CKD-EPI 2021, creatinine)sex, ageYears, scrMgDl0.1.0
schwartzBedside Schwartz eGFR (pediatric)heightCm, scrMgDl0.1.0
fenaFractional excretion of sodium (FENa)una, pna, ucr, scrMgDl0.1.0
feureaFractional excretion of urea (FEUrea)uurea, purea, ucr, scrMgDl0.1.0
anion-gapAnion gap (with albumin correction)na, cl, hco3, alb0.1.0
wintersWinter's formula (expected PaCO₂)hco3, paco20.1.0
osmolalityCalculated osmolality and osmolal gapna, glu, bun, etoh, meas0.1.0
sodium-correctionSodium correction for hyperglycemiana, glu0.1.0
free-waterFree water deficitsex, ageYears, weightKg, na0.1.0
calciumCorrected calcium (albumin)ca, alb0.1.0
chadsvascCHA₂DS₂-VASc scoreage, sex, chf, htn, stroke, vasc, dm0.1.0
hasbledHAS-BLED scoreh, renal, liver, s, b, l, e, d, alc0.1.0
heartHEART score for chest painh, e, a, r, t0.1.0
wells-peWells criteria for pulmonary embolismdvt, likely, hr, immob, prior, hemo, ca0.1.0
percPERC rule for pulmonary embolismage, hr, sat, leg, hemo, surg, prior, horm0.1.0
wells-dvtWells criteria for DVTca, par, bed, tend, leg, calf, pit, coll, prior, alt0.1.0
curb65CURB-65 for pneumonia severityc, u, r, b, a0.1.0
qsofaqSOFArr, ms, sbp0.1.0
gcsGlasgow Coma Scalee, v, m0.1.0
mapMean arterial pressuresbp, dbp0.1.0
shock-indexShock indexhr, sbp0.1.0
qtcCorrected QT interval (QTc)qt, hr0.1.0
aa-gradientA–a oxygen gradient and P/F ratioageYears, fio2, pao2, paco2, patm0.1.0
pbw-tidalPredicted body weight and tidal volumesex, heightCm0.1.0
child-pughChild-Pugh scorebili, alb, inr, asc, enc0.1.0
meld-naMELD-NascrMgDl, bili, inr, na, dialysis0.1.0
mmeMorphine milligram equivalents (MME)drug, dose0.1.0
steroidCorticosteroid dose conversionfrom, dose0.1.0
dripIV drip ratevol, time, df0.1.0
infusionWeight-based infusion ratedose, weightKg, amt, bag0.1.0
dilutionDilution (C1V1 = C2V2)c1, c2, v20.1.0
peds-doseWeight-based dose (mg/kg)weightKg, mgkg, freq, max, conc0.1.0
days-supplyDays supplyqty, per, freq0.1.0
carboplatinCarboplatin dose (Calvert)auc, gfr0.1.0
dental-laMaximum dental local anesthetic doseweightKg, drug0.1.0
local-anestheticMaximum local anesthetic dose (medical)weightKg, drug, pct0.1.0
maint-fluidsMaintenance IV fluids (4-2-1 rule)weightKg0.1.0
ebv-ablEstimated blood volume and allowable blood lossweightKg, grp, hi, hf0.1.0
parklandParkland formula for burnsweightKg, tbsa0.1.0
o2-tankOxygen cylinder durationcyl, psi, flow0.1.0
mifflinResting energy expenditure (Mifflin–St Jeor)sex, ageYears, heightCm, weightKg0.1.0
lbwLean body weight (Janmahasatian)sex, heightCm, weightKg0.1.0
due-dateDue date and gestational age (from LMP)lmp, cycle0.1.0
bishopBishop scoredil, eff, sta, con, pos0.1.0
apls-weightPediatric weight estimate (APLS)age0.1.0
vertexVertex distance conversionf, d0.1.0
transposeCylinder transposition and spherical equivalents, c, ax0.1.0
accommodationExpected amplitude of accommodation (Hofstetter)ageYears, meas0.1.0
boltonBolton tooth-size analysismx12, md12, mx6, md60.1.0
ancAbsolute neutrophil countwbc, segs, bands0.1.0
ldlLDL cholesterol (Friedewald)tc, hdl, tg0.1.0
eagA1c to estimated average glucosea1c0.1.0
diag-statsDiagnostic test statistics (2 × 2)tp, fp, fn, tn0.1.0
nntNumber needed to treatcer, eer0.1.0
rule-of-ninesBurn TBSA (adult rule of nines)head, la, ra, at, pt, ll, rl, per0.1.0

Plans

EvaluationTime-limited test key for integration and evaluation, with limited volume. Not for production patient care.
InstitutionalPaid license for hospitals, health systems, and clinics, with production volume, an API key, uptime commitments, and support.
Vendor and partnerPaid license for EHR, pharmacy, dental, and app vendors embedding ClinDose in their products.

The clindose.com website stays free for individual clinicians. To discuss an institutional or vendor license, contact api@clindose.com.

Results are decision support for licensed professionals and must be verified independently. ClinDose is in development preview and not yet validated for patient care.