Medications
Datasets
US Core 6.1.0 maps each USCDI element to FHIR.
| Dataset | US Core 6.1.0 target profile(s) |
|---|---|
medications | US Core MedicationRequest |
medication_dispenses | US Core MedicationDispense |
medications
One row per medication order: the prescriber's intent, with drug, dose, and indication. For most payers this file is sparse or empty — orders live in EHR and e-prescribing systems, not in claims. If your medication data comes from pharmacy claims, it belongs in medication_dispenses; populate this file only with order-level data you actually hold.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your stable key for this order; medication_dispenses reference it | MED-77120 |
patient_identifier | Yes | patient key | MRN-4471903 |
status | Yes | active, on-hold, cancelled, completed, entered-in-error, stopped, draft, unknown medicationrequest-status | active |
intent | Yes | proposal, plan, order, original-order, reflex-order, filler-order, instance-order, option medicationrequest-intent | order |
medication_code | Yes | RxNorm drug-level code, with medication_system (RxNorm assumed when empty) Medication Clinical Drug | 310965 ibuprofen 200 MG oral tablet |
category | If available | inpatient, outpatient, community, discharge medicationrequest-category | outpatient |
reported | Recommended | true / false | false |
authored_on | Recommended | datetime | 2026-05-30 |
requester_npi | Recommended | 10 digits | 9999999991 |
encounter_id | If applicable | encounters key | ENC-9912 |
dosage_text | Recommended | the sig, free text | 1 tab PO daily |
dose_value | If available | decimal | 200 |
dose_unit | If dose_value | UCUM ucum-common | mg |
refills_allowed | If available | integer | 3 |
dispense_quantity_value | If available | decimal | 30 |
dispense_quantity_unit | If dispense_quantity_value | UCUM ucum-common | {tbl} |
indication_code | If available | SNOMED CT or ICD-10-CM code, with indication_system (SNOMED CT assumed when empty) us-core-condition-code | 38341003 hypertensive disorder |
is_deleted | If retracting | true retracts this row | true |
medication_codeis the one coded field with no fallback: a row without it cannot become a MedicationRequest. The value set holds RxNorm codes at the prescribable-product level — a clinical or branded drug, not the bare ingredient. Sendmedication_systemashttp://www.nlm.nih.gov/research/umls/rxnorm.statuscarries history: closed orders arrive ascompleted,stopped, orcancelled;entered-in-errorretracts a record that should never have existed.reportedset totruemarks an order known secondhand — reported by the member or imported from another system — rather than authored in the system that sent it.dosage_textis the sig as written and the most valuable of the dose columns;dose_value+dose_unitare its structured counterpart, the USCDI Dose and Dose Unit of Measure elements. UCUM count units use curly braces:{tbl}tablets.refills_allowedand thedispense_quantity_*pair describe what the order authorizes the pharmacy to dispense — refills and amount per fill.requester_npiis the prescriber and must match a row inpractitioners.
medication_dispenses
One row per fill: what the pharmacy actually handed over. For a payer this is usually the primary medication file — pharmacy claims are fill records. It carries the USCDI Medications (Fill Status) element and stays distinct from the order in medications.
| Column | Required | Format / values | Example |
|---|---|---|---|
record_id | Yes | your stable key for this fill | MD-0001 |
patient_identifier | Yes | patient key | MRN-4471903 |
status | Yes | preparation, in-progress, cancelled, on-hold, completed, entered-in-error, stopped, declined, unknown medicationdispense-status | completed |
medication_code | Yes | RxNorm drug-level code, with medication_system (RxNorm assumed when empty) Medication Clinical Drug | 310965 ibuprofen 200 MG oral tablet |
type_code | If available | fill type: FF first fill, RF refill, EM emergency supply, UD unit dose ActPharmacySupplyType | RF |
pharmacy_org_npi | Recommended | 10 digits | 9999999993 |
performer_npi | If available | 10 digits, the dispensing pharmacist | 9999999991 |
authorizing_prescription_id | If available | record_id of the medications row | MED-77120 |
quantity_value | If available | decimal | 30 |
quantity_unit | If quantity_value | UCUM ucum-common | {tbl} |
when_handed_over | If available | datetime | 2026-06-01 |
dosage_text | If available | the sig, free text | 1 tab PO daily |
is_deleted | If retracting | true retracts this row | true |
statusis the Fill Status element:completedfor a fill picked up,in-progressorpreparationfor one underway,declinedfor one refused,entered-in-errorto retract. The binding is required, so a value outside the list is rejected.- A pharmacy-claim row that carries only an NDC may send it with
medication_systemashttp://hl7.org/fhir/sid/ndc; Payerbox crosswalks it to the RxNorm coding US Core requires. pharmacy_org_npiis the dispensing pharmacy andperformer_npithe dispensing pharmacist, when your source records one; both becomeMedicationDispense.performer.actorand must match a row inorganizationsandpractitionersrespectively. Pharmacy claims usually identify only the store — sending justpharmacy_org_npiis fine.when_handed_overis when the medication left the pharmacy — for a claim, the fill date.
These resources are served by Patient Access, Provider Access, and Payer-to-Payer.