This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
This resource maintained by the Pharmacy Work Group
A record of medication being taken by a patient, or that the medication has been given to a patient where the record is the result of a report from the patient or another clinician.
Common usage includes:
The Medication domain includes a number of related resources
MedicationPrescription | An order for both supply of the medication and the instructions for administration of the medicine to a patient. |
MedicationDispense | Provision of a supply of a medication with the intention that it is subsequently consumed by a patient (usually in response to a prescription). |
MedicationAdministration | When a patient actually consumes a medicine, or it is otherwise administered to them |
MedicationStatement | This is a record of medication being taken by a patient, or that the medication has been given to a patient where the record is the result of a report from the patient, or another clinician. A medication statement is not a part of the prescribe->dispense->administer sequence but is a report that such a sequence (or at least a part of it) did take place resulting in a belief that the patient has received a particular medication. |
This resource is distinct from MedicationPrescription, MedicationDispense and MedicationAdministration. Each of those resources refer to specific events - an individual order, an individual provisioning of medication or an individual dosing. MedicationStatement is a broader assertion covering a wider timespan and independent of specific events. The existence of resource instances of any of the preceding three types may be used to infer a Medication statement. However, medication statements can also be captured on the basis of other information including an assertion by the patient or a care-giver, the results of a lab test, etc.
This resource is referenced by Condition and Procedure
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationStatement | DomainResource | Administration of medication to a patient | ||
identifier | 0..* | Identifier | External Identifier | |
patient | 0..1 | Patient | Who was/is taking medication | |
informationSource | 0..1 | Patient | Practitioner | RelatedPerson | ||
dateAsserted | 0..1 | dateTime | When the statement was asserted? | |
status | 1..1 | code | in-progress | completed | entered-in-error MedicationStatementStatus (Required) | |
wasNotGiven | M | 0..1 | boolean | True if medication is/was not being taken |
reasonNotGiven | I | 0..* | CodeableConcept | True if asserting medication was not given MedicationAdministrationNegationReason (Example) Reason not given is only permitted if wasNotGiven is true |
reasonForUse[x] | I | Reason for use is only permitted if wasNotGiven is false | ||
reasonForUseCodeableConcept | 0..1 | CodeableConcept | ||
reasonForUseReference | 0..1 | Condition | ||
effective[x] | Over what period was medication consumed? | |||
effectiveDateTime | 0..1 | dateTime | ||
effectivePeriod | 0..1 | Period | ||
note | 0..1 | string | Further information about the statement | |
medication | 0..1 | Medication | What medication was taken? | |
dosage | 0..* | Element | Details of how medication was taken | |
text | 0..1 | string | Dosage Instructions | |
schedule | 0..1 | Timing | When/how often was medication taken? | |
asNeeded[x] | Take "as needed" f(or x) | |||
asNeededBoolean | 0..1 | boolean | ||
asNeededCodeableConcept | 0..1 | CodeableConcept | ||
site | 0..1 | CodeableConcept | Where on body was medication administered? MedicationAdministrationSite (Example) | |
route | 0..1 | CodeableConcept | How did the medication enter the body? RouteOfAdministration (Example) | |
method | 0..1 | CodeableConcept | Technique used to administer medication MedicationAdministrationMethod (Example) | |
quantity | 0..1 | Quantity | Amount administered in one dose | |
rate | 0..1 | Ratio | Dose quantity per unit of time | |
maxDosePerPeriod | 0..1 | Ratio | Maximum dose that was consumed per unit of time |
UML Diagram
XML Template
<MedicationStatement xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Identifier --></identifier> <patient><!-- 0..1 Reference(Patient) Who was/is taking medication --></patient> <informationSource><!-- 0..1 Reference(Patient|Practitioner|RelatedPerson) --></informationSource> <dateAsserted value="[dateTime]"/><!-- 0..1 When the statement was asserted? --> <status value="[code]"/><!-- 1..1 in-progress | completed | entered-in-error --> <wasNotGiven value="[boolean]"/><!-- 0..1 True if medication is/was not being taken --> <reasonNotGiven><!-- 0..* CodeableConcept True if asserting medication was not given --></reasonNotGiven> <reasonForUse[x]><!-- 0..1 CodeableConcept|Reference(Condition) --></reasonForUse[x]> <effective[x]><!-- 0..1 dateTime|Period Over what period was medication consumed? --></effective[x]> <note value="[string]"/><!-- 0..1 Further information about the statement --> <medication><!-- 0..1 Reference(Medication) What medication was taken? --></medication> <dosage> <!-- 0..* Details of how medication was taken --> <text value="[string]"/><!-- 0..1 Dosage Instructions --> <schedule><!-- 0..1 Timing When/how often was medication taken? --></schedule> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]> <site><!-- 0..1 CodeableConcept Where on body was medication administered? --></site> <route><!-- 0..1 CodeableConcept How did the medication enter the body? --></route> <method><!-- 0..1 CodeableConcept Technique used to administer medication --></method> <quantity><!-- 0..1 Quantity Amount administered in one dose --></quantity> <rate><!-- 0..1 Ratio Dose quantity per unit of time --></rate> <maxDosePerPeriod><!-- 0..1 Ratio Maximum dose that was consumed per unit of time --></maxDosePerPeriod> </dosage> </MedicationStatement>
JSON Template
{ "resourceType" : "MedicationStatement", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Identifier "patient" : { Reference(Patient) }, // Who was/is taking medication "informationSource" : { Reference(Patient|Practitioner|RelatedPerson) }, // "dateAsserted" : "<dateTime>", // When the statement was asserted? "status" : "<code>", // R! in-progress | completed | entered-in-error "wasNotGiven" : <boolean>, // True if medication is/was not being taken "reasonNotGiven" : [{ CodeableConcept }], // C? True if asserting medication was not given // reasonForUse[x]: . One of these 2: "reasonForUseCodeableConcept" : { CodeableConcept }, "reasonForUseReference" : { Reference(Condition) }, // effective[x]: Over what period was medication consumed?. One of these 2: "effectiveDateTime" : "<dateTime>", "effectivePeriod" : { Period }, "note" : "<string>", // Further information about the statement "medication" : { Reference(Medication) }, // What medication was taken? "dosage" : [{ // Details of how medication was taken "text" : "<string>", // Dosage Instructions "schedule" : { Timing }, // When/how often was medication taken? // asNeeded[x]: Take "as needed" f(or x). One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "site" : { CodeableConcept }, // Where on body was medication administered? "route" : { CodeableConcept }, // How did the medication enter the body? "method" : { CodeableConcept }, // Technique used to administer medication "quantity" : { Quantity }, // Amount administered in one dose "rate" : { Ratio }, // Dose quantity per unit of time "maxDosePerPeriod" : { Ratio } // Maximum dose that was consumed per unit of time }] }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationStatement | DomainResource | Administration of medication to a patient | ||
identifier | 0..* | Identifier | External Identifier | |
patient | 0..1 | Patient | Who was/is taking medication | |
informationSource | 0..1 | Patient | Practitioner | RelatedPerson | ||
dateAsserted | 0..1 | dateTime | When the statement was asserted? | |
status | 1..1 | code | in-progress | completed | entered-in-error MedicationStatementStatus (Required) | |
wasNotGiven | M | 0..1 | boolean | True if medication is/was not being taken |
reasonNotGiven | I | 0..* | CodeableConcept | True if asserting medication was not given MedicationAdministrationNegationReason (Example) Reason not given is only permitted if wasNotGiven is true |
reasonForUse[x] | I | Reason for use is only permitted if wasNotGiven is false | ||
reasonForUseCodeableConcept | 0..1 | CodeableConcept | ||
reasonForUseReference | 0..1 | Condition | ||
effective[x] | Over what period was medication consumed? | |||
effectiveDateTime | 0..1 | dateTime | ||
effectivePeriod | 0..1 | Period | ||
note | 0..1 | string | Further information about the statement | |
medication | 0..1 | Medication | What medication was taken? | |
dosage | 0..* | Element | Details of how medication was taken | |
text | 0..1 | string | Dosage Instructions | |
schedule | 0..1 | Timing | When/how often was medication taken? | |
asNeeded[x] | Take "as needed" f(or x) | |||
asNeededBoolean | 0..1 | boolean | ||
asNeededCodeableConcept | 0..1 | CodeableConcept | ||
site | 0..1 | CodeableConcept | Where on body was medication administered? MedicationAdministrationSite (Example) | |
route | 0..1 | CodeableConcept | How did the medication enter the body? RouteOfAdministration (Example) | |
method | 0..1 | CodeableConcept | Technique used to administer medication MedicationAdministrationMethod (Example) | |
quantity | 0..1 | Quantity | Amount administered in one dose | |
rate | 0..1 | Ratio | Dose quantity per unit of time | |
maxDosePerPeriod | 0..1 | Ratio | Maximum dose that was consumed per unit of time |
XML Template
<MedicationStatement xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Identifier --></identifier> <patient><!-- 0..1 Reference(Patient) Who was/is taking medication --></patient> <informationSource><!-- 0..1 Reference(Patient|Practitioner|RelatedPerson) --></informationSource> <dateAsserted value="[dateTime]"/><!-- 0..1 When the statement was asserted? --> <status value="[code]"/><!-- 1..1 in-progress | completed | entered-in-error --> <wasNotGiven value="[boolean]"/><!-- 0..1 True if medication is/was not being taken --> <reasonNotGiven><!-- 0..* CodeableConcept True if asserting medication was not given --></reasonNotGiven> <reasonForUse[x]><!-- 0..1 CodeableConcept|Reference(Condition) --></reasonForUse[x]> <effective[x]><!-- 0..1 dateTime|Period Over what period was medication consumed? --></effective[x]> <note value="[string]"/><!-- 0..1 Further information about the statement --> <medication><!-- 0..1 Reference(Medication) What medication was taken? --></medication> <dosage> <!-- 0..* Details of how medication was taken --> <text value="[string]"/><!-- 0..1 Dosage Instructions --> <schedule><!-- 0..1 Timing When/how often was medication taken? --></schedule> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]> <site><!-- 0..1 CodeableConcept Where on body was medication administered? --></site> <route><!-- 0..1 CodeableConcept How did the medication enter the body? --></route> <method><!-- 0..1 CodeableConcept Technique used to administer medication --></method> <quantity><!-- 0..1 Quantity Amount administered in one dose --></quantity> <rate><!-- 0..1 Ratio Dose quantity per unit of time --></rate> <maxDosePerPeriod><!-- 0..1 Ratio Maximum dose that was consumed per unit of time --></maxDosePerPeriod> </dosage> </MedicationStatement>
JSON Template
{ "resourceType" : "MedicationStatement", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Identifier "patient" : { Reference(Patient) }, // Who was/is taking medication "informationSource" : { Reference(Patient|Practitioner|RelatedPerson) }, // "dateAsserted" : "<dateTime>", // When the statement was asserted? "status" : "<code>", // R! in-progress | completed | entered-in-error "wasNotGiven" : <boolean>, // True if medication is/was not being taken "reasonNotGiven" : [{ CodeableConcept }], // C? True if asserting medication was not given // reasonForUse[x]: . One of these 2: "reasonForUseCodeableConcept" : { CodeableConcept }, "reasonForUseReference" : { Reference(Condition) }, // effective[x]: Over what period was medication consumed?. One of these 2: "effectiveDateTime" : "<dateTime>", "effectivePeriod" : { Period }, "note" : "<string>", // Further information about the statement "medication" : { Reference(Medication) }, // What medication was taken? "dosage" : [{ // Details of how medication was taken "text" : "<string>", // Dosage Instructions "schedule" : { Timing }, // When/how often was medication taken? // asNeeded[x]: Take "as needed" f(or x). One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "site" : { CodeableConcept }, // Where on body was medication administered? "route" : { CodeableConcept }, // How did the medication enter the body? "method" : { CodeableConcept }, // Technique used to administer medication "quantity" : { Quantity }, // Amount administered in one dose "rate" : { Ratio }, // Dose quantity per unit of time "maxDosePerPeriod" : { Ratio } // Maximum dose that was consumed per unit of time }] }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire
Path | Definition | Type | Reference |
---|---|---|---|
MedicationStatement.status | A set of codes indicating the current status of a MedicationStatement | Fixed | http://hl7.org/fhir/medication-statement-status |
MedicationStatement.reasonNotGiven | A set of codes indicating the reason why the MedicationAdministration is negated. | Example | http://hl7.org/fhir/vs/reason-medication-not-given-codes |
MedicationStatement.dosage.asNeeded[x] | A coded concept identifying the pre-condition that should hold prior to consuming a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up", etc. | Unknown | No details provided yet |
MedicationStatement.dosage.site | A coded concept describing the site location the medicine enters into or onto the body | Example | http://hl7.org/fhir/vs/approach-site-codes |
MedicationStatement.dosage.route | A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. | Example | http://hl7.org/fhir/vs/route-codes |
MedicationStatement.dosage.method | A coded concept describing the technique by which the medicine is administered | Example | http://hl7.org/fhir/vs/administration-method-codes |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
effectivedate | date | Date when patient was taking (or not taking) the medication | MedicationStatement.effective[x] |
identifier | token | Return administrations with this external identity | MedicationStatement.identifier |
medication | reference | Code for medicine or text in medicine name | MedicationStatement.medication (Medication) |
patient | reference | The identity of a patient to list administrations for | MedicationStatement.patient (Patient) |
status | string | Return statements that match the given status | MedicationStatement.status |