Resources: DSTU2: MedicationStatement

MedicationStatement resource

The MedicationStatement resource is used to retrieve medication statements for a patient (DAF MedicationStatement). 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 statements, use the following syntax:

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

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

GET {FHIR URL}/FHIR/Patient/{ID}/MedicationStatement?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 MedicationStatement
id identifier 0..* External identifier. FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier is one that would be used by another non-FHIR system. For example, an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. This is particularly important if these records have to be updated.
meta Contains metadata about the resource. Returns the profile element which includes a link to the Data Access Framework (DAF) for the Condition 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.
patient Reference (Patient) 1..1 Patient who is or was taking the medication. Defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information.
  • reference: Returns the patient ID in the format Patient/[ID].
  • display: Returns the patient name in the format [Lastname],[Firstname].
informationSource Reference (Patient, Practitioner, RelatedPerson) 0..1 Person who provided the information about the taking of this medication.
  • reference: Returns the practitioner ID in the format Practitioner/[ID].
  • display: Returns the name in the format [Lastname],[Firstname].
dateAsserted dateTime 0..1 Date and time when the statement was asserted.
status code 1..1 Valid entries include: Active, Completed, Entered-in-error, and Intended. For more information on this value set, see here.
wasNotTaken boolean 0..1 Was the medication not taken? True if medication is/was not being taken.
reasonNotTaken CodeableConcept 0..* 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. A code indicating why the medication was not taken. A set of codes indicating the reason why the MedicationAdministration is negated. For example codes, see Reason Medication Not Given Codes. This value set has an inline code system (, which defines the following codes: Code "a" - Display "None" - No reason known, Code "b" - Display "Away" - The patient was not available when the dose was scheduled, Code "c" - Display "Asleep" - The patient was asleep when the dose was scheduled, and Code "d" - Display "Vomit" - The patient was given the medication and immediately vomited it back.
reasonForUseCodeableConcept CodeableConcept 0..1
reasonForUseReference Reference (Condition) 0..1
effectiveDateTime dateTime 0..1 Date and time over which the medication was consumed.
effectivePeriod Period 0..1 Interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). If the medication is still being taken at the time the statement is recorded, the end date will be omitted.
  • start: Returns the date the period begins.
  • end: Returns the date the period ends.
note string 0..1 Further information about the statement.
supportingInformation Reference (Resource) 0..* Additional supporting information.
medicationCodeableConcept CodeableConcept 1..1 Medication that was taken. Defines constraints and extensions on the Medication resource for use in querying and retrieving patient's medication information. Each individual code is wrapped in coding and contains:
  • system: Returns a link to the coding source.
  • code: Returns the code for the medication.
  • display: Returns the medication display name.
medicationReference Reference (Medication) 1..1 Medication that was taken.
dosage 0..* How the medication is/was used by the patient.
-- dosage.text string 0..1 Reported dosage information.
-- dosage.timing Hl7.Fhir.Model.Timing 0..1 When/how often was medication taken. The 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".
-- dosage.asNeededBoolean Boolean 0..1 Take "as needed" (for x).
-- dosage.asNeededCodeableConcept CodeableConcept 0..1 Take "as needed" (for x).
-- dosage.siteCodeableConcept CodeableConcept 0..1 Where (on body) medication is/was administered. 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 are from this system 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), or 91722005 - Entire physical anatomical entity (body structure).
-- dosage.siteReference Reference (BodySite) 0..1 Where (on body) medication is/was administered.
-- dosage.route CodeableConcept 0..1 Route by which the medication entered the body. Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. Route of Administration value set is based upon FDA Drug Registration and Listing Database (FDA Orange Book) which are used in FDA structured product and labelling (SPL). This value set includes codes as defined here.
-- dosage.method CodeableConcept 0..1 Technique used to administer the medication.
-- dosage.quantityQuantity Quantity 0..1 Amount administered in one dose.
-- dosage.quantityRange Hl7.Fhir.Model.Range 0..1 Amount administered in one dose.
-- dosage.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 e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 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.
-- dosage.rateRange Hl7.Fhir.Model.Range 0..1 Dose quantity per unit of time.
-- dosage.maxDosePerPeriod Hl7.Fhir.Model.Ratio 0..1 Maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours.