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
This resource maintained by the Pharmacy Work Group
An order for both supply of the medication and the instructions for administration of the medicine to a patient.
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) and dietary 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
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 referenced by CarePlan, CarePlan2, ClinicalAssessment, MedicationAdministration, MedicationDispense, PharmacyClaim and Procedure
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationPrescription | DomainResource | Prescription of medication to for patient | ||
identifier | M | 0..* | Identifier | External identifier |
dateWritten | 0..1 | dateTime | When prescription was authorized | |
status | M | 0..1 | code | active | on-hold | completed | entered-in-error | stopped | superceded | draft MedicationPrescriptionStatus (Required) |
patient | 0..1 | Patient | Who prescription is for | |
prescriber | 0..1 | Practitioner | Who ordered the medication(s) | |
encounter | 0..1 | Encounter | Created during encounter / admission / stay | |
reason[x] | Reason or indication for writing the prescription | |||
reasonCodeableConcept | 0..1 | CodeableConcept | ||
reasonReference | 0..1 | Condition | ||
note | 0..1 | string | Information about the prescription | |
medication | 0..1 | Medication | Medication to be taken | |
dosageInstruction | 0..* | Element | How medication should be taken | |
text | 0..1 | string | Dosage instructions expressed as text | |
additionalInstructions | 0..1 | CodeableConcept | Supplemental instructions - e.g. "with meals" | |
scheduled[x] | When medication should be administered | |||
scheduledDateTime | 0..1 | dateTime | ||
scheduledPeriod | 0..1 | Period | ||
scheduledTiming | 0..1 | Timing | ||
asNeeded[x] | Take "as needed" f(or x) | |||
asNeededBoolean | 0..1 | boolean | ||
asNeededCodeableConcept | 0..1 | CodeableConcept | ||
site | 0..1 | CodeableConcept | Body site to administer to MedicationAdministrationSite (Example) | |
route | 0..1 | CodeableConcept | How drug should enter body RouteOfAdministration (Example) | |
method | 0..1 | CodeableConcept | Technique for administering medication MedicationAdministrationMethod (Example) | |
dose[x] | Amount of medication per dose | |||
doseRange | 0..1 | Range | ||
doseQuantity | 0..1 | Quantity | ||
rate | 0..1 | Ratio | Amount of medication per unit of time | |
maxDosePerPeriod | 0..1 | Ratio | Upper limit on medication per unit of time | |
dispense | 0..1 | Element | Medication supply authorization | |
medication | 0..1 | Medication | Product to be supplied | |
validityPeriod | 0..1 | Period | Time period supply is authorized for | |
numberOfRepeatsAllowed | 0..1 | integer | # of refills authorized | |
quantity | 0..1 | Quantity | Amount of medication to supply per dispense | |
expectedSupplyDuration | 0..1 | Duration | Days supply per dispense | |
substitution | 0..1 | Element | Any restrictions on medication substitution? | |
type | 1..1 | CodeableConcept | generic | formulary + MedicationIntendedSubstitutionType (Example) | |
reason | 0..1 | CodeableConcept | Why should substitution (not) be made MedicationIntendedSubstitutionReason (Example) |
UML Diagram
XML Template
<MedicationPrescription 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> <dateWritten value="[dateTime]"/><!-- 0..1 When prescription was authorized --> <status value="[code]"/><!-- 0..1 active | on-hold | completed | entered-in-error | stopped | superceded | draft --> <patient><!-- 0..1 Reference(Patient) Who prescription is for --></patient> <prescriber><!-- 0..1 Reference(Practitioner) Who ordered the medication(s) --></prescriber> <encounter><!-- 0..1 Reference(Encounter) Created during encounter / admission / stay --></encounter> <reason[x]><!-- 0..1 CodeableConcept|Reference(Condition) Reason or indication for writing the prescription --></reason[x]> <note value="[string]"/><!-- 0..1 Information about the prescription --> <medication><!-- 0..1 Reference(Medication) Medication to be taken --></medication> <dosageInstruction> <!-- 0..* How medication should be taken --> <text value="[string]"/><!-- 0..1 Dosage instructions expressed as text --> <additionalInstructions><!-- 0..1 CodeableConcept Supplemental instructions - e.g. "with meals" --></additionalInstructions> <scheduled[x]><!-- 0..1 dateTime|Period|Timing When medication should be administered --></scheduled[x]> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]> <site><!-- 0..1 CodeableConcept Body site to administer to --></site> <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 Amount of medication per dose --></dose[x]> <rate><!-- 0..1 Ratio Amount of medication per unit of time --></rate> <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> </dosageInstruction> <dispense> <!-- 0..1 Medication supply authorization --> <medication><!-- 0..1 Reference(Medication) Product to be supplied --></medication> <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod> <numberOfRepeatsAllowed value="[integer]"/><!-- 0..1 # of refills authorized --> <quantity><!-- 0..1 Quantity Amount of medication to supply per dispense --></quantity> <expectedSupplyDuration><!-- 0..1 Duration Days supply per dispense --></expectedSupplyDuration> </dispense> <substitution> <!-- 0..1 Any restrictions on medication substitution? --> <type><!-- 1..1 CodeableConcept generic | formulary + --></type> <reason><!-- 0..1 CodeableConcept Why should substitution (not) be made --></reason> </substitution> </MedicationPrescription>
JSON Template
{ "resourceType" : "MedicationPrescription", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External identifier "dateWritten" : "<dateTime>", // When prescription was authorized "status" : "<code>", // active | on-hold | completed | entered-in-error | stopped | superceded | draft "patient" : { Reference(Patient) }, // Who prescription is for "prescriber" : { Reference(Practitioner) }, // Who ordered the medication(s) "encounter" : { Reference(Encounter) }, // Created during encounter / admission / stay // reason[x]: Reason or indication for writing the prescription. One of these 2: "reasonCodeableConcept" : { CodeableConcept }, "reasonReference" : { Reference(Condition) }, "note" : "<string>", // Information about the prescription "medication" : { Reference(Medication) }, // Medication to be taken "dosageInstruction" : [{ // How medication should be taken "text" : "<string>", // Dosage instructions expressed as text "additionalInstructions" : { CodeableConcept }, // Supplemental instructions - e.g. "with meals" // scheduled[x]: When medication should be administered. One of these 3: "scheduledDateTime" : "<dateTime>", "scheduledPeriod" : { Period }, "scheduledTiming" : { Timing }, // asNeeded[x]: Take "as needed" f(or x). One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "site" : { CodeableConcept }, // Body site to administer to "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 }, "rate" : { Ratio }, // Amount of medication per unit of time "maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time }], "dispense" : { // Medication supply authorization "medication" : { Reference(Medication) }, // Product to be supplied "validityPeriod" : { Period }, // Time period supply is authorized for "numberOfRepeatsAllowed" : <integer>, // # of refills authorized "quantity" : { Quantity }, // Amount of medication to supply per dispense "expectedSupplyDuration" : { Duration } // Days supply per dispense }, "substitution" : { // Any restrictions on medication substitution? "type" : { CodeableConcept }, // R! generic | formulary + "reason" : { CodeableConcept } // Why should substitution (not) be made } }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationPrescription | DomainResource | Prescription of medication to for patient | ||
identifier | M | 0..* | Identifier | External identifier |
dateWritten | 0..1 | dateTime | When prescription was authorized | |
status | M | 0..1 | code | active | on-hold | completed | entered-in-error | stopped | superceded | draft MedicationPrescriptionStatus (Required) |
patient | 0..1 | Patient | Who prescription is for | |
prescriber | 0..1 | Practitioner | Who ordered the medication(s) | |
encounter | 0..1 | Encounter | Created during encounter / admission / stay | |
reason[x] | Reason or indication for writing the prescription | |||
reasonCodeableConcept | 0..1 | CodeableConcept | ||
reasonReference | 0..1 | Condition | ||
note | 0..1 | string | Information about the prescription | |
medication | 0..1 | Medication | Medication to be taken | |
dosageInstruction | 0..* | Element | How medication should be taken | |
text | 0..1 | string | Dosage instructions expressed as text | |
additionalInstructions | 0..1 | CodeableConcept | Supplemental instructions - e.g. "with meals" | |
scheduled[x] | When medication should be administered | |||
scheduledDateTime | 0..1 | dateTime | ||
scheduledPeriod | 0..1 | Period | ||
scheduledTiming | 0..1 | Timing | ||
asNeeded[x] | Take "as needed" f(or x) | |||
asNeededBoolean | 0..1 | boolean | ||
asNeededCodeableConcept | 0..1 | CodeableConcept | ||
site | 0..1 | CodeableConcept | Body site to administer to MedicationAdministrationSite (Example) | |
route | 0..1 | CodeableConcept | How drug should enter body RouteOfAdministration (Example) | |
method | 0..1 | CodeableConcept | Technique for administering medication MedicationAdministrationMethod (Example) | |
dose[x] | Amount of medication per dose | |||
doseRange | 0..1 | Range | ||
doseQuantity | 0..1 | Quantity | ||
rate | 0..1 | Ratio | Amount of medication per unit of time | |
maxDosePerPeriod | 0..1 | Ratio | Upper limit on medication per unit of time | |
dispense | 0..1 | Element | Medication supply authorization | |
medication | 0..1 | Medication | Product to be supplied | |
validityPeriod | 0..1 | Period | Time period supply is authorized for | |
numberOfRepeatsAllowed | 0..1 | integer | # of refills authorized | |
quantity | 0..1 | Quantity | Amount of medication to supply per dispense | |
expectedSupplyDuration | 0..1 | Duration | Days supply per dispense | |
substitution | 0..1 | Element | Any restrictions on medication substitution? | |
type | 1..1 | CodeableConcept | generic | formulary + MedicationIntendedSubstitutionType (Example) | |
reason | 0..1 | CodeableConcept | Why should substitution (not) be made MedicationIntendedSubstitutionReason (Example) |
XML Template
<MedicationPrescription 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> <dateWritten value="[dateTime]"/><!-- 0..1 When prescription was authorized --> <status value="[code]"/><!-- 0..1 active | on-hold | completed | entered-in-error | stopped | superceded | draft --> <patient><!-- 0..1 Reference(Patient) Who prescription is for --></patient> <prescriber><!-- 0..1 Reference(Practitioner) Who ordered the medication(s) --></prescriber> <encounter><!-- 0..1 Reference(Encounter) Created during encounter / admission / stay --></encounter> <reason[x]><!-- 0..1 CodeableConcept|Reference(Condition) Reason or indication for writing the prescription --></reason[x]> <note value="[string]"/><!-- 0..1 Information about the prescription --> <medication><!-- 0..1 Reference(Medication) Medication to be taken --></medication> <dosageInstruction> <!-- 0..* How medication should be taken --> <text value="[string]"/><!-- 0..1 Dosage instructions expressed as text --> <additionalInstructions><!-- 0..1 CodeableConcept Supplemental instructions - e.g. "with meals" --></additionalInstructions> <scheduled[x]><!-- 0..1 dateTime|Period|Timing When medication should be administered --></scheduled[x]> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Take "as needed" f(or x) --></asNeeded[x]> <site><!-- 0..1 CodeableConcept Body site to administer to --></site> <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 Amount of medication per dose --></dose[x]> <rate><!-- 0..1 Ratio Amount of medication per unit of time --></rate> <maxDosePerPeriod><!-- 0..1 Ratio Upper limit on medication per unit of time --></maxDosePerPeriod> </dosageInstruction> <dispense> <!-- 0..1 Medication supply authorization --> <medication><!-- 0..1 Reference(Medication) Product to be supplied --></medication> <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod> <numberOfRepeatsAllowed value="[integer]"/><!-- 0..1 # of refills authorized --> <quantity><!-- 0..1 Quantity Amount of medication to supply per dispense --></quantity> <expectedSupplyDuration><!-- 0..1 Duration Days supply per dispense --></expectedSupplyDuration> </dispense> <substitution> <!-- 0..1 Any restrictions on medication substitution? --> <type><!-- 1..1 CodeableConcept generic | formulary + --></type> <reason><!-- 0..1 CodeableConcept Why should substitution (not) be made --></reason> </substitution> </MedicationPrescription>
JSON Template
{ "resourceType" : "MedicationPrescription", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External identifier "dateWritten" : "<dateTime>", // When prescription was authorized "status" : "<code>", // active | on-hold | completed | entered-in-error | stopped | superceded | draft "patient" : { Reference(Patient) }, // Who prescription is for "prescriber" : { Reference(Practitioner) }, // Who ordered the medication(s) "encounter" : { Reference(Encounter) }, // Created during encounter / admission / stay // reason[x]: Reason or indication for writing the prescription. One of these 2: "reasonCodeableConcept" : { CodeableConcept }, "reasonReference" : { Reference(Condition) }, "note" : "<string>", // Information about the prescription "medication" : { Reference(Medication) }, // Medication to be taken "dosageInstruction" : [{ // How medication should be taken "text" : "<string>", // Dosage instructions expressed as text "additionalInstructions" : { CodeableConcept }, // Supplemental instructions - e.g. "with meals" // scheduled[x]: When medication should be administered. One of these 3: "scheduledDateTime" : "<dateTime>", "scheduledPeriod" : { Period }, "scheduledTiming" : { Timing }, // asNeeded[x]: Take "as needed" f(or x). One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept }, "site" : { CodeableConcept }, // Body site to administer to "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 }, "rate" : { Ratio }, // Amount of medication per unit of time "maxDosePerPeriod" : { Ratio } // Upper limit on medication per unit of time }], "dispense" : { // Medication supply authorization "medication" : { Reference(Medication) }, // Product to be supplied "validityPeriod" : { Period }, // Time period supply is authorized for "numberOfRepeatsAllowed" : <integer>, // # of refills authorized "quantity" : { Quantity }, // Amount of medication to supply per dispense "expectedSupplyDuration" : { Duration } // Days supply per dispense }, "substitution" : { // Any restrictions on medication substitution? "type" : { CodeableConcept }, // R! generic | formulary + "reason" : { CodeableConcept } // Why should substitution (not) be made } }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire
Path | Definition | Type | Reference |
---|---|---|---|
MedicationPrescription.status | A code specifying the state of the prescribing event. Describes the lifecycle of the prescription. | Fixed | http://hl7.org/fhir/medication-prescription-status |
MedicationPrescription.dosageInstruction.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 |
MedicationPrescription.dosageInstruction.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 |
MedicationPrescription.dosageInstruction.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 |
MedicationPrescription.dosageInstruction.method | A coded concept describing the technique by which the medicine is administered | Example | http://hl7.org/fhir/vs/administration-method-codes |
MedicationPrescription.substitution.type | A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription | Example | http://hl7.org/fhir/v3/vs/ActSubstanceAdminSubstitutionCode |
MedicationPrescription.substitution.reason | A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. | Example | http://hl7.org/fhir/v3/vs/SubstanceAdminSubstitutionReason |
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 |
datewritten | date | Return prescriptions written on this date | MedicationPrescription.dateWritten |
encounter | reference | Return prescriptions with this encounter identity | MedicationPrescription.encounter (Encounter) |
identifier | token | Return prescriptions with this external identity | MedicationPrescription.identifier |
medication | reference | Code for medicine or text in medicine name | MedicationPrescription.medication (Medication) |
patient | reference | The identity of a patient to list dispenses for | MedicationPrescription.patient (Patient) |
status | token | Status of the prescription | MedicationPrescription.status |