This page is part of the FHIR Specification v4.1.0: R4B Ballot. About the R4B version of FHIR. 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
Pharmacy Work Group | Maturity Level: 3 | Trial Use | Security Category: Patient | Compartments: Encounter, Patient, Practitioner |
An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.
This resource covers all type of orders for medications for a patient. This includes inpatient 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 (eyeglasses, supplies, etc.). In addition, the MedicationRequest may be used to report orders/request from external systems that have been reported for informational purposes and are not authoritative and are not expected to be acted upon (e.g. dispensed or administered).
The MedicationRequest resource is a "request" resource from a FHIR workflow perspective - see Workflow Request.
The MedicationRequest resource allows requesting only a single medication. If a workflow requires requesting multiple items simultaneously, this is done using multiple instances of this resource. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern
The MedicationRequest resource is used to request or order medication for a subject. It may also be used to report a medication request or order from one organization or source to another. When requesting supplies or devices when there is a patient focus or instructions regarding their use, SupplyRequest or DeviceRequest should be used instead. When reporting on the usage of a medication by a patient, the MedicationStatementt resource should be used.
The Medication domain includes a number of related resources
MedicationRequest | 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, DiagnosticReport, ExplanationOfBenefit, MedicationAdministration, MedicationDispense, itself, MedicationStatement, Observation and ServiceRequest.
This resource implements the Request pattern.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationRequest | TU | DomainResource | Ordering of medication for patient or group Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External ids for this request | |
status | ?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown medicationrequest Status (Required) |
statusReason | 0..1 | CodeableConcept | Reason for current status medicationRequest Status Reason Codes (Example) | |
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option medicationRequest Intent (Required) |
category | 0..* | CodeableConcept | Type of medication usage medicationRequest Category Codes (Example) | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat RequestPriority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action |
reported[x] | Σ | 0..1 | Reported rather than primary record | |
reportedBoolean | boolean | |||
reportedReference | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | |||
medication[x] | Σ | 1..1 | Medication to be taken SNOMED CT Medication Codes (Example) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(Medication) | |||
subject | Σ | 1..1 | Reference(Patient | Group) | Who or group medication request is for |
encounter | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay | |
supportingInformation | 0..* | Reference(Any) | Information to support ordering of the medication | |
authoredOn | Σ | 0..1 | dateTime | When request was initially authored |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request |
performer | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration | |
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Procedure Performer Role Codes (Example) |
recorder | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request | |
reasonCode | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Condition/Problem/Diagnosis Codes (Example) | |
reasonReference | 0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written | |
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of |
courseOfTherapyType | 0..1 | CodeableConcept | Overall pattern of medication administration medicationRequest Course of Therapy Codes (Example) | |
insurance | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |
note | 0..* | Annotation | Information about the prescription | |
dosageInstruction | 0..* | Dosage | How the medication should be taken | |
dispenseRequest | 0..1 | BackboneElement | Medication supply authorization | |
initialFill | 0..1 | BackboneElement | First fill details | |
quantity | 0..1 | SimpleQuantity | First fill quantity | |
duration | 0..1 | Duration | First fill duration | |
dispenseInterval | 0..1 | Duration | Minimum period of time between dispenses | |
validityPeriod | 0..1 | Period | Time period supply is authorized for | |
numberOfRepeatsAllowed | 0..1 | unsignedInt | Number of refills authorized | |
quantity | 0..1 | SimpleQuantity | Amount of medication to supply per dispense | |
expectedSupplyDuration | 0..1 | Duration | Number of days supply per dispense | |
performer | 0..1 | Reference(Organization) | Intended dispenser | |
substitution | 0..1 | BackboneElement | Any restrictions on medication substitution | |
allowed[x] | 1..1 | Whether substitution is allowed or not ActSubstanceAdminSubstitutionCode (Example) | ||
allowedBoolean | boolean | |||
allowedCodeableConcept | CodeableConcept | |||
reason | 0..1 | CodeableConcept | Why should (not) substitution be made SubstanceAdminSubstitutionReason (Example) | |
priorPrescription | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced | |
detectedIssue | 0..* | Reference(DetectedIssue) | Clinical Issue with action | |
eventHistory | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<MedicationRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External ids for this request --></identifier> <status value="[code]"/><!-- 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <intent value="[code]"/><!-- 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option --> <category><!-- 0..* CodeableConcept Type of medication usage --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <doNotPerform value="[boolean]"/><!-- 0..1 True if request is prohibiting action --> <reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]> <subject><!-- 1..1 Reference(Group|Patient) Who or group medication request is for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay --></encounter> <supportingInformation><!-- 0..* Reference(Any) Information to support ordering of the medication --></supportingInformation> <authoredOn value="[dateTime]"/><!-- 0..1 When request was initially authored --> <requester><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who/What requested the Request --></requester> <performer><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Intended performer of administration --></performer> <performerType><!-- 0..1 CodeableConcept Desired kind of performer of the medication administration --></performerType> <recorder><!-- 0..1 Reference(Practitioner|PractitionerRole) Person who entered the request --></recorder> <reasonCode><!-- 0..* CodeableConcept Reason or indication for ordering or not ordering the medication --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation) Condition or observation that supports why the prescription is being written --></reasonReference> <instantiatesCanonical value="[canonical]"/><!-- 0..* Instantiates FHIR protocol or definition --> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|ImmunizationRecommendation| MedicationRequest|ServiceRequest) What request fulfills --></basedOn> <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier> <courseOfTherapyType><!-- 0..1 CodeableConcept Overall pattern of medication administration --></courseOfTherapyType> <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance> <note><!-- 0..* Annotation Information about the prescription --></note> <dosageInstruction><!-- 0..* Dosage How the medication should be taken --></dosageInstruction> <dispenseRequest> <!-- 0..1 Medication supply authorization --> <initialFill> <!-- 0..1 First fill details --> <quantity><!-- 0..1 Quantity(SimpleQuantity) First fill quantity --></quantity> <duration><!-- 0..1 Duration First fill duration --></duration> </initialFill> <dispenseInterval><!-- 0..1 Duration Minimum period of time between dispenses --></dispenseInterval> <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod> <numberOfRepeatsAllowed value="[unsignedInt]"/><!-- 0..1 Number of refills authorized --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of medication to supply per dispense --></quantity> <expectedSupplyDuration><!-- 0..1 Duration Number of days supply per dispense --></expectedSupplyDuration> <performer><!-- 0..1 Reference(Organization) Intended dispenser --></performer> </dispenseRequest> <substitution> <!-- 0..1 Any restrictions on medication substitution --> <allowed[x]><!-- 1..1 boolean|CodeableConcept Whether substitution is allowed or not --></allowed[x]> <reason><!-- 0..1 CodeableConcept Why should (not) substitution be made --></reason> </substitution> <priorPrescription><!-- 0..1 Reference(MedicationRequest) An order/prescription that is being replaced --></priorPrescription> <detectedIssue><!-- 0..* Reference(DetectedIssue) Clinical Issue with action --></detectedIssue> <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory> </MedicationRequest>
JSON Template
{ "resourceType" : "MedicationRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External ids for this request "status" : "<code>", // R! active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown "statusReason" : { CodeableConcept }, // Reason for current status "intent" : "<code>", // R! proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option "category" : [{ CodeableConcept }], // Type of medication usage "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if request is prohibiting action // reported[x]: Reported rather than primary record. One of these 2: "reportedBoolean" : <boolean>, "reportedReference" : { Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // medication[x]: Medication to be taken. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) }, "subject" : { Reference(Group|Patient) }, // R! Who or group medication request is for "encounter" : { Reference(Encounter) }, // Encounter created as part of encounter/admission/stay "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication "authoredOn" : "<dateTime>", // When request was initially authored "requester" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who/What requested the Request "performer" : { Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Intended performer of administration "performerType" : { CodeableConcept }, // Desired kind of performer of the medication administration "recorder" : { Reference(Practitioner|PractitionerRole) }, // Person who entered the request "reasonCode" : [{ CodeableConcept }], // Reason or indication for ordering or not ordering the medication "reasonReference" : [{ Reference(Condition|Observation) }], // Condition or observation that supports why the prescription is being written "instantiatesCanonical" : ["<canonical>"], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan|ImmunizationRecommendation| MedicationRequest|ServiceRequest) }], // What request fulfills "groupIdentifier" : { Identifier }, // Composite request this is part of "courseOfTherapyType" : { CodeableConcept }, // Overall pattern of medication administration "insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage "note" : [{ Annotation }], // Information about the prescription "dosageInstruction" : [{ Dosage }], // How the medication should be taken "dispenseRequest" : { // Medication supply authorization "initialFill" : { // First fill details "quantity" : { Quantity(SimpleQuantity) }, // First fill quantity "duration" : { Duration } // First fill duration }, "dispenseInterval" : { Duration }, // Minimum period of time between dispenses "validityPeriod" : { Period }, // Time period supply is authorized for "numberOfRepeatsAllowed" : "<unsignedInt>", // Number of refills authorized "quantity" : { Quantity(SimpleQuantity) }, // Amount of medication to supply per dispense "expectedSupplyDuration" : { Duration }, // Number of days supply per dispense "performer" : { Reference(Organization) } // Intended dispenser }, "substitution" : { // Any restrictions on medication substitution // allowed[x]: Whether substitution is allowed or not. One of these 2: "allowedBoolean" : <boolean>, "allowedCodeableConcept" : { CodeableConcept }, "reason" : { CodeableConcept } // Why should (not) substitution be made }, "priorPrescription" : { Reference(MedicationRequest) }, // An order/prescription that is being replaced "detectedIssue" : [{ Reference(DetectedIssue) }], // Clinical Issue with action "eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:MedicationRequest; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:MedicationRequest.identifier [ Identifier ], ... ; # 0..* External ids for this request fhir:MedicationRequest.status [ code ]; # 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown fhir:MedicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:MedicationRequest.intent [ code ]; # 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option fhir:MedicationRequest.category [ CodeableConcept ], ... ; # 0..* Type of medication usage fhir:MedicationRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:MedicationRequest.doNotPerform [ boolean ]; # 0..1 True if request is prohibiting action # MedicationRequest.reported[x] : 0..1 Reported rather than primary record. One of these 2 fhir:MedicationRequest.reportedBoolean [ boolean ] fhir:MedicationRequest.reportedReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] # MedicationRequest.medication[x] : 1..1 Medication to be taken. One of these 2 fhir:MedicationRequest.medicationCodeableConcept [ CodeableConcept ] fhir:MedicationRequest.medicationReference [ Reference(Medication) ] fhir:MedicationRequest.subject [ Reference(Group|Patient) ]; # 1..1 Who or group medication request is for fhir:MedicationRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of encounter/admission/stay fhir:MedicationRequest.supportingInformation [ Reference(Any) ], ... ; # 0..* Information to support ordering of the medication fhir:MedicationRequest.authoredOn [ dateTime ]; # 0..1 When request was initially authored fhir:MedicationRequest.requester [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who/What requested the Request fhir:MedicationRequest.performer [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Intended performer of administration fhir:MedicationRequest.performerType [ CodeableConcept ]; # 0..1 Desired kind of performer of the medication administration fhir:MedicationRequest.recorder [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Person who entered the request fhir:MedicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Reason or indication for ordering or not ordering the medication fhir:MedicationRequest.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition or observation that supports why the prescription is being written fhir:MedicationRequest.instantiatesCanonical [ canonical ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:MedicationRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:MedicationRequest.basedOn [ Reference(CarePlan|ImmunizationRecommendation|MedicationRequest|ServiceRequest) ], ... ; # 0..* What request fulfills fhir:MedicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of fhir:MedicationRequest.courseOfTherapyType [ CodeableConcept ]; # 0..1 Overall pattern of medication administration fhir:MedicationRequest.insurance [ Reference(ClaimResponse|Coverage) ], ... ; # 0..* Associated insurance coverage fhir:MedicationRequest.note [ Annotation ], ... ; # 0..* Information about the prescription fhir:MedicationRequest.dosageInstruction [ Dosage ], ... ; # 0..* How the medication should be taken fhir:MedicationRequest.dispenseRequest [ # 0..1 Medication supply authorization fhir:MedicationRequest.dispenseRequest.initialFill [ # 0..1 First fill details fhir:MedicationRequest.dispenseRequest.initialFill.quantity [ Quantity(SimpleQuantity) ]; # 0..1 First fill quantity fhir:MedicationRequest.dispenseRequest.initialFill.duration [ Duration ]; # 0..1 First fill duration ]; fhir:MedicationRequest.dispenseRequest.dispenseInterval [ Duration ]; # 0..1 Minimum period of time between dispenses fhir:MedicationRequest.dispenseRequest.validityPeriod [ Period ]; # 0..1 Time period supply is authorized for fhir:MedicationRequest.dispenseRequest.numberOfRepeatsAllowed [ unsignedInt ]; # 0..1 Number of refills authorized fhir:MedicationRequest.dispenseRequest.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount of medication to supply per dispense fhir:MedicationRequest.dispenseRequest.expectedSupplyDuration [ Duration ]; # 0..1 Number of days supply per dispense fhir:MedicationRequest.dispenseRequest.performer [ Reference(Organization) ]; # 0..1 Intended dispenser ]; fhir:MedicationRequest.substitution [ # 0..1 Any restrictions on medication substitution # MedicationRequest.substitution.allowed[x] : 1..1 Whether substitution is allowed or not. One of these 2 fhir:MedicationRequest.substitution.allowedBoolean [ boolean ] fhir:MedicationRequest.substitution.allowedCodeableConcept [ CodeableConcept ] fhir:MedicationRequest.substitution.reason [ CodeableConcept ]; # 0..1 Why should (not) substitution be made ]; fhir:MedicationRequest.priorPrescription [ Reference(MedicationRequest) ]; # 0..1 An order/prescription that is being replaced fhir:MedicationRequest.detectedIssue [ Reference(DetectedIssue) ], ... ; # 0..* Clinical Issue with action fhir:MedicationRequest.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of events of interest in the lifecycle ]
Changes since R3
MedicationRequest | |
MedicationRequest.status |
|
MedicationRequest.intent |
|
MedicationRequest.priority |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 36 tests that all execute ok. 8 fail round-trip testing and 36 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationRequest | TU | DomainResource | Ordering of medication for patient or group Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External ids for this request | |
status | ?!Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown medicationrequest Status (Required) |
statusReason | 0..1 | CodeableConcept | Reason for current status medicationRequest Status Reason Codes (Example) | |
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option medicationRequest Intent (Required) |
category | 0..* | CodeableConcept | Type of medication usage medicationRequest Category Codes (Example) | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat RequestPriority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action |
reported[x] | Σ | 0..1 | Reported rather than primary record | |
reportedBoolean | boolean | |||
reportedReference | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | |||
medication[x] | Σ | 1..1 | Medication to be taken SNOMED CT Medication Codes (Example) | |
medicationCodeableConcept | CodeableConcept | |||
medicationReference | Reference(Medication) | |||
subject | Σ | 1..1 | Reference(Patient | Group) | Who or group medication request is for |
encounter | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay | |
supportingInformation | 0..* | Reference(Any) | Information to support ordering of the medication | |
authoredOn | Σ | 0..1 | dateTime | When request was initially authored |
requester | Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request |
performer | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration | |
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Procedure Performer Role Codes (Example) |
recorder | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request | |
reasonCode | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Condition/Problem/Diagnosis Codes (Example) | |
reasonReference | 0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written | |
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of |
courseOfTherapyType | 0..1 | CodeableConcept | Overall pattern of medication administration medicationRequest Course of Therapy Codes (Example) | |
insurance | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |
note | 0..* | Annotation | Information about the prescription | |
dosageInstruction | 0..* | Dosage | How the medication should be taken | |
dispenseRequest | 0..1 | BackboneElement | Medication supply authorization | |
initialFill | 0..1 | BackboneElement | First fill details | |
quantity | 0..1 | SimpleQuantity | First fill quantity | |
duration | 0..1 | Duration | First fill duration | |
dispenseInterval | 0..1 | Duration | Minimum period of time between dispenses | |
validityPeriod | 0..1 | Period | Time period supply is authorized for | |
numberOfRepeatsAllowed | 0..1 | unsignedInt | Number of refills authorized | |
quantity | 0..1 | SimpleQuantity | Amount of medication to supply per dispense | |
expectedSupplyDuration | 0..1 | Duration | Number of days supply per dispense | |
performer | 0..1 | Reference(Organization) | Intended dispenser | |
substitution | 0..1 | BackboneElement | Any restrictions on medication substitution | |
allowed[x] | 1..1 | Whether substitution is allowed or not ActSubstanceAdminSubstitutionCode (Example) | ||
allowedBoolean | boolean | |||
allowedCodeableConcept | CodeableConcept | |||
reason | 0..1 | CodeableConcept | Why should (not) substitution be made SubstanceAdminSubstitutionReason (Example) | |
priorPrescription | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced | |
detectedIssue | 0..* | Reference(DetectedIssue) | Clinical Issue with action | |
eventHistory | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle | |
Documentation for this format |
XML Template
<MedicationRequest xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External ids for this request --></identifier> <status value="[code]"/><!-- 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <intent value="[code]"/><!-- 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option --> <category><!-- 0..* CodeableConcept Type of medication usage --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <doNotPerform value="[boolean]"/><!-- 0..1 True if request is prohibiting action --> <reported[x]><!-- 0..1 boolean|Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Reported rather than primary record --></reported[x]> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]> <subject><!-- 1..1 Reference(Group|Patient) Who or group medication request is for --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay --></encounter> <supportingInformation><!-- 0..* Reference(Any) Information to support ordering of the medication --></supportingInformation> <authoredOn value="[dateTime]"/><!-- 0..1 When request was initially authored --> <requester><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who/What requested the Request --></requester> <performer><!-- 0..1 Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Intended performer of administration --></performer> <performerType><!-- 0..1 CodeableConcept Desired kind of performer of the medication administration --></performerType> <recorder><!-- 0..1 Reference(Practitioner|PractitionerRole) Person who entered the request --></recorder> <reasonCode><!-- 0..* CodeableConcept Reason or indication for ordering or not ordering the medication --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation) Condition or observation that supports why the prescription is being written --></reasonReference> <instantiatesCanonical value="[canonical]"/><!-- 0..* Instantiates FHIR protocol or definition --> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|ImmunizationRecommendation| MedicationRequest|ServiceRequest) What request fulfills --></basedOn> <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier> <courseOfTherapyType><!-- 0..1 CodeableConcept Overall pattern of medication administration --></courseOfTherapyType> <insurance><!-- 0..* Reference(ClaimResponse|Coverage) Associated insurance coverage --></insurance> <note><!-- 0..* Annotation Information about the prescription --></note> <dosageInstruction><!-- 0..* Dosage How the medication should be taken --></dosageInstruction> <dispenseRequest> <!-- 0..1 Medication supply authorization --> <initialFill> <!-- 0..1 First fill details --> <quantity><!-- 0..1 Quantity(SimpleQuantity) First fill quantity --></quantity> <duration><!-- 0..1 Duration First fill duration --></duration> </initialFill> <dispenseInterval><!-- 0..1 Duration Minimum period of time between dispenses --></dispenseInterval> <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod> <numberOfRepeatsAllowed value="[unsignedInt]"/><!-- 0..1 Number of refills authorized --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of medication to supply per dispense --></quantity> <expectedSupplyDuration><!-- 0..1 Duration Number of days supply per dispense --></expectedSupplyDuration> <performer><!-- 0..1 Reference(Organization) Intended dispenser --></performer> </dispenseRequest> <substitution> <!-- 0..1 Any restrictions on medication substitution --> <allowed[x]><!-- 1..1 boolean|CodeableConcept Whether substitution is allowed or not --></allowed[x]> <reason><!-- 0..1 CodeableConcept Why should (not) substitution be made --></reason> </substitution> <priorPrescription><!-- 0..1 Reference(MedicationRequest) An order/prescription that is being replaced --></priorPrescription> <detectedIssue><!-- 0..* Reference(DetectedIssue) Clinical Issue with action --></detectedIssue> <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory> </MedicationRequest>
JSON Template
{ "resourceType" : "MedicationRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External ids for this request "status" : "<code>", // R! active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown "statusReason" : { CodeableConcept }, // Reason for current status "intent" : "<code>", // R! proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option "category" : [{ CodeableConcept }], // Type of medication usage "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if request is prohibiting action // reported[x]: Reported rather than primary record. One of these 2: "reportedBoolean" : <boolean>, "reportedReference" : { Reference(Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // medication[x]: Medication to be taken. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) }, "subject" : { Reference(Group|Patient) }, // R! Who or group medication request is for "encounter" : { Reference(Encounter) }, // Encounter created as part of encounter/admission/stay "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication "authoredOn" : "<dateTime>", // When request was initially authored "requester" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who/What requested the Request "performer" : { Reference(CareTeam|Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Intended performer of administration "performerType" : { CodeableConcept }, // Desired kind of performer of the medication administration "recorder" : { Reference(Practitioner|PractitionerRole) }, // Person who entered the request "reasonCode" : [{ CodeableConcept }], // Reason or indication for ordering or not ordering the medication "reasonReference" : [{ Reference(Condition|Observation) }], // Condition or observation that supports why the prescription is being written "instantiatesCanonical" : ["<canonical>"], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(CarePlan|ImmunizationRecommendation| MedicationRequest|ServiceRequest) }], // What request fulfills "groupIdentifier" : { Identifier }, // Composite request this is part of "courseOfTherapyType" : { CodeableConcept }, // Overall pattern of medication administration "insurance" : [{ Reference(ClaimResponse|Coverage) }], // Associated insurance coverage "note" : [{ Annotation }], // Information about the prescription "dosageInstruction" : [{ Dosage }], // How the medication should be taken "dispenseRequest" : { // Medication supply authorization "initialFill" : { // First fill details "quantity" : { Quantity(SimpleQuantity) }, // First fill quantity "duration" : { Duration } // First fill duration }, "dispenseInterval" : { Duration }, // Minimum period of time between dispenses "validityPeriod" : { Period }, // Time period supply is authorized for "numberOfRepeatsAllowed" : "<unsignedInt>", // Number of refills authorized "quantity" : { Quantity(SimpleQuantity) }, // Amount of medication to supply per dispense "expectedSupplyDuration" : { Duration }, // Number of days supply per dispense "performer" : { Reference(Organization) } // Intended dispenser }, "substitution" : { // Any restrictions on medication substitution // allowed[x]: Whether substitution is allowed or not. One of these 2: "allowedBoolean" : <boolean>, "allowedCodeableConcept" : { CodeableConcept }, "reason" : { CodeableConcept } // Why should (not) substitution be made }, "priorPrescription" : { Reference(MedicationRequest) }, // An order/prescription that is being replaced "detectedIssue" : [{ Reference(DetectedIssue) }], // Clinical Issue with action "eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:MedicationRequest; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:MedicationRequest.identifier [ Identifier ], ... ; # 0..* External ids for this request fhir:MedicationRequest.status [ code ]; # 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown fhir:MedicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:MedicationRequest.intent [ code ]; # 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option fhir:MedicationRequest.category [ CodeableConcept ], ... ; # 0..* Type of medication usage fhir:MedicationRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:MedicationRequest.doNotPerform [ boolean ]; # 0..1 True if request is prohibiting action # MedicationRequest.reported[x] : 0..1 Reported rather than primary record. One of these 2 fhir:MedicationRequest.reportedBoolean [ boolean ] fhir:MedicationRequest.reportedReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] # MedicationRequest.medication[x] : 1..1 Medication to be taken. One of these 2 fhir:MedicationRequest.medicationCodeableConcept [ CodeableConcept ] fhir:MedicationRequest.medicationReference [ Reference(Medication) ] fhir:MedicationRequest.subject [ Reference(Group|Patient) ]; # 1..1 Who or group medication request is for fhir:MedicationRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of encounter/admission/stay fhir:MedicationRequest.supportingInformation [ Reference(Any) ], ... ; # 0..* Information to support ordering of the medication fhir:MedicationRequest.authoredOn [ dateTime ]; # 0..1 When request was initially authored fhir:MedicationRequest.requester [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who/What requested the Request fhir:MedicationRequest.performer [ Reference(CareTeam|Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Intended performer of administration fhir:MedicationRequest.performerType [ CodeableConcept ]; # 0..1 Desired kind of performer of the medication administration fhir:MedicationRequest.recorder [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Person who entered the request fhir:MedicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Reason or indication for ordering or not ordering the medication fhir:MedicationRequest.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition or observation that supports why the prescription is being written fhir:MedicationRequest.instantiatesCanonical [ canonical ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:MedicationRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition fhir:MedicationRequest.basedOn [ Reference(CarePlan|ImmunizationRecommendation|MedicationRequest|ServiceRequest) ], ... ; # 0..* What request fulfills fhir:MedicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of fhir:MedicationRequest.courseOfTherapyType [ CodeableConcept ]; # 0..1 Overall pattern of medication administration fhir:MedicationRequest.insurance [ Reference(ClaimResponse|Coverage) ], ... ; # 0..* Associated insurance coverage fhir:MedicationRequest.note [ Annotation ], ... ; # 0..* Information about the prescription fhir:MedicationRequest.dosageInstruction [ Dosage ], ... ; # 0..* How the medication should be taken fhir:MedicationRequest.dispenseRequest [ # 0..1 Medication supply authorization fhir:MedicationRequest.dispenseRequest.initialFill [ # 0..1 First fill details fhir:MedicationRequest.dispenseRequest.initialFill.quantity [ Quantity(SimpleQuantity) ]; # 0..1 First fill quantity fhir:MedicationRequest.dispenseRequest.initialFill.duration [ Duration ]; # 0..1 First fill duration ]; fhir:MedicationRequest.dispenseRequest.dispenseInterval [ Duration ]; # 0..1 Minimum period of time between dispenses fhir:MedicationRequest.dispenseRequest.validityPeriod [ Period ]; # 0..1 Time period supply is authorized for fhir:MedicationRequest.dispenseRequest.numberOfRepeatsAllowed [ unsignedInt ]; # 0..1 Number of refills authorized fhir:MedicationRequest.dispenseRequest.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount of medication to supply per dispense fhir:MedicationRequest.dispenseRequest.expectedSupplyDuration [ Duration ]; # 0..1 Number of days supply per dispense fhir:MedicationRequest.dispenseRequest.performer [ Reference(Organization) ]; # 0..1 Intended dispenser ]; fhir:MedicationRequest.substitution [ # 0..1 Any restrictions on medication substitution # MedicationRequest.substitution.allowed[x] : 1..1 Whether substitution is allowed or not. One of these 2 fhir:MedicationRequest.substitution.allowedBoolean [ boolean ] fhir:MedicationRequest.substitution.allowedCodeableConcept [ CodeableConcept ] fhir:MedicationRequest.substitution.reason [ CodeableConcept ]; # 0..1 Why should (not) substitution be made ]; fhir:MedicationRequest.priorPrescription [ Reference(MedicationRequest) ]; # 0..1 An order/prescription that is being replaced fhir:MedicationRequest.detectedIssue [ Reference(DetectedIssue) ], ... ; # 0..* Clinical Issue with action fhir:MedicationRequest.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of events of interest in the lifecycle ]
Changes since Release 3
MedicationRequest | |
MedicationRequest.status |
|
MedicationRequest.intent |
|
MedicationRequest.priority |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 36 tests that all execute ok. 8 fail round-trip testing and 36 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
MedicationRequest.status | A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. | Required | medicationrequest Status |
MedicationRequest.statusReason | Identifies the reasons for a given status. | Example | medicationRequest Status Reason Codes |
MedicationRequest.intent | The kind of medication order. | Required | medicationRequest Intent |
MedicationRequest.category | A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. | Example | medicationRequest Category Codes |
MedicationRequest.priority | Identifies the level of importance to be assigned to actioning the request. | Required | RequestPriority |
MedicationRequest.medication[x] | A coded concept identifying substance or product that can be ordered. | Example | SNOMEDCTMedicationCodes |
MedicationRequest.performerType | Identifies the type of individual that is desired to administer the medication. | Example | ProcedurePerformerRoleCodes |
MedicationRequest.reasonCode | A coded concept indicating why the medication was ordered. | Example | Condition/Problem/DiagnosisCodes |
MedicationRequest.courseOfTherapyType | Identifies the overall pattern of medication administratio. | Example | medicationRequest Course of Therapy Codes |
MedicationRequest.substitution.allowed[x] | Identifies the type of substitution allowed. | Example | ActSubstanceAdminSubstitutionCode |
MedicationRequest.substitution.reason | A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. | Example | SubstanceAdminSubstitutionReason |
Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing.
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 | Expression | In Common |
authoredon | date | Return prescriptions written on this date | MedicationRequest.authoredOn | |
category | token | Returns prescriptions with different categories | MedicationRequest.category | |
code | token | Return prescriptions of this medication code | (MedicationRequest.medication as CodeableConcept) | |
date | date | Returns medication request to be administered on a specific date | MedicationRequest.dosageInstruction.timing.event | |
encounter | reference | Return prescriptions with this encounter identifier | MedicationRequest.encounter (Encounter) | |
identifier | token | Return prescriptions with this external identifier | MedicationRequest.identifier | |
intended-dispenser | reference | Returns prescriptions intended to be dispensed by this Organization | MedicationRequest.dispenseRequest.performer (Organization) | |
intended-performer | reference | Returns the intended performer of the administration of the medication request | MedicationRequest.performer (Practitioner, Organization, CareTeam, Device, Patient, PractitionerRole, RelatedPerson) | |
intended-performertype | token | Returns requests for a specific type of performer | MedicationRequest.performerType | |
intent | token | Returns prescriptions with different intents | MedicationRequest.intent | |
medication | reference | Return prescriptions for this medication reference | (MedicationRequest.medication as Reference) (Medication) | |
patient | reference | Returns prescriptions for a specific patient | MedicationRequest.subject.where(resolve() is Patient) (Group, Patient) | |
priority | token | Returns prescriptions with different priorities | MedicationRequest.priority | |
requester | reference | Returns prescriptions prescribed by this prescriber | MedicationRequest.requester (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
status | token | Status of the prescription | MedicationRequest.status | |
subject | reference | The identity of a patient to list orders for | MedicationRequest.subject (Group, Patient) |