This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). 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 | 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 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.).
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. When requesting supplies or devices when there is a patient focus or instructions regarding their use, SupplyRequest or DeviceRequest should be used instead
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
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 MedicationRequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | instance-order | option MedicationRequestIntent (Required) |
category | 0..* | CodeableConcept | Type of medication usage MedicationRequestCategory (Example) | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Request priority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action |
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 |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Created during 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) | 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 | |
instantiates | Σ | 0..* | uri | Instantiates protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest) | What request fulfills |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of |
statusReason | 0..1 | CodeableConcept | Reason for current status MedicationRequestStatusReason (Example) | |
courseOfTherapyType | 0..1 | CodeableConcept | Overall pattern of medication administration MedicationRequestCourseOfTherapy (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 | 1..1 | boolean | Whether substitution is allowed or not | |
reason | 0..1 | CodeableConcept | Why should (not) substitution be made V3 Value SetSubstanceAdminSubstitutionReason (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 --> <intent value="[code]"/><!-- 1..1 proposal | plan | order | original-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 --> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]> <subject><!-- 1..1 Reference(Patient|Group) Who or group medication request is for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Created during encounter/admission/stay --></context> <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(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) Who/What requested the Request --></requester> <performer><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization| Patient|Device|RelatedPerson|CareTeam) Intended performer of administration --></performer> <performerType><!-- 0..1 CodeableConcept Desired kind of performer of the medication administration --></performerType> <recorder><!-- 0..1 Reference(Practitioner) 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> <instantiates value="[uri]"/><!-- 0..* Instantiates protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest) What request fulfills --></basedOn> <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <courseOfTherapyType><!-- 0..1 CodeableConcept Overall pattern of medication administration --></courseOfTherapyType> <insurance><!-- 0..* Reference(Coverage|ClaimResponse) 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 value="[boolean]"/><!-- 1..1 Whether substitution is allowed or not --> <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 "intent" : "<code>", // R! proposal | plan | order | original-order | instance-order | option "category" : [{ CodeableConcept }], // Type of medication usage "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if request is prohibiting action // medication[x]: Medication to be taken. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) }, "subject" : { Reference(Patient|Group) }, // R! Who or group medication request is for "context" : { Reference(Encounter|EpisodeOfCare) }, // Created during encounter/admission/stay "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication "authoredOn" : "<dateTime>", // When request was initially authored "requester" : { Reference(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) }, // Who/What requested the Request "performer" : { Reference(Practitioner|PractitionerRole|Organization| Patient|Device|RelatedPerson|CareTeam) }, // Intended performer of administration "performerType" : { CodeableConcept }, // Desired kind of performer of the medication administration "recorder" : { Reference(Practitioner) }, // 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 "instantiates" : ["<uri>"], // Instantiates protocol or definition "basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest) }], // What request fulfills "groupIdentifier" : { Identifier }, // Composite request this is part of "statusReason" : { CodeableConcept }, // Reason for current status "courseOfTherapyType" : { CodeableConcept }, // Overall pattern of medication administration "insurance" : [{ Reference(Coverage|ClaimResponse) }], // 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" : <boolean>, // R! Whether substitution is allowed or not "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.intent [ code ]; # 1..1 proposal | plan | order | original-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.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(Patient|Group) ]; # 1..1 Who or group medication request is for fhir:MedicationRequest.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Created during 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(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Who/What requested the Request fhir:MedicationRequest.performer [ Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson|CareTeam) ]; # 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) ]; # 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.instantiates [ uri ], ... ; # 0..* Instantiates protocol or definition fhir:MedicationRequest.basedOn [ Reference(CarePlan|MedicationRequest|ServiceRequest) ], ... ; # 0..* What request fulfills fhir:MedicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of fhir:MedicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:MedicationRequest.courseOfTherapyType [ CodeableConcept ]; # 0..1 Overall pattern of medication administration fhir:MedicationRequest.insurance [ Reference(Coverage|ClaimResponse) ], ... ; # 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 fhir:MedicationRequest.substitution.allowed [ boolean ]; # 1..1 Whether substitution is allowed or not 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.category |
|
MedicationRequest.priority |
|
MedicationRequest.doNotPerform |
|
MedicationRequest.medication[x] |
|
MedicationRequest.requester |
|
MedicationRequest.performer |
|
MedicationRequest.performerType |
|
MedicationRequest.instantiates |
|
MedicationRequest.basedOn |
|
MedicationRequest.statusReason |
|
MedicationRequest.courseOfTherapyType |
|
MedicationRequest.insurance |
|
MedicationRequest.dispenseRequest.initialFill |
|
MedicationRequest.dispenseRequest.initialFill.quantity |
|
MedicationRequest.dispenseRequest.initialFill.duration |
|
MedicationRequest.dispenseRequest.dispenseInterval |
|
MedicationRequest.dispenseRequest.numberOfRepeatsAllowed |
|
MedicationRequest.substitution.allowed |
|
MedicationRequest.definition |
|
MedicationRequest.requester.agent |
|
MedicationRequest.requester.onBehalfOf |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 36 tests of which 24 fail to execute. 12 fail round-trip testing and 12 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 MedicationRequestStatus (Required) |
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | instance-order | option MedicationRequestIntent (Required) |
category | 0..* | CodeableConcept | Type of medication usage MedicationRequestCategory (Example) | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Request priority (Required) |
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action |
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 |
context | 0..1 | Reference(Encounter | EpisodeOfCare) | Created during 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) | 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 | |
instantiates | Σ | 0..* | uri | Instantiates protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest) | What request fulfills |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of |
statusReason | 0..1 | CodeableConcept | Reason for current status MedicationRequestStatusReason (Example) | |
courseOfTherapyType | 0..1 | CodeableConcept | Overall pattern of medication administration MedicationRequestCourseOfTherapy (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 | 1..1 | boolean | Whether substitution is allowed or not | |
reason | 0..1 | CodeableConcept | Why should (not) substitution be made V3 Value SetSubstanceAdminSubstitutionReason (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 --> <intent value="[code]"/><!-- 1..1 proposal | plan | order | original-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 --> <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]> <subject><!-- 1..1 Reference(Patient|Group) Who or group medication request is for --></subject> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Created during encounter/admission/stay --></context> <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(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) Who/What requested the Request --></requester> <performer><!-- 0..1 Reference(Practitioner|PractitionerRole|Organization| Patient|Device|RelatedPerson|CareTeam) Intended performer of administration --></performer> <performerType><!-- 0..1 CodeableConcept Desired kind of performer of the medication administration --></performerType> <recorder><!-- 0..1 Reference(Practitioner) 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> <instantiates value="[uri]"/><!-- 0..* Instantiates protocol or definition --> <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest) What request fulfills --></basedOn> <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <courseOfTherapyType><!-- 0..1 CodeableConcept Overall pattern of medication administration --></courseOfTherapyType> <insurance><!-- 0..* Reference(Coverage|ClaimResponse) 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 value="[boolean]"/><!-- 1..1 Whether substitution is allowed or not --> <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 "intent" : "<code>", // R! proposal | plan | order | original-order | instance-order | option "category" : [{ CodeableConcept }], // Type of medication usage "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if request is prohibiting action // medication[x]: Medication to be taken. One of these 2: "medicationCodeableConcept" : { CodeableConcept }, "medicationReference" : { Reference(Medication) }, "subject" : { Reference(Patient|Group) }, // R! Who or group medication request is for "context" : { Reference(Encounter|EpisodeOfCare) }, // Created during encounter/admission/stay "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication "authoredOn" : "<dateTime>", // When request was initially authored "requester" : { Reference(Practitioner|PractitionerRole|Organization| Patient|RelatedPerson|Device) }, // Who/What requested the Request "performer" : { Reference(Practitioner|PractitionerRole|Organization| Patient|Device|RelatedPerson|CareTeam) }, // Intended performer of administration "performerType" : { CodeableConcept }, // Desired kind of performer of the medication administration "recorder" : { Reference(Practitioner) }, // 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 "instantiates" : ["<uri>"], // Instantiates protocol or definition "basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest) }], // What request fulfills "groupIdentifier" : { Identifier }, // Composite request this is part of "statusReason" : { CodeableConcept }, // Reason for current status "courseOfTherapyType" : { CodeableConcept }, // Overall pattern of medication administration "insurance" : [{ Reference(Coverage|ClaimResponse) }], // 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" : <boolean>, // R! Whether substitution is allowed or not "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.intent [ code ]; # 1..1 proposal | plan | order | original-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.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(Patient|Group) ]; # 1..1 Who or group medication request is for fhir:MedicationRequest.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Created during 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(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Who/What requested the Request fhir:MedicationRequest.performer [ Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson|CareTeam) ]; # 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) ]; # 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.instantiates [ uri ], ... ; # 0..* Instantiates protocol or definition fhir:MedicationRequest.basedOn [ Reference(CarePlan|MedicationRequest|ServiceRequest) ], ... ; # 0..* What request fulfills fhir:MedicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of fhir:MedicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:MedicationRequest.courseOfTherapyType [ CodeableConcept ]; # 0..1 Overall pattern of medication administration fhir:MedicationRequest.insurance [ Reference(Coverage|ClaimResponse) ], ... ; # 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 fhir:MedicationRequest.substitution.allowed [ boolean ]; # 1..1 Whether substitution is allowed or not 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.category |
|
MedicationRequest.priority |
|
MedicationRequest.doNotPerform |
|
MedicationRequest.medication[x] |
|
MedicationRequest.requester |
|
MedicationRequest.performer |
|
MedicationRequest.performerType |
|
MedicationRequest.instantiates |
|
MedicationRequest.basedOn |
|
MedicationRequest.statusReason |
|
MedicationRequest.courseOfTherapyType |
|
MedicationRequest.insurance |
|
MedicationRequest.dispenseRequest.initialFill |
|
MedicationRequest.dispenseRequest.initialFill.quantity |
|
MedicationRequest.dispenseRequest.initialFill.duration |
|
MedicationRequest.dispenseRequest.dispenseInterval |
|
MedicationRequest.dispenseRequest.numberOfRepeatsAllowed |
|
MedicationRequest.substitution.allowed |
|
MedicationRequest.definition |
|
MedicationRequest.requester.agent |
|
MedicationRequest.requester.onBehalfOf |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 36 tests of which 24 fail to execute. 12 fail round-trip testing and 12 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 | MedicationRequestStatus |
MedicationRequest.intent | The kind of medication order. | Required | MedicationRequestIntent |
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 | MedicationRequestCategory |
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.statusReason | Identifies the reasons for a given status. | Example | MedicationRequestStatusReason |
MedicationRequest.courseOfTherapyType | Identifies the overall pattern of medication administratio. | Example | MedicationRequestCourseOfTherapy |
MedicationRequest.substitution.reason | A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. | Example | v3.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) | 13 Resources |
context | reference | Return prescriptions with this encounter or episode of care identifier | MedicationRequest.context (EpisodeOfCare, Encounter) | |
date | date | Returns medication request to be administered on a specific date | MedicationRequest.dosageInstruction.timing.event | 3 Resources |
identifier | token | Return prescriptions with this external identifier | MedicationRequest.identifier | 30 Resources |
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) | 3 Resources |
patient | reference | Returns prescriptions for a specific patient | MedicationRequest.subject.where(resolve() is Patient) (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 | 3 Resources |
subject | reference | The identity of a patient to list orders for | MedicationRequest.subject (Group, Patient) |