This page is part of the FHIR Specification (v1.4.0:
STU
3 Ballot 3). 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
|
|
Compartments
|
An order for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationOrder" rather than "MedicationPrescription" to generalize the use across inpatient and outpatient settings as well as for care plans, etc.
This resource covers all orders for medications for a patient. This includes in-patient medication orders as well as community orders (whether filled by the prescriber or by a pharmacy). It also includes orders for over-the-counter medications (e.g. Aspirin), total parenteral nutrition and diet/ vitamin supplements. It may be used to support the order of medication-related devices. It is not intended for use in prescribing particular diets, or for ordering non-medication-related items (eye-glasses, supplies, etc.)
The Medication domain includes a number of related resources
|
MedicationOrder
| 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 referenced by
CarePlan
,
,
Claim
,
,
ClinicalImpression
,
,
ExplanationOfBenefit
,
MedicationAdministration
and
and
MedicationDispense
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
Σ | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
?! Σ | 0..1 |
|
MedicationOrderStatus ( Required ) |
|
|
|
|
|
|
|
|||
|
|
|||
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
Reference
(
|
|
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
Reference
(
|
|
|
Σ |
|
CodeableConcept |
|
|
|
0..* | Reference ( Condition ) | Condition that supports why the prescription is being written |
|
Σ | 0..1 |
|
|
|
Σ |
|
CodeableConcept |
|
|
|
0..* |
|
Information about the prescription |
|
Σ | 0..* | BackboneElement |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 | Timing |
|
|
Σ | 0..1 |
|
|
|
boolean | |||
|
CodeableConcept | |||
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( BodySite ) | |||
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 |
|
|
|
Ratio | |||
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 | Ratio |
|
|
Σ | 0..1 | BackboneElement |
|
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( Medication ) | |||
|
Σ | 0..1 | Period |
|
|
Σ | 0..1 | positiveInt |
|
|
Σ | 0..1 | SimpleQuantity |
|
|
Σ | 0..1 | Duration |
|
|
Σ | 0..1 | BackboneElement |
|
|
Σ | 1..1 | CodeableConcept |
ActSubstanceAdminSubstitutionCode |
|
Σ | 0..1 | CodeableConcept |
SubstanceAdminSubstitutionReason |
|
Σ | 0..1 | Reference ( MedicationOrder ) |
|
Documentation for this format
|
||||
UML
Diagram
UML Diagram
XML
Template
XML Template
<MedicationOrder 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>
<<status value="[code]"/><!-- 0..1 active | on-hold | completed | entered-in-error | stopped | draft -->< <</reasonEnded><medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]> <patient><!-- 0..1 Reference(Patient) Who prescription is for --></patient><</prescriber><encounter><!-- 0..1 Reference(Encounter) Created during encounter/admission/stay --></encounter><</reason[x]> < <</medication[x]><dateWritten value="[dateTime]"/><!-- 0..1 When prescription was authorized --> <prescriber><!-- 0..1 Reference(Practitioner) Who ordered the medication(s) --></prescriber> <reasonCode><!-- 0..* CodeableConcept Reason or indication for writing the prescription --></reasonCode> <reasonReference><!-- 0..* Reference(Condition) Condition that supports why the prescription is being written --></reasonReference> <dateEnded value="[dateTime]"/><!-- 0..1 When prescription was stopped --> <reasonEnded><!-- 0..1 CodeableConcept Why prescription was stopped --></reasonEnded> <note><!-- 0..* Annotation Information about the prescription --></note> <dosageInstruction> <!-- 0..* How medication should be taken --><<text value="[string]"/><!-- 0..1 Free text dosage instructions e.g. SIG --> <additionalInstructions><!-- 0..1 CodeableConcept Supplemental instructions - e.g. "with meals" --></additionalInstructions> <timing><!-- 0..1 Timing When medication should be administered --></timing> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" (for x) --></asNeeded[x]> <site[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Body site to administer to --></site[x]> <route><!-- 0..1 CodeableConcept How drug should enter body --></route> <method><!-- 0..1 CodeableConcept Technique for administering medication --></method> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]><</rate[x]><rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity) Amount of medication per unit of time --></rate[x]> <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> </dosageInstruction> <dispenseRequest> <!-- 0..1 Medication supply authorization --> <medication[x]><!-- 0..1 CodeableConcept|Reference(Medication) Product to be supplied --></medication[x]> <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod> <numberOfRepeatsAllowed value="[positiveInt]"/><!-- 0..1 Number of refills authorized --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of medication to supply per dispense --></quantity> <expectedSupplyDuration><!-- 0..1 Quantity(Duration) Number of days supply per dispense --></expectedSupplyDuration> </dispenseRequest> <substitution> <!-- 0..1 Any restrictions on medication substitution --><</type> <</reason><type><!-- 1..1 CodeableConcept generic | formulary + --></type> <reason><!-- 0..1 CodeableConcept Why should (not) substitution be made --></reason> </substitution> <priorPrescription><!-- 0..1 Reference(MedicationOrder) An order/prescription that this supersedes --></priorPrescription> </MedicationOrder>
JSON
Template
JSON Template
{
"resourceType" : "MedicationOrder",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifier
"
"status" : "<code>", // active | on-hold | completed | entered-in-error | stopped | draft
"
"
"
"
"
" },
" },
"
// medication[x]: Medication to be taken. One of these 2:
"medicationCodeableConcept" : { CodeableConcept },
"medicationReference" : { Reference(Medication) },
"patient" : { Reference(Patient) }, // Who prescription is for
"encounter" : { Reference(Encounter) }, // Created during encounter/admission/stay
"dateWritten" : "<dateTime>", // When prescription was authorized
"prescriber" : { Reference(Practitioner) }, // Who ordered the medication(s)
"reasonCode" : [{ CodeableConcept }], // Reason or indication for writing the prescription
"reasonReference" : [{ Reference(Condition) }], // Condition that supports why the prescription is being written
"dateEnded" : "<dateTime>", // When prescription was stopped
"reasonEnded" : { CodeableConcept }, // Why prescription was stopped
"note" : [{ Annotation }], // Information about the prescription
"dosageInstruction" : [{ // How medication should be taken
"
"text" : "<string>", // Free text dosage instructions e.g. SIG
"additionalInstructions" : { CodeableConcept }, // Supplemental instructions - e.g. "with meals"
"timing" : { Timing }, // When medication should be administered
// asNeeded[x]: Take "as needed" (for x). One of these 2:
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept },
// site[x]: Body site to administer to. One of these 2:
"siteCodeableConcept" : { CodeableConcept },
"siteReference" : { Reference(BodySite) },
"route" : { CodeableConcept }, // How drug should enter body
"method" : { CodeableConcept }, // Technique for administering medication
// dose[x]: Amount of medication per dose. One of these 2:
"doseRange" : { Range },
"doseQuantity" : { Quantity(SimpleQuantity) },
// rate[x]: Amount of medication per unit of time. One of these 3:
"rateRatio" : { Ratio },
"rateRange" : { Range },
"rateQuantity" : { Quantity(SimpleQuantity) },
"maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time
}],
"dispenseRequest" : { // Medication supply authorization
// medication[x]: Product to be supplied. One of these 2:
"medicationCodeableConcept" : { CodeableConcept },
"medicationReference" : { Reference(Medication) },
"validityPeriod" : { Period }, // Time period supply is authorized for
"numberOfRepeatsAllowed" : "<positiveInt>", // Number of refills authorized
"quantity" : { Quantity(SimpleQuantity) }, // Amount of medication to supply per dispense
"expectedSupplyDuration" : { Quantity(Duration) } // Number of days supply per dispense
},
"substitution" : { // Any restrictions on medication substitution
"
"
"type" : { CodeableConcept }, // R! generic | formulary +
"reason" : { CodeableConcept } // Why should (not) substitution be made
},
"priorPrescription" : { Reference(MedicationOrder) } // An order/prescription that this supersedes
}
Structure
| Name | Flags | Card. | Type |
|
|---|---|---|---|---|
|
Σ | DomainResource |
|
|
|
Σ | 0..* | Identifier |
|
|
?! Σ | 0..1 |
|
MedicationOrderStatus ( Required ) |
|
|
|
|
|
|
|
|||
|
|
|||
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
Reference
(
|
|
|
Σ | 0..1 |
|
|
|
Σ | 0..1 |
Reference
(
|
|
|
Σ |
|
CodeableConcept |
|
|
|
0..* | Reference ( Condition ) | Condition that supports why the prescription is being written |
|
Σ | 0..1 |
|
|
|
Σ |
|
CodeableConcept |
|
|
|
0..* |
|
Information about the prescription |
|
Σ | 0..* | BackboneElement |
|
|
Σ | 0..1 | string |
|
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 | Timing |
|
|
Σ | 0..1 |
|
|
|
boolean | |||
|
CodeableConcept | |||
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( BodySite ) | |||
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 | CodeableConcept |
|
|
Σ | 0..1 |
|
|
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 |
|
|
|
Ratio | |||
|
Range | |||
|
SimpleQuantity | |||
|
Σ | 0..1 | Ratio |
|
|
Σ | 0..1 | BackboneElement |
|
|
Σ | 0..1 |
|
|
|
CodeableConcept | |||
|
Reference ( Medication ) | |||
|
Σ | 0..1 | Period |
|
|
Σ | 0..1 | positiveInt |
|
|
Σ | 0..1 | SimpleQuantity |
|
|
Σ | 0..1 | Duration |
|
|
Σ | 0..1 | BackboneElement |
|
|
Σ | 1..1 | CodeableConcept |
ActSubstanceAdminSubstitutionCode |
|
Σ | 0..1 | CodeableConcept |
SubstanceAdminSubstitutionReason |
|
Σ | 0..1 | Reference ( MedicationOrder ) |
|
Documentation for this format
|
||||
XML
Template
XML Template
<MedicationOrder 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>
<<status value="[code]"/><!-- 0..1 active | on-hold | completed | entered-in-error | stopped | draft -->< <</reasonEnded><medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]> <patient><!-- 0..1 Reference(Patient) Who prescription is for --></patient><</prescriber><encounter><!-- 0..1 Reference(Encounter) Created during encounter/admission/stay --></encounter><</reason[x]> < <</medication[x]><dateWritten value="[dateTime]"/><!-- 0..1 When prescription was authorized --> <prescriber><!-- 0..1 Reference(Practitioner) Who ordered the medication(s) --></prescriber> <reasonCode><!-- 0..* CodeableConcept Reason or indication for writing the prescription --></reasonCode> <reasonReference><!-- 0..* Reference(Condition) Condition that supports why the prescription is being written --></reasonReference> <dateEnded value="[dateTime]"/><!-- 0..1 When prescription was stopped --> <reasonEnded><!-- 0..1 CodeableConcept Why prescription was stopped --></reasonEnded> <note><!-- 0..* Annotation Information about the prescription --></note> <dosageInstruction> <!-- 0..* How medication should be taken --><<text value="[string]"/><!-- 0..1 Free text dosage instructions e.g. SIG --> <additionalInstructions><!-- 0..1 CodeableConcept Supplemental instructions - e.g. "with meals" --></additionalInstructions> <timing><!-- 0..1 Timing When medication should be administered --></timing> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" (for x) --></asNeeded[x]> <site[x]><!-- 0..1 CodeableConcept|Reference(BodySite) Body site to administer to --></site[x]> <route><!-- 0..1 CodeableConcept How drug should enter body --></route> <method><!-- 0..1 CodeableConcept Technique for administering medication --></method> <dose[x]><!-- 0..1 Range|Quantity(SimpleQuantity) Amount of medication per dose --></dose[x]><</rate[x]><rate[x]><!-- 0..1 Ratio|Range|Quantity(SimpleQuantity) Amount of medication per unit of time --></rate[x]> <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> </dosageInstruction> <dispenseRequest> <!-- 0..1 Medication supply authorization --> <medication[x]><!-- 0..1 CodeableConcept|Reference(Medication) Product to be supplied --></medication[x]> <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod> <numberOfRepeatsAllowed value="[positiveInt]"/><!-- 0..1 Number of refills authorized --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of medication to supply per dispense --></quantity> <expectedSupplyDuration><!-- 0..1 Quantity(Duration) Number of days supply per dispense --></expectedSupplyDuration> </dispenseRequest> <substitution> <!-- 0..1 Any restrictions on medication substitution --><</type> <</reason><type><!-- 1..1 CodeableConcept generic | formulary + --></type> <reason><!-- 0..1 CodeableConcept Why should (not) substitution be made --></reason> </substitution> <priorPrescription><!-- 0..1 Reference(MedicationOrder) An order/prescription that this supersedes --></priorPrescription> </MedicationOrder>
JSON
Template
JSON Template
{
"resourceType" : "MedicationOrder",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // External identifier
"
"status" : "<code>", // active | on-hold | completed | entered-in-error | stopped | draft
"
"
"
"
"
" },
" },
"
// medication[x]: Medication to be taken. One of these 2:
"medicationCodeableConcept" : { CodeableConcept },
"medicationReference" : { Reference(Medication) },
"patient" : { Reference(Patient) }, // Who prescription is for
"encounter" : { Reference(Encounter) }, // Created during encounter/admission/stay
"dateWritten" : "<dateTime>", // When prescription was authorized
"prescriber" : { Reference(Practitioner) }, // Who ordered the medication(s)
"reasonCode" : [{ CodeableConcept }], // Reason or indication for writing the prescription
"reasonReference" : [{ Reference(Condition) }], // Condition that supports why the prescription is being written
"dateEnded" : "<dateTime>", // When prescription was stopped
"reasonEnded" : { CodeableConcept }, // Why prescription was stopped
"note" : [{ Annotation }], // Information about the prescription
"dosageInstruction" : [{ // How medication should be taken
"
"text" : "<string>", // Free text dosage instructions e.g. SIG
"additionalInstructions" : { CodeableConcept }, // Supplemental instructions - e.g. "with meals"
"timing" : { Timing }, // When medication should be administered
// asNeeded[x]: Take "as needed" (for x). One of these 2:
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept },
// site[x]: Body site to administer to. One of these 2:
"siteCodeableConcept" : { CodeableConcept },
"siteReference" : { Reference(BodySite) },
"route" : { CodeableConcept }, // How drug should enter body
"method" : { CodeableConcept }, // Technique for administering medication
// dose[x]: Amount of medication per dose. One of these 2:
"doseRange" : { Range },
"doseQuantity" : { Quantity(SimpleQuantity) },
// rate[x]: Amount of medication per unit of time. One of these 3:
"rateRatio" : { Ratio },
"rateRange" : { Range },
"rateQuantity" : { Quantity(SimpleQuantity) },
"maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time
}],
"dispenseRequest" : { // Medication supply authorization
// medication[x]: Product to be supplied. One of these 2:
"medicationCodeableConcept" : { CodeableConcept },
"medicationReference" : { Reference(Medication) },
"validityPeriod" : { Period }, // Time period supply is authorized for
"numberOfRepeatsAllowed" : "<positiveInt>", // Number of refills authorized
"quantity" : { Quantity(SimpleQuantity) }, // Amount of medication to supply per dispense
"expectedSupplyDuration" : { Quantity(Duration) } // Number of days supply per dispense
},
"substitution" : { // Any restrictions on medication substitution
"
"
"type" : { CodeableConcept }, // R! generic | formulary +
"reason" : { CodeableConcept } // Why should (not) substitution be made
},
"priorPrescription" : { Reference(MedicationOrder) } // An order/prescription that this supersedes
}
Alternate
definitions:
Alternate definitions:
Schema
/
Schematron
,
Resource
Profile
(
, Resource Profile (
XML
,
,
JSON
),
),
Questionnaire
| Path | Definition | Type | Reference |
|---|---|---|---|
|
|
|
Required |
MedicationOrderStatus
|
|
|
|
Example |
|
| MedicationOrder.reasonEnded | Codes indicating why the medication was terminated; e.g. Adverse reaction, medication change, issue resolved, etc. | Unknown |
|
| MedicationOrder.dosageInstruction.additionalInstructions | Codes identifying additional instructions such as "take with water" or "avoid operating heavy machinery". | Unknown |
|
|
|
|
Unknown |
|
|
|
|
Example |
|
|
|
|
Example |
|
|
|
|
Unknown |
|
|
|
|
Example | ActSubstanceAdminSubstitutionCode |
|
|
|
Example | SubstanceAdminSubstitutionReason |
Search parameters for this resource. The
common parameters
also apply. See
Searching
for
more
information
about
searching
in
REST,
messaging,
and
services.
for more information about searching in REST, messaging, and services.
| Name | Type | Description | Paths |
| code | token |
|
MedicationOrder.medicationCodeableConcept |
| datewritten | date |
|
MedicationOrder.dateWritten |
| encounter | reference |
|
MedicationOrder.encounter
( Encounter ) |
| identifier | token |
|
MedicationOrder.identifier |
| medication | reference |
|
MedicationOrder.medicationReference
( Medication ) |
| patient | reference |
|
MedicationOrder.patient
( Patient ) |
| prescriber | reference |
|
MedicationOrder.prescriber
( Practitioner ) |
| status | token |
|
MedicationOrder.status |