Resources: DSTU2: MedicationOrder


MedicationOrder resource

The MedicationOrder resource is used to retrieve medication orders for a patient (DAF MedicationOrder). The logical ID of the patient is passed as part of the URL. The logical ID is found as the result of a patient search.

To retrieve a patient's medication orders, use the following syntax:

GET {FHIR URL}/FHIR/Patient/{ID}/MedicationOrder

To retrieve a patient's medication orders reported on January 1, 2016, use the following syntax:

GET {FHIR URL}/FHIR/Patient/{ID}/MedicationOrder?date=eq2016-01-01

Input parameters

Name Required? Type Description
ID Yes URL The patient's logical ID. This is retrieved using the search function.
date No string A string representing a date to include in the search. See below for more information.

Output specification

Name Type Cardinality Description
resourceType MedicationOrder
id identifier 0..*
meta Contains metadata about the resource. Returns the profile element which includes a link to the Data Access Framework (DAF) for the MedicationOrder resource.
language code Contains the base language in which the resource is written. For more information, see here.
text Contains a human-readable version of the structured data, specifically an HTML representation generated by the data layer based on the underlying resource data.
dateWritten dateTime 0..1 Date and time when the prescription was authorized.
status code 0..1 Medication status. Valid entries include: Active, On-Hold, Completed, Entered-In-Error, Stopped, and Draft. For more information on this value set, see here.
dateEnded dateTime 0..1 Date and time when the prescription was stopped.
reasonEnded Codeable Concept 0..1 Reason why the prescription was stopped.
patient Reference (Patient) 0..1 Link to a resource representing the person to whom the medication will be given.
  • reference: Returns the patient ID in the format Patient/[ID].
  • display: Returns the patient name in the format [Lastname],[Firstname].
prescriber Reference (Practitioner) 0..1 Healthcare professional responsible for authorizing the prescription.
  • reference: Returns the practitioner ID in the format Practitioner/[ID].
  • display: Returns the practitioner name in the format [Lastname],[Firstname].
encounter Reference (Encounter) 0..1 Link to a resource that identifies the particular occurrence of contact between patient and health care provider.
  • reference: Returns the encounter ID in the format Encounter/[ID].
  • display: Returns the encounter action.
reasonCodeableConcept Codeable Concept 0..1 Reason or indication for writing the prescription. To be conformant, instances of this element shall include a code from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the value set does not cover the concept (based on human review), an alternate system.code may be used instead. All orderable medication formulations represented using either a generic or brand-specific concept. This includes RxNorm codes whose Term Type is SCD (semantic clinical drug), SBD (semantic brand drug), GPCK (generic pack), BPCK (brand pack), SCDG (semantic clinical drug group), SBDG (semantic brand drug group), SCDF (semantic clinical drug form), or SBDF (semantic brand drug form).
reasonReference Reference (Condition) 0..1 Reason or indication for writing the prescription.
note string 0..1 Information about the prescription.
medicationCodeableConcept Codeable Concept 1..1 Medication to be taken. To be conformant, instances of this element shall include a code from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the value set does not cover the concept (based on human review), an alternate system.code may be used instead. All orderable medication formulations represented using either a generic or brand-specific concept. This includes RxNorm codes whose Term Type is SCD (semantic clinical drug), SBD (semantic brand drug), GPCK (generic pack), BPCK (brand pack), SCDG (semantic clinical drug group), SBDG (semantic brand drug group), SCDF (semantic clinical drug form), or SBDF (semantic brand drug form). This value set includes codes (see here) where TTY in SCD,SBD,GPCK,BPCK,SCDG,SBDG,SCDF,SBDF. Each individual medication is wrapped in coding and contains:
  • system: Returns a link to the coding source.
  • code: Returns the code for the medication.
  • display: Returns the condition medication name.
medicationReference Reference (Medication) 1..1 Medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. Note: do not use Medication.name to describe the prescribed medication. When the only available information is a text description of the medication, Medication.code.text should be used.
dosageInstruction 0..* How the medication is to be used by the patient. When the dose or rate is intended to change over the entire administration period (for example, tapering dose prescriptions) multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. Another common example in institutional settings is 'titration' of an IV medication dose to maintain a specific stated hemodynamic value or range (for example, drug x to be administered to maintain AM (arterial mean) greater than 65).
-- dosageInstruction.text string 0..1 Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing.
-- dosageInstruction.additionalInstructions Codeable Concept 0..1 Supplemental instructions. For example, "with meals."
-- dosageInstruction.timing Hl7.Fhir.Model.Timing 0..1 Timing schedule for giving the medication to the patient. The schedule data type allows many different expressions. For example, "Every 8 hours," "Three times a day," "1/2 an hour before breakfast for 10 days from 23-Dec 2011," or "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". Note: This attribute may not always be populated while the DosageInstruction.text is expected to be populated. If both are populated, then the DosageInstruction.text should reflect the content of the Dosage.timing.
-- dosageInstruction.asNeededBoolean Boolean 0..1 Instances are not expected or even encouraged to draw from the specified value set. The value set merely provides examples of the types of concepts intended to be included. Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain," "30 minutes prior to sexual intercourse," "on flare-up," and so forth. Specifically if 'boolean' datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule.
-- dosageInstruction.asNeededCodeableConcept Codeable Concept 0..1 Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. A coded specification of the anatomic site where the medication first enters the body. This identifies the body site at which the substance was administered. The codes should be taken from Vaccine Administered Body Site. All codes from system http://snomed.info/sct. The value set includes codes from the following code systems (actual value set has > 1000 codes included): 91723000 - Anatomical structure (body structure), 280115004 - Acquired body structure (body structure), 258331007 - Anatomical site notations for tumor staging (body structure), 118956008 - Altered from its original anatomical structure (morphologic abnormality), and 91722005 - Entire physical anatomical entity (body structure).
-- dosageInstruction.siteCodeableConcept Codeable Concept 0..1 Body site to administer the medication.
-- dosageInstruction.siteReference Reference (BodySite) 0..1 Body site to administer the medication.
-- dosageInstruction.route Codeable Concept 0..1 Route by which the drug should enter the body. For more information on this value set, see here.
-- dosageInstruction.method Codeable Concept 0..1 Technique for administering the medication.
-- dosageInstruction.doseRange Hl7.Fhir.Model.Range 0..1 Amount of medication per dose.
-- dosageInstruction.doseQuantity Quantity 0..1 Amount of medication per dose.
-- dosageInstruction.rateRatio Hl7.Fhir.Model.Ratio 0..1 Speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion. For example, 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time. For example, 500 ml per 2 hours. Currently we do not specify a default of '1' in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationOrder with an updated rate, or captured with a new MedicationOrder with the new rate.
-- dosageInstruction.rateRange Hl7.Fhir.Model.Range 0..1 Amount of medication per unit of time.
-- dosageInstruction.maxDosePerPeriod Hl7.Fhir.Model.Ratio 0..1 Upper limit on medication per unit of time.
dispenseRequest 0..1 Specific details for the dispense or medication supply part of a medication order (also known as a Medication Prescription). Note that this information is not always sent with the order. There may be in some settings (for example, hospitals) institutional or system support for completing the dispense details in the pharmacy department.
-- dispenseRequest.medicationCodeableConcept Codeable Concept 0..1 Product to be supplied.
-- dispenseRequest.medicationReference Reference (Medication) 0..1 Product to be supplied.
-- dispenseRequest.validityPeriod Period 0..1 Validity period of a prescription (stale dating the Prescription). Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription. It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations.
-- dispenseRequest.numberOfRepeatsAllowed Hl7.Fhir.Model.PositiveInt 0..1 Integer indicating the number of additional times (aka refills or repeats) the patient can receive the prescribed medication. Usage Notes: This integer does NOT include the original order dispense. This means that if an order indicates dispense 30 tablets plus "3 repeats", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets. If displaying "number of authorized refills", subtract 1 from this number. Positive integer.
-- dispenseRequest.quantity Hl7.Fhir.Model.SimpleQuantity 0..1 Amount that is to be dispensed for one fill.
-- dispenseRequest.expectedSupplyDuration Hl7.Fhir.Model.Duration 0..1 Period of time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.
substitution 0..1 Restrictions on medication substitution.
-- substitution.type Codeable Concept 1..1 Valid entries include Generic and Formulary +. For more information on this value set, see here.
-- substitution.reason Codeable Concept 0..1 Why should (not) substitution be made. For more information on this value set, see here.
priorPrescription Reference (MedicationOrder) 0..1 Order/prescription that this supersedes.