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 GroupMaturity Level: 1Compartments: 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest DomainResourcePrescription of medication to for patient
... identifier 0..*IdentifierExternal identifier
... definition Σ0..*Reference(ActivityDefinition | PlanDefinition)Protocol or definition
... basedOn Σ0..*Reference(CarePlan | DiagnosticRequest | MedicationRequest | ProcedureRequest | ReferralRequest)What request fulfills
... requisition Σ0..1IdentifierIdentifier of composite
... status ?!Σ0..1codeactive | on-hold | cancelled | completed | entered-in-error | stopped | draft
MedicationRequestStatus (Required)
... stage ?!Σ1..1CodeableConceptproposal | plan | original-order
MedicationRequestStage (Example)
... medication[x] Σ1..1Medication to be taken
SNOMED CT Medication Codes (Example)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
... patient Σ1..1Reference(Patient)Who prescription is for
... context 0..1Reference(Encounter | EpisodeOfCare)Created during encounter/admission/stay
... supportingInformation 0..*Reference(Any)Information to support ordering of the medication
... dateWritten Σ0..1dateTimeWhen prescription was initially authorized
... requester Σ0..1Reference(Practitioner | Organization | Patient | RelatedPerson | Device)Who ordered the initial medication(s)
... reasonCode 0..*CodeableConceptReason 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..*AnnotationInformation about the prescription
... category 0..1CodeableConceptType of medication usage
MedicationRequestCategory (Example)
... dosageInstruction 0..*DosageInstructionHow the medication should be taken
... dispenseRequest 0..1BackboneElementMedication supply authorization
.... validityPeriod 0..1PeriodTime period supply is authorized for
.... numberOfRepeatsAllowed 0..1positiveIntNumber of refills authorized
.... quantity 0..1SimpleQuantityAmount of medication to supply per dispense
.... expectedSupplyDuration 0..1DurationNumber of days supply per dispense
.... performer 0..1Reference(Organization)Intended dispenser
... substitution 0..1BackboneElementAny restrictions on medication substitution
.... allowed ?!1..1booleanWhether substitution is allowed or not
.... reason 0..1CodeableConceptWhy should (not) substitution be made
SubstanceAdminSubstitutionReason (Example)
... priorPrescription 0..1Reference(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 systemidentifier : Identifier [0..*]Protocol or definition followed by this requestdefinition : Reference [0..*] « ActivityDefinition|PlanDefinition »Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « CarePlan|DiagnosticRequest| MedicationRequest|ProcedureRequest|ReferralRequest »Composite request this is part ofrequisition : 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 medicationsmedication[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 givenpatient : 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 providercontext : Reference [0..1] « Encounter|EpisodeOfCare »Include additional information (for example, patient height and weight) that supports the ordering of the medicationsupportingInformation : Reference [0..*] « Any »The date (and perhaps time) when the prescription was initially writtendateWritten : dateTime [0..1]The healthcare professional responsible for authorizing the initial prescriptionrequester : Reference [0..1] « Practitioner|Organization|Patient| RelatedPerson|Device »Can be the reason or the indication for writing the prescriptionreasonCode : 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 writtenreasonReference : Reference [0..*] « Condition|Observation »Extra information about the prescription that could not be conveyed by the other attributesnote : Annotation [0..*]Indicates where type of medication order and where the medication is expected to be consumed or administeredcategory : 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 patientdosageInstruction : DosageInstruction [0..*]A link to a resource representing an earlier order related order or prescriptionpriorPrescription : 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 completedeventHistory : Reference [0..*] « Provenance »DispenseRequestThis 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 tabletsnumberOfRepeatsAllowed : positiveInt [0..1]The amount that is to be dispensed for one fillquantity : 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 lastexpectedSupplyDuration : Duration [0..1]Indicates the intended dispensing Organization specified by the prescriberperformer : Reference [0..1] « Organization »SubstitutionTrue 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 performedreason : 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 departmentdispenseRequest[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 donesubstitution[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

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest DomainResourcePrescription of medication to for patient
... identifier 0..*IdentifierExternal identifier
... definition Σ0..*Reference(ActivityDefinition | PlanDefinition)Protocol or definition
... basedOn Σ0..*Reference(CarePlan | DiagnosticRequest | MedicationRequest | ProcedureRequest | ReferralRequest)What request fulfills
... requisition Σ0..1IdentifierIdentifier of composite
... status ?!Σ0..1codeactive | on-hold | cancelled | completed | entered-in-error | stopped | draft
MedicationRequestStatus (Required)
... stage ?!Σ1..1CodeableConceptproposal | plan | original-order
MedicationRequestStage (Example)
... medication[x] Σ1..1Medication to be taken
SNOMED CT Medication Codes (Example)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
... patient Σ1..1Reference(Patient)Who prescription is for
... context 0..1Reference(Encounter | EpisodeOfCare)Created during encounter/admission/stay
... supportingInformation 0..*Reference(Any)Information to support ordering of the medication
... dateWritten Σ0..1dateTimeWhen prescription was initially authorized
... requester Σ0..1Reference(Practitioner | Organization | Patient | RelatedPerson | Device)Who ordered the initial medication(s)
... reasonCode 0..*CodeableConceptReason 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..*AnnotationInformation about the prescription
... category 0..1CodeableConceptType of medication usage
MedicationRequestCategory (Example)
... dosageInstruction 0..*DosageInstructionHow the medication should be taken
... dispenseRequest 0..1BackboneElementMedication supply authorization
.... validityPeriod 0..1PeriodTime period supply is authorized for
.... numberOfRepeatsAllowed 0..1positiveIntNumber of refills authorized
.... quantity 0..1SimpleQuantityAmount of medication to supply per dispense
.... expectedSupplyDuration 0..1DurationNumber of days supply per dispense
.... performer 0..1Reference(Organization)Intended dispenser
... substitution 0..1BackboneElementAny restrictions on medication substitution
.... allowed ?!1..1booleanWhether substitution is allowed or not
.... reason 0..1CodeableConceptWhy should (not) substitution be made
SubstanceAdminSubstitutionReason (Example)
... priorPrescription 0..1Reference(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 systemidentifier : Identifier [0..*]Protocol or definition followed by this requestdefinition : Reference [0..*] « ActivityDefinition|PlanDefinition »Plan/proposal/order fulfilled by this requestbasedOn : Reference [0..*] « CarePlan|DiagnosticRequest| MedicationRequest|ProcedureRequest|ReferralRequest »Composite request this is part ofrequisition : 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 medicationsmedication[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 givenpatient : 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 providercontext : Reference [0..1] « Encounter|EpisodeOfCare »Include additional information (for example, patient height and weight) that supports the ordering of the medicationsupportingInformation : Reference [0..*] « Any »The date (and perhaps time) when the prescription was initially writtendateWritten : dateTime [0..1]The healthcare professional responsible for authorizing the initial prescriptionrequester : Reference [0..1] « Practitioner|Organization|Patient| RelatedPerson|Device »Can be the reason or the indication for writing the prescriptionreasonCode : 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 writtenreasonReference : Reference [0..*] « Condition|Observation »Extra information about the prescription that could not be conveyed by the other attributesnote : Annotation [0..*]Indicates where type of medication order and where the medication is expected to be consumed or administeredcategory : 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 patientdosageInstruction : DosageInstruction [0..*]A link to a resource representing an earlier order related order or prescriptionpriorPrescription : 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 completedeventHistory : Reference [0..*] « Provenance »DispenseRequestThis 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 tabletsnumberOfRepeatsAllowed : positiveInt [0..1]The amount that is to be dispensed for one fillquantity : 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 lastexpectedSupplyDuration : Duration [0..1]Indicates the intended dispensing Organization specified by the prescriberperformer : Reference [0..1] « Organization »SubstitutionTrue 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 performedreason : 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 departmentdispenseRequest[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 donesubstitution[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),

PathDefinitionTypeReference
MedicationRequest.status A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescriptionRequiredMedicationRequestStatus
MedicationRequest.stage The kind of medication orderExampleMedicationRequestStage
MedicationRequest.medication[x] A coded concept identifying substance or product that can be ordered.ExampleSNOMED CT Medication Codes
MedicationRequest.reasonCode A coded concept indicating why the medication was ordered.ExampleCondition/Problem/Diagnosis Codes
MedicationRequest.category A coded concept identifying where the medication ordered is expected to be consumed or administeredExampleMedicationRequestCategory
MedicationRequest.substitution.reason A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.ExampleSubstanceAdminSubstitutionReason

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

NameTypeDescriptionPathsIn Common
categorytokenReturns prescriptions with different categoriesMedicationRequest.category
codetokenReturn prescriptions of this medication codeMedicationRequest.medicationCodeableConcept4 Resources
contextreferenceReturn prescriptions with this encounter or episode of care identifierMedicationRequest.context
(EpisodeOfCare, Encounter)
datewrittendateReturn prescriptions written on this dateMedicationRequest.dateWritten
identifiertokenReturn prescriptions with this external identifierMedicationRequest.identifier3 Resources
intended-dispenserreferenceReturns prescriptions intended to be dispensed by this OrganizationMedicationRequest.dispenseRequest.performer
(Organization)
medicationreferenceReturn prescriptions of this medication referenceMedicationRequest.medicationReference
(Medication)
3 Resources
patientreferenceThe identity of a patient to list orders forMedicationRequest.patient
(Patient)
3 Resources
requesterreferenceReturns prescriptions prescribed by this prescriberMedicationRequest.requester
(Practitioner, Organization, Device, Patient, RelatedPerson)
statustokenStatus of the prescriptionMedicationRequest.status3 Resources