Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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.1 Resource MedicationRequest - Content

Pharmacy Work GroupMaturity Level: 3 Trial UseSecurity Category: Patient Compartments: Encounter, Patient, Practitioner

An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.

This resource covers all type of orders for medications for a patient. This includes inpatient medication orders as well as community orders (whether filled by the prescriber or by a pharmacy). It also includes orders for over-the-counter medications (e.g. Aspirin), total parenteral nutrition and diet/ vitamin supplements. It may be used to support the order of medication-related devices. It is not intended for use in prescribing particular diets, or for ordering non-medication-related items (eyeglasses, supplies, etc.). In addition, the MedicationRequest may be used to report orders/request from external systems that have been reported for informational purposes and are not authoritative and are not expected to be acted upon (e.g. dispensed or administered).

The MedicationRequest resource is a "request" resource from a FHIR workflow perspective - see Workflow Request.

The MedicationRequest resource allows requesting only a single medication. If a workflow requires requesting multiple items simultaneously, this is done using multiple instances of this resource. These instances can be linked in different ways, depending on the needs of the workflow. For guidance, refer to the Request pattern

The MedicationRequest resource is used to request or order medication for a subject. It may also be used to report a medication request or order from one organization or source to another. When requesting supplies or devices when there is a patient focus or instructions regarding their use, SupplyRequest or DeviceRequest should be used instead. When reporting on the usage of a medication by a patient, the MedicationStatementt resource should be used.

The Medication domain includes a number of related resources

MedicationRequest An order for both supply of the medication and the instructions for administration of the medicine to a patient.
MedicationDispense Provision of a supply of a medication with the intention that it is subsequently consumed by a patient (usually in response to a prescription).
MedicationAdministration When a patient actually consumes a medicine, or it is otherwise administered to them
MedicationStatement This is a record of medication being taken by a patient, or that the medication has been given to a patient where the record is the result of a report from the patient, or another clinician. A medication statement is not a part of the prescribe->dispense->administer sequence but is a report that such a sequence (or at least a part of it) did take place resulting in a belief that the patient has received a particular medication.

This resource is referenced by CarePlan, Claim, DiagnosticReport, ExplanationOfBenefit, MedicationAdministration, MedicationDispense, itself, MedicationStatement, Observation and ServiceRequest

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest TUDomainResourceOrdering of medication for patient or group
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierExternal ids for this request
... status ?!Σ1..1codeactive | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Medicationrequest status (Required)
... statusReason 0..1CodeableConceptReason for current status
Medication request status reason codes (Example)
... intent ?!Σ1..1codeproposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Medication request intent (Required)
... category 0..*CodeableConceptType of medication usage
Medication request category codes (Example)
... priority Σ0..1coderoutine | urgent | asap | stat
Request priority (Required)
... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... reported[x] Σ0..1Reported rather than primary record
.... reportedBooleanboolean
.... reportedReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... medication[x] Σ1..1Medication to be taken
SNOMED CT Medication Codes (Example)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
... subject Σ1..1Reference(Patient | Group)Who or group medication request is for
... encounter 0..1Reference(Encounter)Encounter created as part of encounter/admission/stay
... supportingInformation 0..*Reference(Any)Information to support ordering of the medication
... authoredOn Σ0..1dateTimeWhen request was initially authored
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/What requested the Request
... performer 0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam)Intended performer of administration
... performerType Σ0..1CodeableConceptDesired kind of performer of the medication administration
Procedure Performer Role Codes (Example)
... recorder 0..1Reference(Practitioner | PractitionerRole)Person who entered the request
... reasonCode 0..*CodeableConceptReason or indication for ordering or not ordering the medication
Condition/Problem/Diagnosis Codes (Example)
... reasonReference 0..*Reference(Condition | Observation)Condition or observation that supports why the prescription is being written
... instantiatesCanonical Σ0..*canonical()Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation)What request fulfills
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... courseOfTherapyType 0..1CodeableConceptOverall pattern of medication administration
Medication request course of therapy codes (Example)
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... note 0..*AnnotationInformation about the prescription
... dosageInstruction 0..*DosageHow the medication should be taken
... dispenseRequest 0..1BackboneElementMedication supply authorization
.... initialFill 0..1BackboneElementFirst fill details
..... quantity 0..1SimpleQuantityFirst fill quantity
..... duration 0..1DurationFirst fill duration
.... dispenseInterval 0..1DurationMinimum period of time between dispenses
.... validityPeriod 0..1PeriodTime period supply is authorized for
.... numberOfRepeatsAllowed 0..1unsignedIntNumber 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[x] 1..1Whether substitution is allowed or not
V3 Value SetActSubstanceAdminSubstitutionCode (Example)
..... allowedBooleanboolean
..... allowedCodeableConceptCodeableConcept
.... reason 0..1CodeableConceptWhy should (not) substitution be made
V3 Value SetSubstanceAdminSubstitutionReason (Example)
... priorPrescription 0..1Reference(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

doco Documentation for this format

UML Diagram (Legend)

MedicationRequest (DomainResource)📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025identifier : Identifier [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025status : code [1..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationrequest Status! »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025statusReason : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Status Reas...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025intent : code [1..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Intent! »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025category : CodeableConcept [0..*] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Category ?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025priority : code [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025RequestPriority! »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025doNotPerform : boolean [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reported[x] : Type [0..1] « boolean|Reference(Patient|Practitioner| PractitionerRole|RelatedPerson|Organization) »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medication[x] : Type [1..1] « CodeableConcept|Reference(Medication); 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025 SNOMEDCTMedicationCodes?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025subject : Reference [1..1] « Patient|Group »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025encounter : Reference [0..1] « Encounter »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025supportingInformation : Reference [0..*] « Any »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025authoredOn : dateTime [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025requester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025performer : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|Device|RelatedPerson|CareTeam »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025performerType : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025ProcedurePerformerRoleCodes?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025recorder : Reference [0..1] « Practitioner|PractitionerRole »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reasonCode : CodeableConcept [0..*] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025 Condition/Problem/DiagnosisCo...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reasonReference : Reference [0..*] « Condition|Observation »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025instantiatesCanonical : canonical [0..*] « »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025instantiatesUri : uri [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025basedOn : Reference [0..*] « CarePlan|MedicationRequest| ServiceRequest|ImmunizationRecommendation »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025groupIdentifier : Identifier [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025courseOfTherapyType : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Course of T...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025insurance : Reference [0..*] « Coverage|ClaimResponse »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025note : Annotation [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025dosageInstruction : Dosage [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025priorPrescription : Reference [0..1] « MedicationRequest »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025detectedIssue : Reference [0..*] « DetectedIssue »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025eventHistory : Reference [0..*] « Provenance »DispenseRequest📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025dispenseInterval : Duration [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025validityPeriod : Period [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025numberOfRepeatsAllowed : unsignedInt [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025quantity : Quantity(SimpleQuantity) [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025expectedSupplyDuration : Duration [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025performer : Reference [0..1] « Organization »InitialFill📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025quantity : Quantity(SimpleQuantity) [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025duration : Duration [0..1]Substitution📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025allowed[x] : Type [1..1] « boolean|CodeableConcept; 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025 v3.ActSubstanceAdminSubstitut...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reason : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025v3.SubstanceAdminSubstitution...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025initialFill[0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025dispenseRequest[0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025substitution[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 ids for this request --></identifier>
 <status value="[code]"/><!-- 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown -->
 <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason>
 <intent value="[code]"/><!-- 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option -->
 <category><!-- 0..* CodeableConcept Type of medication usage --></category>
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <doNotPerform value="[boolean]"/><!-- 0..1 True if request is prohibiting action -->
 <reported[x]><!-- 0..1 boolean|Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson|Organization) Reported rather than primary record --></reported[x]>
 <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>
 <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay --></encounter>
 <supportingInformation><!-- 0..* Reference(Any) Information to support ordering of the medication --></supportingInformation>
 <authoredOn value="[dateTime]"/><!-- 0..1 When request was initially authored -->
 <requester><!-- 0..1 Reference(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|PractitionerRole) Person who entered the request --></recorder>
 <reasonCode><!-- 0..* CodeableConcept Reason or indication for ordering or not ordering the medication --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation) Condition or observation that supports why the prescription is being written --></reasonReference>
 <instantiatesCanonical value="[canonical]"/><!-- 0..* Instantiates FHIR protocol or definition -->
 <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition -->
 <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest|
   ImmunizationRecommendation) What request fulfills --></basedOn>
 <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier>
 <courseOfTherapyType><!-- 0..1 CodeableConcept Overall pattern of medication administration --></courseOfTherapyType>
 <insurance><!-- 0..* Reference(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[x]><!-- 1..1 boolean|CodeableConcept Whether substitution is allowed or not --></allowed[x]>
  <reason><!-- 0..1 CodeableConcept Why should (not) substitution be made --></reason>
 </substitution>
 <priorPrescription><!-- 0..1 Reference(MedicationRequest) An order/prescription that is being replaced --></priorPrescription>
 <detectedIssue><!-- 0..* Reference(DetectedIssue) Clinical Issue with action --></detectedIssue>
 <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory>
</MedicationRequest>

JSON Template

{doco
  "resourceType" : "MedicationRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External ids for this request
  "status" : "<code>", // R!  active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
  "statusReason" : { CodeableConcept }, // Reason for current status
  "intent" : "<code>", // R!  proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
  "category" : [{ CodeableConcept }], // Type of medication usage
  "priority" : "<code>", // routine | urgent | asap | stat
  "doNotPerform" : <boolean>, // True if request is prohibiting action
  // reported[x]: Reported rather than primary record. One of these 2:
  "reportedBoolean" : <boolean>,
  "reportedReference" : { Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson|Organization) },
  // 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
  "encounter" : { Reference(Encounter) }, // Encounter created as part of encounter/admission/stay
  "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication
  "authoredOn" : "<dateTime>", // When request was initially authored
  "requester" : { Reference(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|PractitionerRole) }, // Person who entered the request
  "reasonCode" : [{ CodeableConcept }], // Reason or indication for ordering or not ordering the medication
  "reasonReference" : [{ Reference(Condition|Observation) }], // Condition or observation that supports why the prescription is being written
  "instantiatesCanonical" : ["<canonical>"], // Instantiates FHIR protocol or definition
  "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
  "basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest|
   ImmunizationRecommendation) }], // What request fulfills
  "groupIdentifier" : { Identifier }, // Composite request this is part of
  "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[x]: Whether substitution is allowed or not. One of these 2:
    "allowedBoolean" : <boolean>,
    "allowedCodeableConcept" : { CodeableConcept },
    "reason" : { CodeableConcept } // Why should (not) substitution be made
  },
  "priorPrescription" : { Reference(MedicationRequest) }, // An order/prescription that is being replaced
  "detectedIssue" : [{ Reference(DetectedIssue) }], // Clinical Issue with action
  "eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .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 ids for this request
  fhir:MedicationRequest.status [ code ]; # 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
  fhir:MedicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status
  fhir:MedicationRequest.intent [ code ]; # 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
  fhir:MedicationRequest.category [ CodeableConcept ], ... ; # 0..* Type of medication usage
  fhir:MedicationRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:MedicationRequest.doNotPerform [ boolean ]; # 0..1 True if request is prohibiting action
  # MedicationRequest.reported[x] : 0..1 Reported rather than primary record. One of these 2
    fhir:MedicationRequest.reportedBoolean [ boolean ]
    fhir:MedicationRequest.reportedReference [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|Organization) ]
  # 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.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of encounter/admission/stay
  fhir:MedicationRequest.supportingInformation [ Reference(Any) ], ... ; # 0..* Information to support ordering of the medication
  fhir:MedicationRequest.authoredOn [ dateTime ]; # 0..1 When request was initially authored
  fhir:MedicationRequest.requester [ Reference(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|PractitionerRole) ]; # 0..1 Person who entered the request
  fhir:MedicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Reason or indication for ordering or not ordering the medication
  fhir:MedicationRequest.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition or observation that supports why the prescription is being written
  fhir:MedicationRequest.instantiatesCanonical [ canonical ], ... ; # 0..* Instantiates FHIR protocol or definition
  fhir:MedicationRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition
  fhir:MedicationRequest.basedOn [ Reference(CarePlan|MedicationRequest|ServiceRequest|ImmunizationRecommendation) ], ... ; # 0..* What request fulfills
  fhir:MedicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of
  fhir:MedicationRequest.courseOfTherapyType [ CodeableConcept ]; # 0..1 Overall pattern of medication administration
  fhir:MedicationRequest.insurance [ Reference(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
    # MedicationRequest.substitution.allowed[x] : 1..1 Whether substitution is allowed or not. One of these 2
      fhir:MedicationRequest.substitution.allowedBoolean [ boolean ]
      fhir:MedicationRequest.substitution.allowedCodeableConcept [ CodeableConcept ]
    fhir:MedicationRequest.substitution.reason [ CodeableConcept ]; # 0..1 Why should (not) substitution be made
  ];
  fhir:MedicationRequest.priorPrescription [ Reference(MedicationRequest) ]; # 0..1 An order/prescription that is being replaced
  fhir:MedicationRequest.detectedIssue [ Reference(DetectedIssue) ], ... ; # 0..* Clinical Issue with action
  fhir:MedicationRequest.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of events of interest in the lifecycle
]

Changes since R3

MedicationRequest
MedicationRequest.status
  • Min Cardinality changed from 0 to 1
  • Change value set from http://hl7.org/fhir/ValueSet/medication-request-status to http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
MedicationRequest.statusReason
  • Added Element
MedicationRequest.intent
  • Change value set from http://hl7.org/fhir/ValueSet/medication-request-intent to http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
MedicationRequest.category
  • Max Cardinality changed from 1 to *
MedicationRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/medication-request-priority to http://hl7.org/fhir/ValueSet/request-priority|4.0.1
MedicationRequest.doNotPerform
  • Added Element
MedicationRequest.reported[x]
  • Added Element
MedicationRequest.encounter
  • Added Element
MedicationRequest.requester
  • Type changed from BackboneElement to Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
MedicationRequest.performer
  • Added Element
MedicationRequest.performerType
  • Added Element
MedicationRequest.recorder
  • Type Reference: Added Target Type PractitionerRole
MedicationRequest.instantiatesCanonical
  • Added Element
MedicationRequest.instantiatesUri
  • Added Element
MedicationRequest.basedOn
  • Type Reference: Added Target Types ServiceRequest, ImmunizationRecommendation
  • Type Reference: Removed Target Types ProcedureRequest, ReferralRequest
MedicationRequest.courseOfTherapyType
  • Added Element
MedicationRequest.insurance
  • Added Element
MedicationRequest.dispenseRequest.initialFill
  • Added Element
MedicationRequest.dispenseRequest.initialFill.quantity
  • Added Element
MedicationRequest.dispenseRequest.initialFill.duration
  • Added Element
MedicationRequest.dispenseRequest.dispenseInterval
  • Added Element
MedicationRequest.dispenseRequest.numberOfRepeatsAllowed
  • Type changed from positiveInt to unsignedInt
MedicationRequest.substitution.allowed[x]
  • Renamed from allowed to allowed[x]
  • Add Type CodeableConcept
  • No longer marked as Modifier
MedicationRequest.definition
  • deleted
MedicationRequest.context
  • deleted
MedicationRequest.requester.agent
  • deleted
MedicationRequest.requester.onBehalfOf
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 36 tests that all execute ok. 8 fail round-trip testing and 36 r3 resources are invalid (0 errors).)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest TUDomainResourceOrdering of medication for patient or group
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierExternal ids for this request
... status ?!Σ1..1codeactive | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Medicationrequest status (Required)
... statusReason 0..1CodeableConceptReason for current status
Medication request status reason codes (Example)
... intent ?!Σ1..1codeproposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Medication request intent (Required)
... category 0..*CodeableConceptType of medication usage
Medication request category codes (Example)
... priority Σ0..1coderoutine | urgent | asap | stat
Request priority (Required)
... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... reported[x] Σ0..1Reported rather than primary record
.... reportedBooleanboolean
.... reportedReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... medication[x] Σ1..1Medication to be taken
SNOMED CT Medication Codes (Example)
.... medicationCodeableConceptCodeableConcept
.... medicationReferenceReference(Medication)
... subject Σ1..1Reference(Patient | Group)Who or group medication request is for
... encounter 0..1Reference(Encounter)Encounter created as part of encounter/admission/stay
... supportingInformation 0..*Reference(Any)Information to support ordering of the medication
... authoredOn Σ0..1dateTimeWhen request was initially authored
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/What requested the Request
... performer 0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam)Intended performer of administration
... performerType Σ0..1CodeableConceptDesired kind of performer of the medication administration
Procedure Performer Role Codes (Example)
... recorder 0..1Reference(Practitioner | PractitionerRole)Person who entered the request
... reasonCode 0..*CodeableConceptReason or indication for ordering or not ordering the medication
Condition/Problem/Diagnosis Codes (Example)
... reasonReference 0..*Reference(Condition | Observation)Condition or observation that supports why the prescription is being written
... instantiatesCanonical Σ0..*canonical()Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation)What request fulfills
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... courseOfTherapyType 0..1CodeableConceptOverall pattern of medication administration
Medication request course of therapy codes (Example)
... insurance 0..*Reference(Coverage | ClaimResponse)Associated insurance coverage
... note 0..*AnnotationInformation about the prescription
... dosageInstruction 0..*DosageHow the medication should be taken
... dispenseRequest 0..1BackboneElementMedication supply authorization
.... initialFill 0..1BackboneElementFirst fill details
..... quantity 0..1SimpleQuantityFirst fill quantity
..... duration 0..1DurationFirst fill duration
.... dispenseInterval 0..1DurationMinimum period of time between dispenses
.... validityPeriod 0..1PeriodTime period supply is authorized for
.... numberOfRepeatsAllowed 0..1unsignedIntNumber 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[x] 1..1Whether substitution is allowed or not
V3 Value SetActSubstanceAdminSubstitutionCode (Example)
..... allowedBooleanboolean
..... allowedCodeableConceptCodeableConcept
.... reason 0..1CodeableConceptWhy should (not) substitution be made
V3 Value SetSubstanceAdminSubstitutionReason (Example)
... priorPrescription 0..1Reference(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

doco Documentation for this format

UML Diagram (Legend)

MedicationRequest (DomainResource)📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025identifier : Identifier [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025status : code [1..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationrequest Status! »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025statusReason : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Status Reas...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025intent : code [1..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Intent! »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025category : CodeableConcept [0..*] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Category ?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025priority : code [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025RequestPriority! »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025doNotPerform : boolean [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reported[x] : Type [0..1] « boolean|Reference(Patient|Practitioner| PractitionerRole|RelatedPerson|Organization) »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medication[x] : Type [1..1] « CodeableConcept|Reference(Medication); 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025 SNOMEDCTMedicationCodes?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025subject : Reference [1..1] « Patient|Group »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025encounter : Reference [0..1] « Encounter »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025supportingInformation : Reference [0..*] « Any »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025authoredOn : dateTime [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025requester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025performer : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|Device|RelatedPerson|CareTeam »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025performerType : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025ProcedurePerformerRoleCodes?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025recorder : Reference [0..1] « Practitioner|PractitionerRole »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reasonCode : CodeableConcept [0..*] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025 Condition/Problem/DiagnosisCo...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reasonReference : Reference [0..*] « Condition|Observation »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025instantiatesCanonical : canonical [0..*] « »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025instantiatesUri : uri [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025basedOn : Reference [0..*] « CarePlan|MedicationRequest| ServiceRequest|ImmunizationRecommendation »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025groupIdentifier : Identifier [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025courseOfTherapyType : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025medicationRequest Course of T...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025insurance : Reference [0..*] « Coverage|ClaimResponse »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025note : Annotation [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025dosageInstruction : Dosage [0..*]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025priorPrescription : Reference [0..1] « MedicationRequest »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025detectedIssue : Reference [0..*] « DetectedIssue »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025eventHistory : Reference [0..*] « Provenance »DispenseRequest📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025dispenseInterval : Duration [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025validityPeriod : Period [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025numberOfRepeatsAllowed : unsignedInt [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025quantity : Quantity(SimpleQuantity) [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025expectedSupplyDuration : Duration [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025performer : Reference [0..1] « Organization »InitialFill📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025quantity : Quantity(SimpleQuantity) [0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025duration : Duration [0..1]Substitution📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025allowed[x] : Type [1..1] « boolean|CodeableConcept; 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025 v3.ActSubstanceAdminSubstitut...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025reason : CodeableConcept [0..1] « 📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025v3.SubstanceAdminSubstitution...?? »📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025initialFill[0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025dispenseRequest[0..1]📢 แจ้งเตือน: fhir/R/medicationrequest.html - Kapook Update 2025substitution[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 ids for this request --></identifier>
 <status value="[code]"/><!-- 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown -->
 <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason>
 <intent value="[code]"/><!-- 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option -->
 <category><!-- 0..* CodeableConcept Type of medication usage --></category>
 <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat -->
 <doNotPerform value="[boolean]"/><!-- 0..1 True if request is prohibiting action -->
 <reported[x]><!-- 0..1 boolean|Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson|Organization) Reported rather than primary record --></reported[x]>
 <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>
 <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay --></encounter>
 <supportingInformation><!-- 0..* Reference(Any) Information to support ordering of the medication --></supportingInformation>
 <authoredOn value="[dateTime]"/><!-- 0..1 When request was initially authored -->
 <requester><!-- 0..1 Reference(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|PractitionerRole) Person who entered the request --></recorder>
 <reasonCode><!-- 0..* CodeableConcept Reason or indication for ordering or not ordering the medication --></reasonCode>
 <reasonReference><!-- 0..* Reference(Condition|Observation) Condition or observation that supports why the prescription is being written --></reasonReference>
 <instantiatesCanonical value="[canonical]"/><!-- 0..* Instantiates FHIR protocol or definition -->
 <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition -->
 <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest|
   ImmunizationRecommendation) What request fulfills --></basedOn>
 <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier>
 <courseOfTherapyType><!-- 0..1 CodeableConcept Overall pattern of medication administration --></courseOfTherapyType>
 <insurance><!-- 0..* Reference(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[x]><!-- 1..1 boolean|CodeableConcept Whether substitution is allowed or not --></allowed[x]>
  <reason><!-- 0..1 CodeableConcept Why should (not) substitution be made --></reason>
 </substitution>
 <priorPrescription><!-- 0..1 Reference(MedicationRequest) An order/prescription that is being replaced --></priorPrescription>
 <detectedIssue><!-- 0..* Reference(DetectedIssue) Clinical Issue with action --></detectedIssue>
 <eventHistory><!-- 0..* Reference(Provenance) A list of events of interest in the lifecycle --></eventHistory>
</MedicationRequest>

JSON Template

{doco
  "resourceType" : "MedicationRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External ids for this request
  "status" : "<code>", // R!  active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
  "statusReason" : { CodeableConcept }, // Reason for current status
  "intent" : "<code>", // R!  proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
  "category" : [{ CodeableConcept }], // Type of medication usage
  "priority" : "<code>", // routine | urgent | asap | stat
  "doNotPerform" : <boolean>, // True if request is prohibiting action
  // reported[x]: Reported rather than primary record. One of these 2:
  "reportedBoolean" : <boolean>,
  "reportedReference" : { Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson|Organization) },
  // 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
  "encounter" : { Reference(Encounter) }, // Encounter created as part of encounter/admission/stay
  "supportingInformation" : [{ Reference(Any) }], // Information to support ordering of the medication
  "authoredOn" : "<dateTime>", // When request was initially authored
  "requester" : { Reference(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|PractitionerRole) }, // Person who entered the request
  "reasonCode" : [{ CodeableConcept }], // Reason or indication for ordering or not ordering the medication
  "reasonReference" : [{ Reference(Condition|Observation) }], // Condition or observation that supports why the prescription is being written
  "instantiatesCanonical" : ["<canonical>"], // Instantiates FHIR protocol or definition
  "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition
  "basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest|
   ImmunizationRecommendation) }], // What request fulfills
  "groupIdentifier" : { Identifier }, // Composite request this is part of
  "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[x]: Whether substitution is allowed or not. One of these 2:
    "allowedBoolean" : <boolean>,
    "allowedCodeableConcept" : { CodeableConcept },
    "reason" : { CodeableConcept } // Why should (not) substitution be made
  },
  "priorPrescription" : { Reference(MedicationRequest) }, // An order/prescription that is being replaced
  "detectedIssue" : [{ Reference(DetectedIssue) }], // Clinical Issue with action
  "eventHistory" : [{ Reference(Provenance) }] // A list of events of interest in the lifecycle
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .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 ids for this request
  fhir:MedicationRequest.status [ code ]; # 1..1 active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
  fhir:MedicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status
  fhir:MedicationRequest.intent [ code ]; # 1..1 proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
  fhir:MedicationRequest.category [ CodeableConcept ], ... ; # 0..* Type of medication usage
  fhir:MedicationRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat
  fhir:MedicationRequest.doNotPerform [ boolean ]; # 0..1 True if request is prohibiting action
  # MedicationRequest.reported[x] : 0..1 Reported rather than primary record. One of these 2
    fhir:MedicationRequest.reportedBoolean [ boolean ]
    fhir:MedicationRequest.reportedReference [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|Organization) ]
  # 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.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of encounter/admission/stay
  fhir:MedicationRequest.supportingInformation [ Reference(Any) ], ... ; # 0..* Information to support ordering of the medication
  fhir:MedicationRequest.authoredOn [ dateTime ]; # 0..1 When request was initially authored
  fhir:MedicationRequest.requester [ Reference(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|PractitionerRole) ]; # 0..1 Person who entered the request
  fhir:MedicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Reason or indication for ordering or not ordering the medication
  fhir:MedicationRequest.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Condition or observation that supports why the prescription is being written
  fhir:MedicationRequest.instantiatesCanonical [ canonical ], ... ; # 0..* Instantiates FHIR protocol or definition
  fhir:MedicationRequest.instantiatesUri [ uri ], ... ; # 0..* Instantiates external protocol or definition
  fhir:MedicationRequest.basedOn [ Reference(CarePlan|MedicationRequest|ServiceRequest|ImmunizationRecommendation) ], ... ; # 0..* What request fulfills
  fhir:MedicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of
  fhir:MedicationRequest.courseOfTherapyType [ CodeableConcept ]; # 0..1 Overall pattern of medication administration
  fhir:MedicationRequest.insurance [ Reference(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
    # MedicationRequest.substitution.allowed[x] : 1..1 Whether substitution is allowed or not. One of these 2
      fhir:MedicationRequest.substitution.allowedBoolean [ boolean ]
      fhir:MedicationRequest.substitution.allowedCodeableConcept [ CodeableConcept ]
    fhir:MedicationRequest.substitution.reason [ CodeableConcept ]; # 0..1 Why should (not) substitution be made
  ];
  fhir:MedicationRequest.priorPrescription [ Reference(MedicationRequest) ]; # 0..1 An order/prescription that is being replaced
  fhir:MedicationRequest.detectedIssue [ Reference(DetectedIssue) ], ... ; # 0..* Clinical Issue with action
  fhir:MedicationRequest.eventHistory [ Reference(Provenance) ], ... ; # 0..* A list of events of interest in the lifecycle
]

Changes since Release 3

MedicationRequest
MedicationRequest.status
  • Min Cardinality changed from 0 to 1
  • Change value set from http://hl7.org/fhir/ValueSet/medication-request-status to http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
MedicationRequest.statusReason
  • Added Element
MedicationRequest.intent
  • Change value set from http://hl7.org/fhir/ValueSet/medication-request-intent to http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
MedicationRequest.category
  • Max Cardinality changed from 1 to *
MedicationRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/medication-request-priority to http://hl7.org/fhir/ValueSet/request-priority|4.0.1
MedicationRequest.doNotPerform
  • Added Element
MedicationRequest.reported[x]
  • Added Element
MedicationRequest.encounter
  • Added Element
MedicationRequest.requester
  • Type changed from BackboneElement to Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
MedicationRequest.performer
  • Added Element
MedicationRequest.performerType
  • Added Element
MedicationRequest.recorder
  • Type Reference: Added Target Type PractitionerRole
MedicationRequest.instantiatesCanonical
  • Added Element
MedicationRequest.instantiatesUri
  • Added Element
MedicationRequest.basedOn
  • Type Reference: Added Target Types ServiceRequest, ImmunizationRecommendation
  • Type Reference: Removed Target Types ProcedureRequest, ReferralRequest
MedicationRequest.courseOfTherapyType
  • Added Element
MedicationRequest.insurance
  • Added Element
MedicationRequest.dispenseRequest.initialFill
  • Added Element
MedicationRequest.dispenseRequest.initialFill.quantity
  • Added Element
MedicationRequest.dispenseRequest.initialFill.duration
  • Added Element
MedicationRequest.dispenseRequest.dispenseInterval
  • Added Element
MedicationRequest.dispenseRequest.numberOfRepeatsAllowed
  • Type changed from positiveInt to unsignedInt
MedicationRequest.substitution.allowed[x]
  • Renamed from allowed to allowed[x]
  • Add Type CodeableConcept
  • No longer marked as Modifier
MedicationRequest.definition
  • deleted
MedicationRequest.context
  • deleted
MedicationRequest.requester.agent
  • deleted
MedicationRequest.requester.onBehalfOf
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 36 tests that all execute ok. 8 fail round-trip testing and 36 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
MedicationRequest.status A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.Requiredmedicationrequest Status
MedicationRequest.statusReason Identifies the reasons for a given status.ExamplemedicationRequest Status Reason Codes
MedicationRequest.intent The kind of medication order.RequiredmedicationRequest Intent
MedicationRequest.category A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment.ExamplemedicationRequest Category Codes
MedicationRequest.priority Identifies the level of importance to be assigned to actioning the request.RequiredRequestPriority
MedicationRequest.medication[x] A coded concept identifying substance or product that can be ordered.ExampleSNOMEDCTMedicationCodes
MedicationRequest.performerType Identifies the type of individual that is desired to administer the medication.ExampleProcedurePerformerRoleCodes
MedicationRequest.reasonCode A coded concept indicating why the medication was ordered.ExampleCondition/Problem/DiagnosisCodes
MedicationRequest.courseOfTherapyType Identifies the overall pattern of medication administratio.ExamplemedicationRequest Course of Therapy Codes
MedicationRequest.substitution.allowed[x] Identifies the type of substitution allowed.Examplev3.ActSubstanceAdminSubstitutionCode
MedicationRequest.substitution.reason A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.Examplev3.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.

NameTypeDescriptionExpressionIn Common
authoredondateReturn prescriptions written on this dateMedicationRequest.authoredOn
categorytokenReturns prescriptions with different categoriesMedicationRequest.category
codetokenReturn prescriptions of this medication code(MedicationRequest.medication as CodeableConcept)13 Resources
datedateReturns medication request to be administered on a specific dateMedicationRequest.dosageInstruction.timing.event3 Resources
encounterreferenceReturn prescriptions with this encounter identifierMedicationRequest.encounter
(Encounter)
1 Resources
identifiertokenReturn prescriptions with this external identifierMedicationRequest.identifier30 Resources
intended-dispenserreferenceReturns prescriptions intended to be dispensed by this OrganizationMedicationRequest.dispenseRequest.performer
(Organization)
intended-performerreferenceReturns the intended performer of the administration of the medication requestMedicationRequest.performer
(Practitioner, Organization, CareTeam, Device, Patient, PractitionerRole, RelatedPerson)
intended-performertypetokenReturns requests for a specific type of performerMedicationRequest.performerType
intenttokenReturns prescriptions with different intentsMedicationRequest.intent
medicationreferenceReturn prescriptions for this medication reference(MedicationRequest.medication as Reference)
(Medication)
3 Resources
patientreferenceReturns prescriptions for a specific patientMedicationRequest.subject.where(resolve() is Patient)
(Patient)
33 Resources
prioritytokenReturns prescriptions with different prioritiesMedicationRequest.priority
requesterreferenceReturns prescriptions prescribed by this prescriberMedicationRequest.requester
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
statustokenStatus of the prescriptionMedicationRequest.status3 Resources
subjectreferenceThe identity of a patient to list orders forMedicationRequest.subject
(Group, Patient)