medlistIQ
FHIR medication inference · rule-based · deterministic

Clean medication lists
from messy FHIR.

Your patient's meds are scattered across EHR orders, pharmacy dispenses, and self-reports — and they disagree. MedListIQ reconciles them into a deduplicated, clinically-classified list with a full provenance trail. Deterministic. No ML.

Three noisy resources in. One clean medication out.

Dedupe across resource types, pick the canonical RxNorm coding, derive a status from auditable rules. Every response ships with a full provenance trail — which inputs we consumed, which rules fired, and every field we enriched.

Input
MedicationRequest·mr-1
status: active
authoredOn: 2026-03-05
rxnorm: 617312
MedicationDispense·md-1
status: completed
whenHandedOver: 2026-04-09
rxnorm: 617312
Medication·rx-617312
code.display: Atorvastatin 40 MG Oral Tablet
form: Tablet
Output
Atorvastatin 40 MG Oral Tablet
RxNorm 617312 · Tablet · Oral
active
confidence 0.95sig Take 1 tablet by mouth daily
Provenance
ruleset 2026-04-15.v5
sources
MedicationRequest/mr-1
MedicationDispense/md-1
Medication/rx-617312
evidence
active_orderrecent_dispense
enrichments
+ route.snomed_code: 26643006
+ dose_form: Tablet (from SCD)

Typically three hires. One API.

Production medication reconciliation sits at the intersection of three specialties most engineering teams can't afford to staff full-time:

Clinical pharmacy

What 'active' actually means when a stopped order and a recent dispense both exist. When to trust patient-reported meds. How to weight conflicting signals.

Health informatics

RxNorm TTY ranking (SCD > IN). SNOMED + NCIT enrichment for routes and methods. ICD-10 / SNOMED indications. Free-text to discrete.

FHIR integration

MedicationRequest / Dispense / Statement dedup. Inline codeableConcept vs. external medicationReference. US Core alignment. Bundle vs. flat-array.

MedListIQ is built by a licensed pharmacist who is also a health informaticist and a FHIR practitioner. All three specialties, one person, embedded in every rule.

Built for production use.

Every decision is auditable

Every inferred medication ships with its sources (which FHIR resources contributed), evidence (which rules fired), and enrichments (what we derived from the input). No black boxes.

Pick your payload

Three verbosity levels. `minimal` for a med-list UI alert. `standard` for EHR integration with RxNorm codes and dosage. `full` for clinical decision support with the complete provenance trail.

Normalized to the right codes

RxNorm SCD-preferred TTY ranking. SNOMED + NCIT mapping for routes and methods. ICD-10 / SNOMED for indications. Discrete data you can feed to downstream systems — or render human-readable.

Deterministic + versioned

Every response carries a ruleset_version (YYYY-MM-DD.vN). Pin to a version for stable integrations. No ML drift, no hallucinations, no unexpected behavior changes.

Who's building with this.

Care coordination

Platforms stitching records across multiple providers. MedListIQ dedups across EHR + pharmacy + patient input.

EHR integrations

Apps pulling meds from Epic, Cerner, Athena. MedListIQ normalizes the per-vendor quirks into one shape.

Telehealth + virtual care

Quick med-list ingest from a patient's uploaded records or HIE bundle. Ready for clinical review in seconds.

Clinical decision support

Rule engines need a clean active-medication input. Feed our output in; skip the reconciliation step.

“We replaced 400 lines of hand-rolled med-dedup logic with one API call.”

— your first customer, hopefully

Try it in 60 seconds.

100 free requests/month, no card required. Sign up, mint a key, paste a FHIR payload into the playground.