FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

11.1 Resource MedicationRequest - Content

Pharmacy icon Work GroupMaturity Level: 4 Trial UseSecurity Category: Patient Compartments: Encounter, Group, 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 e.g., prefilled syringes such as patient-controlled analgesia (PCA) syringes, or syringes used to administer other types of medications. e.g., insulin, narcotics. It can can also be used to order medication or substances NOT be taken.

This resource would not be used when ordering a device(s) that may have a medication coating e.g. heparin coated stints, or similar types of devices. These types of devices would be ordered using the Device Request or the SupplyRequest resources.

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 MedicationStatement 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 or order or request).
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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest TU DomainResource Ordering of medication for patient or group

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..* Identifier External ids for this request

... basedOn Σ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation | RequestOrchestration) A plan or request that is fulfilled in whole or in part by this medication request

... priorPrescription 0..1 Reference(MedicationRequest) Reference to an order/prescription that is being replaced by this MedicationRequest
... groupIdentifier Σ 0..1 Identifier Composite request this is part of
... status ?!Σ 1..1 code active | on-hold | ended | stopped | completed | cancelled | entered-in-error | draft | unknown
Binding: medicationrequest Status (Required)
... statusReason 0..1 CodeableConcept Reason for current status
Binding: medicationRequest Status Reason Codes (Example)
... statusChanged 0..1 dateTime When the status was changed
... intent ?!Σ 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (Required)
... category 0..* CodeableConcept Grouping or category of medication request
Binding: medicationRequest Administration Location Codes (Example)

... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (Required)
... doNotPerform ?!Σ 0..1 boolean If true, indicates the provider is ordering a patient should not take the specified medication
... medication Σ 1..1 CodeableReference(Medication) Medication to be taken
Binding: SNOMED CT Medication Codes (Example)
... subject Σ 1..1 Reference(Patient | Group) Individual or group for whom the medication has been requested
... informationSource 0..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization | Group) The person or organization who provided the information about this request, if the source is someone other than the requestor

... encounter 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* Reference(Any) Information to support fulfilling of the medication

... authoredOn Σ 0..1 dateTime When request was initially authored
... requester Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) Who/What requested the Request
... reported Σ 0..1 boolean Reported rather than primary record
... performerType Σ 0..1 CodeableConcept Desired kind of performer of the medication administration
Binding: Medication Intended Performer Role (Extensible)
... performer 0..* Reference(Practitioner | PractitionerRole | Organization | Patient | DeviceDefinition | RelatedPerson | CareTeam | HealthcareService | Group) Intended performer of administration

... device 0..* CodeableReference(DeviceDefinition) Intended type of device for the administration

... recorder 0..1 Reference(Practitioner | PractitionerRole) Person who entered the request
... reason 0..* CodeableReference(Condition | Observation | DiagnosticReport | Procedure) Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/Diagnosis Codes (Example)

... courseOfTherapyType 0..1 CodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (Extensible)
... insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage

... note 0..* Annotation Information about the prescription

... renderedDosageInstruction 0..1 markdown Full representation of the dosage instructions
... effectiveDosePeriod 0..1 Period Period over which the medication is to be taken
... dosageInstruction 0..* Dosage Specific instructions for how the medication should be taken

... dispenseRequest 0..1 BackboneElement Medication supply authorization
.... initialFill 0..1 BackboneElement First fill details
..... quantity 0..1 SimpleQuantity First fill quantity
..... duration 0..1 Duration First fill duration
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... validityPeriod 0..1 Period Time period supply is authorized for
.... numberOfRepeatsAllowed 0..1 unsignedInt Number of refills authorized
.... quantity 0..1 SimpleQuantity Amount of medication to supply per dispense
.... expectedSupplyDuration 0..1 Duration Number of days supply per dispense
.... dispenser 0..1 Reference(Organization) Intended performer of dispense
.... dispenserInstruction 0..* Annotation Additional information for the dispenser

.... doseAdministrationAid 0..1 CodeableConcept Type of adherence packaging to use for the dispense
Binding: Medication Dose Aids (Example)
... substitution 0..1 BackboneElement Any restrictions on medication substitution
.... allowed[x] 1..1 Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode icon (Preferred)
..... allowedBoolean boolean
..... allowedCodeableConcept CodeableConcept
.... reason 0..1 CodeableConcept Why should (not) substitution be made
Binding: SubstanceAdminSubstitutionReason icon (Example)
... eventHistory TU 0..* Reference(Provenance) A list of events of interest in the lifecycle


doco Documentation for this format icon

See the Extensions for this resource

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
MedicationRequest.status MedicationrequestStatus (a valid code from MedicationRequest Status Codes) Required

MedicationRequest Status Codes

MedicationRequest.statusReason MedicationRequestStatusReasonCodes Example

MedicationRequest Status Reason Codes

MedicationRequest.intent MedicationRequestIntent (a valid code from MedicationRequest Intent Codes) Required

MedicationRequest Intent Codes

MedicationRequest.category MedicationRequestAdministrationLocationCodes Example

MedicationRequest Administration Location Codes

MedicationRequest.priority RequestPriority Required

Identifies the level of importance to be assigned to actioning the request.

MedicationRequest.medication SNOMEDCTMedicationCodes Example

This value set includes all drug or medicament substance codes and all pharmaceutical/biologic products from SNOMED CT - provided as an exemplar value set.

MedicationRequest.performerType MedicationIntendedPerformerRole Extensible

Medication Intended Performer Role

MedicationRequest.reason ConditionProblemDiagnosisCodes Example

Example value set for Condition/Problem/Diagnosis codes.

MedicationRequest.courseOfTherapyType MedicationRequestCourseOfTherapyCodes Extensible

MedicationRequest Course of Therapy Codes

MedicationRequest.dispenseRequest.doseAdministrationAid MedicationDoseAids (a valid code from Medication dose aid) Example

Medication Dose Aids

MedicationRequest.substitution.allowed[x] ActSubstanceAdminSubstitutionCode icon Preferred

No description

MedicationRequest.substitution.reason SubstanceAdminSubstitutionReason icon Example

No description

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.

In general, each prescribed drug will be a separate Medication Request.

When drug orders are grouped together at the time of order entry, but each of the drugs can be manipulated independently e.g. changing the status of one order to "completed" or "cancelled", changing another order status to "on-hold", the method to "group" all of the medication requests together is to use MedicationRequest.groupIdentifier element. All of the orders grouped together in this manner will have the same groupIdentifier, and separately, each order in the group may have a unique identifier.

There are cases that require grouping of Medication orders together when it is necessary to specify optionality e.g. order two drugs at one time, but stating either of these drugs may be used to treat the patient. The use of a RequestOrchestration should be used as a parent for the Medication orders that require this type of grouping. An example when it may be necessary to group medication orders together is when you specify:

  • timing relationships e.g. order drug "xyz" with dose 123, then taper the same drug to a different dose after some interval of time precedence. For example:
    • give drug "abc" followed by drug "def"
    • give drug 30 minutes before some procedure was performed.
  • more generically this supports - hierarchical groups of actions, where each specific action references the action to be performed (in terms of a Request resource), and each group describes additional behavior, relationships, and applicable conditions between the actions in the overall group.

Note that one should NOT use the List or Composition resource to accomplish the above requirements. You may use List or Composition for other business requirements, but not to address the specific requirements of grouping medication orders.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
authoredon date Return prescriptions written on this date MedicationRequest.authoredOn
category token Returns prescriptions with different categories MedicationRequest.category
code token Return prescriptions of this medication code MedicationRequest.medication.concept 21 Resources
combo-date date Returns medication request to be administered on a specific date or within a date range MedicationRequest.dosageInstruction.timing.event | (MedicationRequest.dosageInstruction.timing.repeat.bounds.ofType(Period))
encounter reference Return prescriptions with this encounter identifier MedicationRequest.encounter
(Encounter)
2 Resources
group-identifier token Composite request this is part of MedicationRequest.groupIdentifier
group-or-identifier token Group ID or other identifier MedicationRequest.groupIdentifier | MedicationRequest.identifier
identifier token Return prescriptions with this external identifier MedicationRequest.identifier 65 Resources
intended-dispenser reference Returns prescriptions intended to be dispensed by this Organization MedicationRequest.dispenseRequest.dispenser
(Organization)
intended-performer reference Returns the intended performer of the administration of the medication request MedicationRequest.performer
(Practitioner, Group, Organization, CareTeam, DeviceDefinition, Patient, HealthcareService, PractitionerRole, RelatedPerson)
intended-performertype token Returns requests for a specific type of performer MedicationRequest.performerType
intent token Returns prescriptions with different intents MedicationRequest.intent
medication reference Return prescriptions for this medication reference MedicationRequest.medication.reference 4 Resources
patient reference Returns prescriptions for a specific patient MedicationRequest.subject.where(resolve() is Patient)
(Patient)
65 Resources
priority token Returns prescriptions with different priorities MedicationRequest.priority
requester reference Returns prescriptions prescribed by this prescriber MedicationRequest.requester
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
status token Status of the prescription MedicationRequest.status 4 Resources
subject reference The identity of a patient to list orders for MedicationRequest.subject
(Group, Patient)