STU3 Candidate

This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

11.2 Resource MedicationRequest - Content

Pharmacy Work Group Maturity Level : 1 Compartments : Encounter , Patient , Practitioner

An order 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 as well as for care plans, etc and to harmonize with workflow patterns.

This resource covers all orders for medications for a patient. This includes in-patient medication orders as well as community orders (whether filled by the prescriber or by a pharmacy). It also includes orders for over-the-counter medications (e.g. Aspirin), total parenteral nutrition and diet/ vitamin supplements. It may be used to support the order of medication-related devices. It is not intended for use in prescribing particular diets, or for ordering non-medication-related items (eye-glasses, supplies, etc.).

The 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 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 , ClinicalImpression , ExplanationOfBenefit , MedicationAdministration and MedicationDispense

Structure

Name Flags Card. Type Description & Constraints doco
. . MedicationRequest DomainResource Prescription of medication to for patient
. . . identifier 0..* Identifier External identifier
. . . definition Σ 0..* Reference ( ActivityDefinition | PlanDefinition ) Protocol or definition
. . . basedOn Σ 0..* Reference ( CarePlan | DiagnosticRequest | MedicationRequest | ProcedureRequest | ReferralRequest ) What request fulfills
. . . requisition Σ 0..1 Identifier Identifier of composite
. . . status ?! Σ 0..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft
MedicationRequestStatus ( Required )
. . . stage ?! Σ 1..1 CodeableConcept proposal | plan | original-order
MedicationRequestStage ( Example )
. . . medication[x] Σ 1..1 Medication to be taken
SNOMED CT Medication Codes ( Example )
. . . . medicationCodeableConcept CodeableConcept
. . . . medicationReference Reference ( Medication )
. . . patient Σ 1..1 Reference ( Patient ) Who prescription is for
. . . context 0..1 Reference ( Encounter | EpisodeOfCare ) Created during encounter/admission/stay
. . . supportingInformation 0..* Reference ( Any ) Information to support ordering of the medication
. . . dateWritten Σ 0..1 dateTime When prescription was initially authorized
. . . requester Σ 0..1 Reference ( Practitioner | Organization | Patient | RelatedPerson | Device ) Who ordered the initial medication(s)
. . . reasonCode 0..* CodeableConcept Reason or indication for writing the prescription
Condition/Problem/Diagnosis Codes ( Example )
. . . reasonReference 0..* Reference ( Condition | Observation ) Condition or Observation that supports why the prescription is being written
. . . note 0..* Annotation Information about the prescription
. . . category 0..1 CodeableConcept Type of medication usage
MedicationRequestCategory ( Example )
. . . dosageInstruction 0..* DosageInstruction How the medication should be taken
. . . dispenseRequest 0..1 BackboneElement Medication supply authorization
. . . . validityPeriod 0..1 Period Time period supply is authorized for
. . . . numberOfRepeatsAllowed 0..1 positiveInt 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
SubstanceAdminSubstitutionReason ( Example )
. . . priorPrescription 0..1 Reference ( MedicationRequest ) An order/prescription that this supersedes
. . . eventHistory 0..* Reference ( Provenance ) A list of events of interest in the lifecycle

doco Documentation for this format

UML Diagram ( Legend )

MedicationRequest ( DomainResource ) External identifier - one that would be used by another non-FHIR system - for example a re-imbursement system might issue its own id for each prescription that is created. This is particularly important where FHIR only provides part of an entire workflow process where records have to be tracked through an entire system identifier : Identifier [0..*] Protocol or definition followed by this request definition : Reference [0..*] « ActivityDefinition | PlanDefinition » Plan/proposal/order fulfilled by this request basedOn : Reference [0..*] « CarePlan | DiagnosticRequest | MedicationRequest | ProcedureRequest | ReferralRequest » Composite request this is part of requisition : Identifier [0..1] A code specifying the state of the order. Generally this will be active or completed state (this element modifies the meaning of other elements) status : code [0..1] « A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription (Strength=Required) MedicationRequestStatus ! » Whether the request is a proposal, plan, or an original order (this element modifies the meaning of other elements) stage : CodeableConcept [1..1] « The kind of medication order (Strength=Example) MedicationRequestStage ?? » Identifies the medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications medication[x] : Type [1..1] « CodeableConcept | Reference ( Medication ); A coded concept identifying substance or product that can be ordered. (Strength=Example) SNOMED CT Medication ?? » A link to a resource representing the person to whom the medication will be given patient : Reference [1..1] « Patient » A link to a resource that identifies the particular occurrence or set oc occurences of contact between patient and health care provider context : Reference [0..1] « Encounter | EpisodeOfCare » Include additional information (for example, patient height and weight) that supports the ordering of the medication supportingInformation : Reference [0..*] « Any » The date (and perhaps time) when the prescription was initially written dateWritten : dateTime [0..1] The healthcare professional responsible for authorizing the initial prescription requester : Reference [0..1] « Practitioner | Organization | Patient | RelatedPerson | Device » Can be the reason or the indication for writing the prescription reasonCode : CodeableConcept [0..*] « A coded concept indicating why the medication was ordered. (Strength=Example) Condition/Problem/Diagnosis ?? » Condition or observation that supports why the prescription is being written reasonReference : Reference [0..*] « Condition | Observation » Extra information about the prescription that could not be conveyed by the other attributes note : Annotation [0..*] Indicates where type of medication order and where the medication is expected to be consumed or administered category : CodeableConcept [0..1] « A coded concept identifying where the medication ordered is expected to be consumed or administered (Strength=Example) MedicationRequestCategory ?? » Indicates how the medication is to be used by the patient dosageInstruction : DosageInstruction [0..*] A link to a resource representing an earlier order related order or prescription priorPrescription : Reference [0..1] « MedicationRequest » A summary of the events of interest that have occurred as the request is processed; e.g. when the order was verified or when it was completed eventHistory : Reference [0..*] « Provenance » DispenseRequest This indicates the validity period of a prescription (stale dating the Prescription) validityPeriod : Period [0..1] An integer indicating the number of times, in addition to the original dispense, (aka refills or repeats) that the patient can receive the prescribed medication. Usage Notes: This integer does NOT include the original order dispense. This means that if an order indicates dispense 30 tablets plus "3 repeats", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets numberOfRepeatsAllowed : positiveInt [0..1] The amount that is to be dispensed for one fill quantity : Quantity ( SimpleQuantity ) [0..1] Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last expectedSupplyDuration : Duration [0..1] Indicates the intended dispensing Organization specified by the prescriber performer : Reference [0..1] « Organization » Substitution True if the prescriber allows a different drug to be dispensed from what was prescribed (this element modifies the meaning of other elements) allowed : boolean [1..1] Indicates the reason for the substitution, or why substitution must or must not be performed reason : CodeableConcept [0..1] « A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. (Strength=Example) SubstanceAdminSubstitutionRea... ?? » Indicates the specific details for the dispense or medication supply part of a medication order (also known as a Medication Prescription). Note that this information is NOT always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department dispenseRequest [0..1] Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen, and in others it does not matter. This block explains the prescriber's intent. If nothing is specified substitution may be done substitution [0..1]

XML Template

<MedicationRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External identifier --></identifier>
 <definition><!-- 0..* Reference(ActivityDefinition|PlanDefinition) Protocol or definition --></definition>
 <basedOn><!-- 0..* Reference(CarePlan|DiagnosticRequest|MedicationRequest|
   ProcedureRequest|ReferralRequest) What request fulfills --></basedOn>
 <requisition><!-- 0..1 Identifier Identifier of composite --></requisition>
 <status value="[code]"/><!-- 0..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft -->
 <stage><!-- 1..1 CodeableConcept proposal | plan | original-order --></stage>
 <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]>
 <patient><!-- 1..1 Reference(Patient) Who prescription is for --></patient>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Created during encounter/admission/stay --></context>
 <supportingInformation><!-- 0..* Reference(Any) Information to support ordering of the medication --></supportingInformation>
 <dateWritten value="[dateTime]"/><!-- 0..1 When prescription was initially authorized -->
 <requester><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson|
   Device) Who ordered the initial medication(s) --></requester>
 <reasonCode><!-- 0..* CodeableConcept Reason or indication for writing the prescription --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation) Condition or Observation that supports why the prescription is being written --></reasonReference>
 <note><!-- 0..* Annotation Information about the prescription --></note>
 <category><!-- 0..1 CodeableConcept Type of medication usage --></category>
 <dosageInstruction><!-- 0..* DosageInstruction How the medication should be taken --></dosageInstruction>
 <dispenseRequest>  <!-- 0..1 Medication supply authorization -->
  <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod>
  <numberOfRepeatsAllowed value="[positiveInt]"/><!-- 0..1 Number of refills authorized -->
  <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of medication to supply per dispense --></quantity>
  <expectedSupplyDuration><!-- 0..1 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 this supersedes --></priorPrescription>
 <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory>
</MedicationRequest>

JSON Template

{doco
  "resourceType" : "MedicationRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External identifier
  "definition" : [{ Reference(ActivityDefinition|PlanDefinition) }], // Protocol or definition
  "basedOn" : [{ Reference(CarePlan|DiagnosticRequest|MedicationRequest|
   ProcedureRequest|ReferralRequest) }], // What request fulfills
  "requisition" : { Identifier }, // Identifier of composite
  "status" : "<code>", // active | on-hold | cancelled | completed | entered-in-error | stopped | draft
  "stage" : { CodeableConcept }, // R!  proposal | plan | original-order
  // medication[x]: Medication to be taken. One of these 2:
  "medicationCodeableConcept" : { CodeableConcept },
  "medicationReference" : { Reference(Medication) },
  "patient" : { Reference(Patient) }, // R!  Who prescription is for
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Created during encounter/admission/stay
  "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication
  "dateWritten" : "<dateTime>", // When prescription was initially authorized
  "requester" : { Reference(Practitioner|Organization|Patient|RelatedPerson|
   Device) }, // Who ordered the initial medication(s)
  "reasonCode" : [{ CodeableConcept }], // Reason or indication for writing the prescription
  "reasonReference" : [{ Reference(Condition|Observation) }], // Condition or Observation that supports why the prescription is being written
  "note" : [{ Annotation }], // Information about the prescription
  "category" : { CodeableConcept }, // Type of medication usage
  "dosageInstruction" : [{ DosageInstruction }], // How the medication should be taken
  "dispenseRequest" : { // Medication supply authorization
    "validityPeriod" : { Period }, // Time period supply is authorized for
    "numberOfRepeatsAllowed" : "<positiveInt>", // Number of refills authorized
    "quantity" : { Quantity(SimpleQuantity) }, // Amount of medication to supply per dispense
    "expectedSupplyDuration" : { 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 this supersedes
  "eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 identifier
  fhir:MedicationRequest.definition [ Reference(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Protocol or definition
  fhir:MedicationRequest.basedOn [ Reference(CarePlan|DiagnosticRequest|MedicationRequest|ProcedureRequest|ReferralRequest) ], ... ; # 0..* What request fulfills
  fhir:MedicationRequest.requisition [ Identifier ]; # 0..1 Identifier of composite
  fhir:MedicationRequest.status [ code ]; # 0..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft
  fhir:MedicationRequest.stage [ CodeableConcept ]; # 1..1 proposal | plan | original-order
  # MedicationRequest.medication[x] : 1..1 Medication to be taken. One of these 2
    fhir:MedicationRequest.medicationCodeableConcept [ CodeableConcept ]
    fhir:MedicationRequest.medicationReference [ Reference(Medication) ]
  fhir:MedicationRequest.patient [ Reference(Patient) ]; # 1..1 Who prescription 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.dateWritten [ dateTime ]; # 0..1 When prescription was initially authorized
  fhir:MedicationRequest.requester [ Reference(Practitioner|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Who ordered the initial medication(s)
  fhir:MedicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Reason or indication for writing the prescription
  fhir:MedicationRequest.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition or Observation that supports why the prescription is being written
  fhir:MedicationRequest.note [ Annotation ], ... ; # 0..* Information about the prescription
  fhir:MedicationRequest.category [ CodeableConcept ]; # 0..1 Type of medication usage
  fhir:MedicationRequest.dosageInstruction [ DosageInstruction ], ... ; # 0..* How the medication should be taken
  fhir:MedicationRequest.dispenseRequest [ # 0..1 Medication supply authorization
    fhir:MedicationRequest.dispenseRequest.validityPeriod [ Period ]; # 0..1 Time period supply is authorized for
    fhir:MedicationRequest.dispenseRequest.numberOfRepeatsAllowed [ positiveInt ]; # 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 this supersedes
  fhir:MedicationRequest.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of events of interest in the lifecycle
]

Changes since DSTU2

MedicationRequest Name Changed from MedicationOrder to MedicationRequest
MedicationRequest.definition added Element
MedicationRequest.basedOn added Element
MedicationRequest.requisition added Element
MedicationRequest.status Change value set from http://hl7.org/fhir/ValueSet/medication-order-status to http://hl7.org/fhir/ValueSet/medication-request-status
MedicationRequest.stage added Element
MedicationRequest.patient Min Cardinality changed from 0 to 1
MedicationRequest.context added Element
MedicationRequest.supportingInformation added Element
MedicationRequest.requester added Element
MedicationRequest.reasonCode added Element
MedicationRequest.reasonReference added Element
MedicationRequest.note Max Cardinality changed from 1 to *
Type changed from string to Annotation
MedicationRequest.category added Element
MedicationRequest.dosageInstruction Type changed from BackboneElement to DosageInstruction
MedicationRequest.dispenseRequest.expectedSupplyDuration Type changed from Quantity{http://hl7.org/fhir/StructureDefinition/Duration} to Duration
MedicationRequest.dispenseRequest.performer added Element
MedicationRequest.substitution.allowed added Element
MedicationRequest.priorPrescription Type changed from Reference(MedicationOrder) to Reference(MedicationRequest)
MedicationRequest.eventHistory added Element
MedicationOrder.dateEnded deleted
MedicationOrder.reasonEnded deleted
MedicationOrder.prescriber deleted
MedicationOrder.encounter deleted
MedicationOrder.reason[x] deleted
MedicationOrder.dosageInstruction.text deleted
MedicationOrder.dosageInstruction.additionalInstructions deleted
MedicationOrder.dosageInstruction.timing deleted
MedicationOrder.dosageInstruction.asNeeded[x] deleted
MedicationOrder.dosageInstruction.site[x] deleted
MedicationOrder.dosageInstruction.route deleted
MedicationOrder.dosageInstruction.method deleted
MedicationOrder.dosageInstruction.dose[x] deleted
MedicationOrder.dosageInstruction.rate[x] deleted
MedicationOrder.dosageInstruction.maxDosePerPeriod deleted
MedicationOrder.dispenseRequest.medication[x] deleted
MedicationOrder.substitution.type deleted

See the Full Difference for further information

Structure

Name Flags Card. Type Description & Constraints doco
. . MedicationRequest DomainResource Prescription of medication to for patient
. . . identifier 0..* Identifier External identifier
. . . definition Σ 0..* Reference ( ActivityDefinition | PlanDefinition ) Protocol or definition
. . . basedOn Σ 0..* Reference ( CarePlan | DiagnosticRequest | MedicationRequest | ProcedureRequest | ReferralRequest ) What request fulfills
. . . requisition Σ 0..1 Identifier Identifier of composite
. . . status ?! Σ 0..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft
MedicationRequestStatus ( Required )
. . . stage ?! Σ 1..1 CodeableConcept proposal | plan | original-order
MedicationRequestStage ( Example )
. . . medication[x] Σ 1..1 Medication to be taken
SNOMED CT Medication Codes ( Example )
. . . . medicationCodeableConcept CodeableConcept
. . . . medicationReference Reference ( Medication )
. . . patient Σ 1..1 Reference ( Patient ) Who prescription is for
. . . context 0..1 Reference ( Encounter | EpisodeOfCare ) Created during encounter/admission/stay
. . . supportingInformation 0..* Reference ( Any ) Information to support ordering of the medication
. . . dateWritten Σ 0..1 dateTime When prescription was initially authorized
. . . requester Σ 0..1 Reference ( Practitioner | Organization | Patient | RelatedPerson | Device ) Who ordered the initial medication(s)
. . . reasonCode 0..* CodeableConcept Reason or indication for writing the prescription
Condition/Problem/Diagnosis Codes ( Example )
. . . reasonReference 0..* Reference ( Condition | Observation ) Condition or Observation that supports why the prescription is being written
. . . note 0..* Annotation Information about the prescription
. . . category 0..1 CodeableConcept Type of medication usage
MedicationRequestCategory ( Example )
. . . dosageInstruction 0..* DosageInstruction How the medication should be taken
. . . dispenseRequest 0..1 BackboneElement Medication supply authorization
. . . . validityPeriod 0..1 Period Time period supply is authorized for
. . . . numberOfRepeatsAllowed 0..1 positiveInt 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
SubstanceAdminSubstitutionReason ( Example )
. . . priorPrescription 0..1 Reference ( MedicationRequest ) An order/prescription that this supersedes
. . . eventHistory 0..* Reference ( Provenance ) A list of events of interest in the lifecycle

doco Documentation for this format

UML Diagram ( Legend )

MedicationRequest ( DomainResource ) External identifier - one that would be used by another non-FHIR system - for example a re-imbursement system might issue its own id for each prescription that is created. This is particularly important where FHIR only provides part of an entire workflow process where records have to be tracked through an entire system identifier : Identifier [0..*] Protocol or definition followed by this request definition : Reference [0..*] « ActivityDefinition | PlanDefinition » Plan/proposal/order fulfilled by this request basedOn : Reference [0..*] « CarePlan | DiagnosticRequest | MedicationRequest | ProcedureRequest | ReferralRequest » Composite request this is part of requisition : Identifier [0..1] A code specifying the state of the order. Generally this will be active or completed state (this element modifies the meaning of other elements) status : code [0..1] « A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription (Strength=Required) MedicationRequestStatus ! » Whether the request is a proposal, plan, or an original order (this element modifies the meaning of other elements) stage : CodeableConcept [1..1] « The kind of medication order (Strength=Example) MedicationRequestStage ?? » Identifies the medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications medication[x] : Type [1..1] « CodeableConcept | Reference ( Medication ); A coded concept identifying substance or product that can be ordered. (Strength=Example) SNOMED CT Medication ?? » A link to a resource representing the person to whom the medication will be given patient : Reference [1..1] « Patient » A link to a resource that identifies the particular occurrence or set oc occurences of contact between patient and health care provider context : Reference [0..1] « Encounter | EpisodeOfCare » Include additional information (for example, patient height and weight) that supports the ordering of the medication supportingInformation : Reference [0..*] « Any » The date (and perhaps time) when the prescription was initially written dateWritten : dateTime [0..1] The healthcare professional responsible for authorizing the initial prescription requester : Reference [0..1] « Practitioner | Organization | Patient | RelatedPerson | Device » Can be the reason or the indication for writing the prescription reasonCode : CodeableConcept [0..*] « A coded concept indicating why the medication was ordered. (Strength=Example) Condition/Problem/Diagnosis ?? » Condition or observation that supports why the prescription is being written reasonReference : Reference [0..*] « Condition | Observation » Extra information about the prescription that could not be conveyed by the other attributes note : Annotation [0..*] Indicates where type of medication order and where the medication is expected to be consumed or administered category : CodeableConcept [0..1] « A coded concept identifying where the medication ordered is expected to be consumed or administered (Strength=Example) MedicationRequestCategory ?? » Indicates how the medication is to be used by the patient dosageInstruction : DosageInstruction [0..*] A link to a resource representing an earlier order related order or prescription priorPrescription : Reference [0..1] « MedicationRequest » A summary of the events of interest that have occurred as the request is processed; e.g. when the order was verified or when it was completed eventHistory : Reference [0..*] « Provenance » DispenseRequest This indicates the validity period of a prescription (stale dating the Prescription) validityPeriod : Period [0..1] An integer indicating the number of times, in addition to the original dispense, (aka refills or repeats) that the patient can receive the prescribed medication. Usage Notes: This integer does NOT include the original order dispense. This means that if an order indicates dispense 30 tablets plus "3 repeats", then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets numberOfRepeatsAllowed : positiveInt [0..1] The amount that is to be dispensed for one fill quantity : Quantity ( SimpleQuantity ) [0..1] Identifies the period time over which the supplied product is expected to be used, or the length of time the dispense is expected to last expectedSupplyDuration : Duration [0..1] Indicates the intended dispensing Organization specified by the prescriber performer : Reference [0..1] « Organization » Substitution True if the prescriber allows a different drug to be dispensed from what was prescribed (this element modifies the meaning of other elements) allowed : boolean [1..1] Indicates the reason for the substitution, or why substitution must or must not be performed reason : CodeableConcept [0..1] « A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. (Strength=Example) SubstanceAdminSubstitutionRea... ?? » Indicates the specific details for the dispense or medication supply part of a medication order (also known as a Medication Prescription). Note that this information is NOT always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department dispenseRequest [0..1] Indicates whether or not substitution can or should be part of the dispense. In some cases substitution must happen, in other cases substitution must not happen, and in others it does not matter. This block explains the prescriber's intent. If nothing is specified substitution may be done substitution [0..1]

XML Template

<MedicationRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External identifier --></identifier>
 <definition><!-- 0..* Reference(ActivityDefinition|PlanDefinition) Protocol or definition --></definition>
 <basedOn><!-- 0..* Reference(CarePlan|DiagnosticRequest|MedicationRequest|
   ProcedureRequest|ReferralRequest) What request fulfills --></basedOn>
 <requisition><!-- 0..1 Identifier Identifier of composite --></requisition>
 <status value="[code]"/><!-- 0..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft -->
 <stage><!-- 1..1 CodeableConcept proposal | plan | original-order --></stage>
 <medication[x]><!-- 1..1 CodeableConcept|Reference(Medication) Medication to be taken --></medication[x]>
 <patient><!-- 1..1 Reference(Patient) Who prescription is for --></patient>
 <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Created during encounter/admission/stay --></context>
 <supportingInformation><!-- 0..* Reference(Any) Information to support ordering of the medication --></supportingInformation>
 <dateWritten value="[dateTime]"/><!-- 0..1 When prescription was initially authorized -->
 <requester><!-- 0..1 Reference(Practitioner|Organization|Patient|RelatedPerson|
   Device) Who ordered the initial medication(s) --></requester>
 <reasonCode><!-- 0..* CodeableConcept Reason or indication for writing the prescription --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation) Condition or Observation that supports why the prescription is being written --></reasonReference>
 <note><!-- 0..* Annotation Information about the prescription --></note>
 <category><!-- 0..1 CodeableConcept Type of medication usage --></category>
 <dosageInstruction><!-- 0..* DosageInstruction How the medication should be taken --></dosageInstruction>
 <dispenseRequest>  <!-- 0..1 Medication supply authorization -->
  <validityPeriod><!-- 0..1 Period Time period supply is authorized for --></validityPeriod>
  <numberOfRepeatsAllowed value="[positiveInt]"/><!-- 0..1 Number of refills authorized -->
  <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of medication to supply per dispense --></quantity>
  <expectedSupplyDuration><!-- 0..1 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 this supersedes --></priorPrescription>
 <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory>
</MedicationRequest>

JSON Template

{doco
  "resourceType" : "MedicationRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External identifier
  "definition" : [{ Reference(ActivityDefinition|PlanDefinition) }], // Protocol or definition
  "basedOn" : [{ Reference(CarePlan|DiagnosticRequest|MedicationRequest|
   ProcedureRequest|ReferralRequest) }], // What request fulfills
  "requisition" : { Identifier }, // Identifier of composite
  "status" : "<code>", // active | on-hold | cancelled | completed | entered-in-error | stopped | draft
  "stage" : { CodeableConcept }, // R!  proposal | plan | original-order
  // medication[x]: Medication to be taken. One of these 2:
  "medicationCodeableConcept" : { CodeableConcept },
  "medicationReference" : { Reference(Medication) },
  "patient" : { Reference(Patient) }, // R!  Who prescription is for
  "context" : { Reference(Encounter|EpisodeOfCare) }, // Created during encounter/admission/stay
  "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication
  "dateWritten" : "<dateTime>", // When prescription was initially authorized
  "requester" : { Reference(Practitioner|Organization|Patient|RelatedPerson|
   Device) }, // Who ordered the initial medication(s)
  "reasonCode" : [{ CodeableConcept }], // Reason or indication for writing the prescription
  "reasonReference" : [{ Reference(Condition|Observation) }], // Condition or Observation that supports why the prescription is being written
  "note" : [{ Annotation }], // Information about the prescription
  "category" : { CodeableConcept }, // Type of medication usage
  "dosageInstruction" : [{ DosageInstruction }], // How the medication should be taken
  "dispenseRequest" : { // Medication supply authorization
    "validityPeriod" : { Period }, // Time period supply is authorized for
    "numberOfRepeatsAllowed" : "<positiveInt>", // Number of refills authorized
    "quantity" : { Quantity(SimpleQuantity) }, // Amount of medication to supply per dispense
    "expectedSupplyDuration" : { 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 this supersedes
  "eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 identifier
  fhir:MedicationRequest.definition [ Reference(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Protocol or definition
  fhir:MedicationRequest.basedOn [ Reference(CarePlan|DiagnosticRequest|MedicationRequest|ProcedureRequest|ReferralRequest) ], ... ; # 0..* What request fulfills
  fhir:MedicationRequest.requisition [ Identifier ]; # 0..1 Identifier of composite
  fhir:MedicationRequest.status [ code ]; # 0..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft
  fhir:MedicationRequest.stage [ CodeableConcept ]; # 1..1 proposal | plan | original-order
  # MedicationRequest.medication[x] : 1..1 Medication to be taken. One of these 2
    fhir:MedicationRequest.medicationCodeableConcept [ CodeableConcept ]
    fhir:MedicationRequest.medicationReference [ Reference(Medication) ]
  fhir:MedicationRequest.patient [ Reference(Patient) ]; # 1..1 Who prescription 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.dateWritten [ dateTime ]; # 0..1 When prescription was initially authorized
  fhir:MedicationRequest.requester [ Reference(Practitioner|Organization|Patient|RelatedPerson|Device) ]; # 0..1 Who ordered the initial medication(s)
  fhir:MedicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Reason or indication for writing the prescription
  fhir:MedicationRequest.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition or Observation that supports why the prescription is being written
  fhir:MedicationRequest.note [ Annotation ], ... ; # 0..* Information about the prescription
  fhir:MedicationRequest.category [ CodeableConcept ]; # 0..1 Type of medication usage
  fhir:MedicationRequest.dosageInstruction [ DosageInstruction ], ... ; # 0..* How the medication should be taken
  fhir:MedicationRequest.dispenseRequest [ # 0..1 Medication supply authorization
    fhir:MedicationRequest.dispenseRequest.validityPeriod [ Period ]; # 0..1 Time period supply is authorized for
    fhir:MedicationRequest.dispenseRequest.numberOfRepeatsAllowed [ positiveInt ]; # 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 this supersedes
  fhir:MedicationRequest.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of events of interest in the lifecycle
]

Changes since DSTU2

MedicationRequest Name Changed from MedicationOrder to MedicationRequest
MedicationRequest.definition added Element
MedicationRequest.basedOn added Element
MedicationRequest.requisition added Element
MedicationRequest.status Change value set from http://hl7.org/fhir/ValueSet/medication-order-status to http://hl7.org/fhir/ValueSet/medication-request-status
MedicationRequest.stage added Element
MedicationRequest.patient Min Cardinality changed from 0 to 1
MedicationRequest.context added Element
MedicationRequest.supportingInformation added Element
MedicationRequest.requester added Element
MedicationRequest.reasonCode added Element
MedicationRequest.reasonReference added Element
MedicationRequest.note Max Cardinality changed from 1 to *
Type changed from string to Annotation
MedicationRequest.category added Element
MedicationRequest.dosageInstruction Type changed from BackboneElement to DosageInstruction
MedicationRequest.dispenseRequest.expectedSupplyDuration Type changed from Quantity{http://hl7.org/fhir/StructureDefinition/Duration} to Duration
MedicationRequest.dispenseRequest.performer added Element
MedicationRequest.substitution.allowed added Element
MedicationRequest.priorPrescription Type changed from Reference(MedicationOrder) to Reference(MedicationRequest)
MedicationRequest.eventHistory added Element
MedicationOrder.dateEnded deleted
MedicationOrder.reasonEnded deleted
MedicationOrder.prescriber deleted
MedicationOrder.encounter deleted
MedicationOrder.reason[x] deleted
MedicationOrder.dosageInstruction.text deleted
MedicationOrder.dosageInstruction.additionalInstructions deleted
MedicationOrder.dosageInstruction.timing deleted
MedicationOrder.dosageInstruction.asNeeded[x] deleted
MedicationOrder.dosageInstruction.site[x] deleted
MedicationOrder.dosageInstruction.route deleted
MedicationOrder.dosageInstruction.method deleted
MedicationOrder.dosageInstruction.dose[x] deleted
MedicationOrder.dosageInstruction.rate[x] deleted
MedicationOrder.dosageInstruction.maxDosePerPeriod deleted
MedicationOrder.dispenseRequest.medication[x] deleted
MedicationOrder.substitution.type deleted

See the Full Difference for further information

 

Alternate definitions: Master Definition ( XML , JSON ), XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ), JSON-LD (for RDF as JSON-LD ),

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.stage The kind of medication order Example MedicationRequestStage
MedicationRequest.medication[x] A coded concept identifying substance or product that can be ordered. Example SNOMED CT Medication Codes
MedicationRequest.reasonCode A coded concept indicating why the medication was ordered. Example Condition/Problem/Diagnosis Codes
MedicationRequest.category A coded concept identifying where the medication ordered is expected to be consumed or administered Example MedicationRequestCategory
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

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Paths In Common
category token Returns prescriptions with different categories MedicationRequest.category
code token Return prescriptions of this medication code MedicationRequest.medicationCodeableConcept 4 Resources
context reference Return prescriptions with this encounter or episode of care identifier MedicationRequest.context
( EpisodeOfCare , Encounter )
datewritten date Return prescriptions written on this date MedicationRequest.dateWritten
identifier token Return prescriptions with this external identifier MedicationRequest.identifier 3 Resources
intended-dispenser reference Returns prescriptions intended to be dispensed by this Organization MedicationRequest.dispenseRequest.performer
( Organization )
medication reference Return prescriptions of this medication reference MedicationRequest.medicationReference
( Medication )
3 Resources
patient reference The identity of a patient to list orders for MedicationRequest.patient
( Patient )
3 Resources
requester reference Returns prescriptions prescribed by this prescriber MedicationRequest.requester
( Practitioner , Organization , Device , Patient , RelatedPerson )
status token Status of the prescription MedicationRequest.status 3 Resources