DSTU2 STU 3 Ballot
This page is part of the FHIR Specification (v1.0.2: DSTU 2). The current version which supercedes this version is

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . For a full list of available versions, see the Directory of published versions . Page versions: . Page versions: R5 R4B R4 R3 R2

4.16.6 11.5.6 Resource MedicationStatement - Detailed Descriptions Resource MedicationStatement - Detailed Descriptions Detailed Descriptions for the elements in the MedicationStatement resource.

Detailed Descriptions for the elements in the MedicationStatement resource.

code true Meaning if Missing If this is missing, then the medication was taken true true Comments Likely references would be to MedicationOrder, MedicationDispense, Claim, Observation or QuestionnaireAnswers. true Summary true [x] Note See Choice of Data Types for further information about how to use [x] [x] Note See Choice of Data Types for further information about how to use [x] Summary true Summary true [x] Note See Choice of Data Types for further information about how to use [x] Summary true To Do Is this in the 80% for medication statement? © HL7.org 2011+. FHIR DSTU2 (v1.0.2-7202) generated on Sat, Oct 24, 2015 07:43+1100. Links: Search | Version History | Table of Contents | Compare to DSTU1
MedicationStatement
Definition

A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from e.g. the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from e.g. the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains

The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.

Control 1..1
Summary Comments true

The WG will be updating the MedicationStatement resource to adjust each affected resource to align with the workflow pattern (see workflow.html).

Invariants Defined on this element Defined on this element
mst-1 : Reason not taken is only permitted if wasNotTaken is true (xpath: not(exists(f:reasonNotTaken) and f:wasNotTaken/@value=false())) : Reason not taken is only permitted if notTaken is true ( expression : reasonNotTaken.empty() or notTaken = true, xpath: not(exists(f:reasonNotTaken) and f:notTaken/@value=false()))
mst-2 : Reason for use is only permitted if wasNotTaken is false (xpath: not(exists(*[starts-with(local-name(.), 'reasonForUse')]) and f:wasNotTaken/@value=true())) : Reason for use code is only permitted if notTaken is false ( expression : reasonForUseCode.empty() or notTaken = false, xpath: not(exists(*[starts-with(local-name(.), 'reasonForUseCode')]) and f:notTaken/@value=true()))
mst-3 : Reason for use reference is only permitted if notTaken is false ( expression : reasonForUseReference.empty() or notTaken = false, xpath: not(exists(*[starts-with(local-name(.), 'reasonForUseReference')]) and f:notTaken/@value=true()))
MedicationStatement.identifier
Definition

External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here 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. Particularly important if these records have to be updated. External identifier - FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier here 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. Particularly important if these records have to be updated.

Note This is a business identifer, not a resource identifier (see This is a business identifer, not a resource identifier (see discussion )
Control 0..*
Type Identifier
MedicationStatement.status
Definition

A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed.

Control 1..1
Binding MedicationStatementStatus: A coded concept indicating the current status of a MedicationStatement. ( Required )
Type code
Is Modifier true
Summary true
Comments

MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted.

MedicationStatement.patient MedicationStatement.medication[x]
Definition

The person or animal who is/was taking the medication. Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.

Control 1..1
Binding SNOMED CT Medication Codes: A coded concept identifying the substance or product being taken. ( Example )
Type CodeableConcept | Reference ( Patient Medication )
[x] Note See Choice of Data Types for further information about how to use [x]
Summary true
Comments

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 medication this statement concerns. When the only available information is a text description of the medication, Medication.code.text should be used.

MedicationStatement.informationSource MedicationStatement.patient
Definition

The person who provided the information about the taking of this medication. The person or animal who is/was taking the medication.

Control 0..1 1..1
Type Reference ( Patient | Practitioner | RelatedPerson )
Summary true
MedicationStatement.dateAsserted MedicationStatement.effective[x]
Definition

The date when the medication statement was asserted by the information source. The 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).

Control 0..1
Type dateTime | Period
[x] Note See Choice of Data Types for further information about how to use [x]
Summary true
Comments

If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted.

MedicationStatement.status MedicationStatement.informationSource
Definition

A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally this will be active or completed. The person who provided the information about the taking of this medication. Note: A MedicationStatement may be derived from supportingInformation e.g claims or medicationOrder.

Control 1..1 0..1
Binding Type MedicationStatementStatus: A set of codes indicating the current status of a MedicationStatement. Reference ( Required Patient | Practitioner | RelatedPerson )
Type MedicationStatement.supportingInformation
Definition

Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports or is used to derive the MedicationStatement.

Is Modifier Control true 0..*
Summary Type true Reference ( Any )
Comments

Likely references would be to MedicationOrder, MedicationDispense, Claim, Observation or QuestionnaireAnswers.

MedicationStatement.wasNotTaken MedicationStatement.dateAsserted
Definition

Set this to true if the record is saying that the medication was NOT taken. The date when the medication statement was asserted by the information source.

Control 0..1
Type boolean Is Modifier dateTime
Summary true
MedicationStatement.reasonNotTaken MedicationStatement.notTaken
Definition

A code indicating why the medication was not taken. Set this to true if the record is saying that the medication was NOT taken.

Control 0..* Binding Reason Medication Not Given Codes: A set of codes indicating the reason why the MedicationAdministration is negated. ( Example ) 0..1
Type CodeableConcept boolean
Summary Is Modifier true
Invariants Meaning if Missing Affect this element mst-1 : Reason not taken is only permitted if wasNotTaken is true (xpath: not(exists(f:reasonNotTaken) and f:wasNotTaken/@value=false())) If this is missing, then the medication was taken
To Do Summary Is this in the 80% for medication statement? true
MedicationStatement.reasonForUse[x] MedicationStatement.reasonNotTaken
Definition

A reason for why the medication is being/was taken. A code indicating why the medication was not taken.

Control 0..1 0..*
Binding Condition/Problem/Diagnosis Codes: Codes identifying why the medication is being taken. ( Example ) MedicationAdministrationNegationReason : A coded concept indicating the reason why the MedicationStatement is negated.
Type CodeableConcept | Reference ( Condition ) [x] Note
See Choice of Data Types for further information about how to use [x] Invariants Summary Affect this element
mst-1 : Reason not taken is only permitted if notTaken is true ( expression true : reasonNotTaken.empty() or notTaken = true, xpath: not(exists(f:reasonNotTaken) and f:notTaken/@value=false()))
MedicationStatement.effective[x] MedicationStatement.reasonForUseCode
Definition

The 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). A reason for why the medication is being/was taken.

Control 0..1 0..*
Type Binding dateTime | Period Condition/Problem/Diagnosis Codes: A coded concept identifying why the medication is being taken. ( Example )
[x] Note See Choice of Data Types Type for further information about how to use [x] Summary CodeableConcept
Comments

If the medication is still being taken at the time the statement is recorded, the "end" date will be omitted. This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference.

MedicationStatement.note MedicationStatement.reasonForUseReference
Definition

Provides extra information about the medication statement that is not conveyed by the other attributes. Condition that supports why the medication is being/was taken.

Control 0..1 0..*
Type string Reference ( Condition )
Summary Comments true

This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode.

MedicationStatement.supportingInformation MedicationStatement.note
Definition

Allows linking the MedicationStatement to the underlying MedicationOrder, or to other information that supports the MedicationStatement. Provides extra information about the medication statement that is not conveyed by the other attributes.

Control 0..*
Type Reference ( Any ) Summary Annotation
MedicationStatement.medication[x] MedicationStatement.category
Definition

Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. Indicates where type of medication statement and where the medication is expected to be consumed or administered.

Control 1..1 0..1
Type Binding CodeableConcept | Reference ( Medication MedicationStatementCategory: A coded concept identifying where the medication included in the is expected to be consumed or administered ( Example )
[x] Note See Choice of Data Types Type for further information about how to use [x] Summary code
MedicationStatement.dosage
Comments Definition

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 medication this statement concerns. When the only available information is a text description of the medication, Medication.code.text should be used. Indicates how the medication is/was used by the patient.

Control 0..*
MedicationStatement.dosage MedicationStatement.dosage.text
Definition

Indicates how the medication is/was used by the patient. Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans.

Control 0..* 0..1
Summary Type true string
MedicationStatement.dosage.text MedicationStatement.dosage.additionalInstructions
Definition

Free text dosage information as reported about a patient's medication use. When coded dosage information is present, the free text may still be present for display to humans. Additional instructions such as "Swallow with plenty of water" which may or may not be coded.

Control 0..1 0..*
Type Binding string SNOMED CT Additional Dosage Instructions: A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". ( Example )
Summary Type true CodeableConcept
MedicationStatement.dosage.timing
Definition

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:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". 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:"; "15 Oct 2013, 17 Oct 2013 and 1 Nov 2013". Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period.

Control 0..1
Type Timing
MedicationStatement.dosage.asNeeded[x]
Definition

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). 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).
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.

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.

Control 0..1
Binding MedicationAsNeededReason : 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" etc. SNOMED CT Medication As Needed Reason Codes: 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" etc. ( Example )
Type boolean | CodeableConcept
Summary [x] Note true See Choice of Data Types for further information about how to use [x]
MedicationStatement.dosage.site[x]
Definition

A coded specification of or a reference to the anatomic site where the medication first enters the body. A coded specification of or a reference to the anatomic site where the medication first enters the body.

Control 0..1
Binding SNOMED CT Anatomical Structure for Administration Site Codes: A coded concept describing the site location the medicine enters into or onto the body. ( SNOMED CT Anatomical Structure for Administration Site Codes: A coded concept describing the site location the medicine enters into or onto the body. ( Example )
Type CodeableConcept | Reference ( BodySite )
Summary [x] Note true See Choice of Data Types for further information about how to use [x]
MedicationStatement.dosage.route
Definition

A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject. A code specifying the route or physiological path of administration of a therapeutic agent into or onto a subject.

Control 0..1
Binding SNOMED CT Route Codes: A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. ( SNOMED CT Route Codes: A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. ( Example )
Type CodeableConcept
MedicationStatement.dosage.method
Definition

A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV. A coded value indicating the method by which the medication is intended to be or was introduced into or on the body. This attribute will most often NOT be populated. It is most commonly used for injections. For example, Slow Push, Deep IV.

Control 0..1
Binding MedicationAdministrationMethod : A coded concept describing the technique by which the medicine is administered. SNOMED CT Administration Method Codes: A coded concept describing the technique by which the medicine is administered. ( Example )
Type CodeableConcept
Comments

One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently. One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration. This means the codes used in route or form may pre-coordinate the method in the route code or the form code. The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may be used frequently.

MedicationStatement.dosage.quantity[x] MedicationStatement.dosage.dose[x]
Definition

The amount of therapeutic or other substance given at one administration event. The amount of therapeutic or other substance given at one administration event.

Control 0..1
Type SimpleQuantity | Range
Summary [x] Note true See Choice of Data Types for further information about how to use [x]
MedicationStatement.dosage.rate[x]
Definition

Identifies the 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. Identifies the 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. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. Sometimes, a rate can imply duration when expressed as total volume / duration (e.g. 500mL/2 hours implies a duration of 2 hours). However, when rate doesn't imply duration (e.g. 250mL/hour), then the timing.repeat.duration is needed to convey the infuse over time period.

Control 0..1
Type Ratio | Range [x] Note See Choice of Data Types | SimpleQuantity for further information about how to use [x]
Summary [x] Note true See Choice of Data Types for further information about how to use [x]
MedicationStatement.dosage.maxDosePerPeriod
Definition

The 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. The 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.

Control 0..1
Type Ratio