Consumer Real-Time Pharmacy Benefit Check FHIR IG
2.0.0 - CI Build

Consumer Real-Time Pharmacy Benefit Check FHIR IG, published by HL7 International / Pharmacy. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/carin-rtpbc/ and changes regularly. See the Directory of published versions

## Resource Profile: RTPBC Medication Request

Official URL: http://hl7.org/fhir/us/carin-rtpbc/StructureDefinition/rtpbc-medicationrequest | Version: 2.0.0
Standards status: Trial-use Active as of 2020-12-02 | Maturity Level: 4 | Computable Name: RtpbcMedicationRequest

This profile constrains the MedicationRequest resource to convey a subset of prescription information required in the consumer real-time pharmacy benefit check (RTPBC) process. The content specifies the prescribed product and quantity, and references the prescribing practitioner and the patient's preferred pharmacy.

This profile differs from the US Core MedicationRequest in that it doesn't set the encounter or dosageInstruction elements as Must Support, because clients in the exchange will typically be mobile consumer applications that do not posess this information, and because that information is not pertinent to this use case.

The function of the MedicationRequest resource in this exchange is to convey information from the patient's prescription that has a bearing on pricing and coverage. This limited set of information consists of…

- the medication name and identifier
- prescribed quantity and unit of measure
- identification of the prescriber
- identification of the pharmacy
- whether product substitutions are allowed
- optionally, the days supply represented by the quantity

### Must Support elements in this profile

Client systems
All of the elements identified above are marked Must Support…

- all of these except for days supply (.expectedSupplyDuration) have a minimum cardinality of 1 and MUST be populated in order to enable reliable results from the processor
- substitutions.allowed is expected to be populated as false, indicating that the processor must provide pricing and coverage for the specific requested medication. (The processor may additionally return information about alternative medications)
- dosageInstruction SHOULD be used when determining days supply

Client and Responding systems

- days supply (.expectedSupplyDuration) can impact cost and coverage for a medication; however, patients may not be able to reliably provide it. Implementing partners MUST determine how or whether the element is to be used.

Responding systems

- MUST make use of all pertinent required MedicationRequest elements when determining pricing and coverage
- MAY use dosageInstruction when determining pricing and coverage

Usages:

- Use this Profile: RTPBC Request Bundle
- Refer to this Profile: RTPBC Request Using Claim
- Examples for this Profile: MedicationRequest/rtpbc-medicationrequest-03

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest | C | 0..* | USCoreMedicationRequestProfile | Ordering of medication for patient or group Constraints: us-core-21
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationAdherence |  | 0..* | (Complex) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Medication Adherence Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication-adherence
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | Request Status Binding: medicationrequest Status (required): A code specifying the state of the prescribing event. Describes the lifecycle of the prescription. Fixed Value: draft
intent | ?!S Σ C | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. Fixed Value: proposal
Slices for category | S | 0..* | CodeableConcept | Type of medication usage Slice: Unordered, Open by value:$this Binding: medicationRequest Category Codes (example): 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.
category:us-core | S | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (required): The type of medication order. Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action
reported[x] | S Σ | 0..1 |  | Reported rather than primary record
reportedBoolean |  |  | boolean S |
reportedReference |  |  | Reference S(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile) |
medication[x] | S Σ | 1..1 | CodeableConcept | Prescribed Product Binding: RTPBC Prescribable Product Code Value Set (extensible): RTPBC prescribable product codes (NDC11 and RxNorm)
subject | S Σ | 1..1 | Reference(RTPBC Patient) | Patient
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of encounter/admission/stay
authoredOn | S Σ | 0..1 | dateTime | When request was initially authored
requester | S Σ C | 1..1 | Reference(US Core Practitioner Profile S) | Prescriber
reasonCode |  | 0..* | CodeableConcept | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Reason or indication for ordering or not ordering the medication Binding: US Core Condition Codes (extensible)
dosageInstruction | S | 0..* | Dosage | How the medication should be taken
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
text | S Σ | 0..1 | string | Free text dosage instructions e.g. SIG
timing | S Σ | 0..1 | Timing | When medication should be administered
route | S Σ | 0..1 | CodeableConcept | How drug should enter body Binding: Route of Administration of Therapeutic Agents (extensible): SNOMED CT and NCI Thesaurus SPL route of administration codes
doseAndRate | S Σ | 0..* | Element | Amount of medication administered
dose[x] | S Σ | 0..1 |  | Amount of medication per dose Binding: Common UCUM units (preferred)
Additional Bindings | Purpose
UCUMCodes | Max Binding
doseQuantity |  |  | Quantity S(SimpleQuantity) |
doseRange |  |  | Range |
dispenseRequest | S | 1..1 | BackboneElement | Medication supply authorization
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
numberOfRepeatsAllowed | S | 0..1 | unsignedInt | Number of refills authorized
quantity | S | 1..1 | SimpleQuantity(4.0.1) | Prescribed Quantity
value | S Σ | 1..1 | decimal | Quantity in Billing Units
unit | S Σ | 1..1 | string | Billing unit of measure Binding: RTPBC Billing Unit Value Set (extensible): Billing quantity unity of measure
expectedSupplyDuration | S | 0..1 | Duration | Days Supply
value | S Σ | 0..1 | decimal | Days Supply Value
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
performer | S | 1..1 | Reference(Organization) | Pharmacy
substitution | S | 1..1 | BackboneElement | Substitution
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] | S | 1..1 | boolean | Substitution Allowed
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.status | Base | required | Medicationrequest status | 📦4.0.1 | FHIR Std.
MedicationRequest.intent | Base | required | Medication request intent | 📦4.0.1 | FHIR Std.
MedicationRequest.category | Base | example | Medication request category codes | 📍4.0.1 | FHIR Std.
MedicationRequest.category:us-core | Base | required | Medication request category codes | 📦4.0.1 | FHIR Std.
MedicationRequest.medication[x] | Base | extensible | RTPBC Prescribable Product Code Value Set | 📦2.0.0 | This IG
MedicationRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦8.0.1 | US Core v8.0
MedicationRequest.dosageInstruction.​route | Base | extensible | Route of Administration of Therapeutic Agents | 📦20241015 | VSAC v0.24
MedicationRequest.dosageInstruction.​doseAndRate.dose[x] | Base | preferred | Common UCUM units | 📦4.0.1 | FHIR Std.
MedicationRequest.dispenseRequest.​quantity.unit | Base | extensible | RTPBC Billing Unit Value Set | 📦2.0.0 | This IG
MedicationRequest.dispenseRequest.​expectedSupplyDuration.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-21 | error | MedicationRequest | requester SHALL be present if intent is "order" | `(intent='order' or intent='original-order' or intent='reflex-order'or intent='filler-order' or intent='instance-order') implies requester.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | USCoreMedicationRequestProfile | Ordering of medication for patient or group
status |  | 1..1 | code | Request Status Fixed Value: draft
intent |  | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Fixed Value: proposal
medication[x] |  | 1..1 | CodeableConcept | Prescribed Product Binding: RTPBC Prescribable Product Code Value Set (extensible): RTPBC prescribable product codes (NDC11 and RxNorm)
subject |  | 1..1 | Reference(RTPBC Patient) | Patient
authoredOn |  | 0..1 | dateTime | When request was initially authored
requester |  | 1..1 | Reference(US Core Practitioner Profile) | Prescriber
reasonCode |  | 0..* | CodeableConcept | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Reason or indication for ordering or not ordering the medication
dispenseRequest |  | 1..1 | BackboneElement | Medication supply authorization
quantity |  | 1..1 | SimpleQuantity(4.0.1) | Prescribed Quantity
value | S | 1..1 | decimal | Quantity in Billing Units
unit | S | 1..1 | string | Billing unit of measure Binding: RTPBC Billing Unit Value Set (extensible): Billing quantity unity of measure
expectedSupplyDuration | S | 0..1 | Duration | Days Supply
value | S | 0..1 | decimal | Days Supply Value
performer | S | 1..1 | Reference(Organization) | Pharmacy
substitution | S | 1..1 | BackboneElement | Substitution
allowed[x] | S | 1..1 | boolean | Substitution Allowed
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.medication[x] | Base | extensible | RTPBC Prescribable Product Code Value Set | 📦2.0.0 | This IG
MedicationRequest.dispenseRequest.​quantity.unit | Base | extensible | RTPBC Billing Unit Value Set | 📦2.0.0 | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest | C | 0..* | USCoreMedicationRequestProfile | Ordering of medication for patient or group Constraints: us-core-21
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:medicationAdherence |  | 0..* | (Complex) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Medication Adherence Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication-adherence
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier |  | 0..* | Identifier | External ids for this request
status | ?!S Σ | 1..1 | code | Request Status Binding: medicationrequest Status (required): A code specifying the state of the prescribing event. Describes the lifecycle of the prescription. Fixed Value: draft
statusReason |  | 0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.
intent | ?!S Σ C | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. Fixed Value: proposal
Slices for category | S | 0..* | CodeableConcept | Type of medication usage Slice: Unordered, Open by value:$this Binding: medicationRequest Category Codes (example): 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.
category:us-core | S | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (required): The type of medication order. Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action
reported[x] | S Σ | 0..1 |  | Reported rather than primary record
reportedBoolean |  |  | boolean S |
reportedReference |  |  | Reference S(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile) |
medication[x] | S Σ | 1..1 | CodeableConcept | Prescribed Product Binding: RTPBC Prescribable Product Code Value Set (extensible): RTPBC prescribable product codes (NDC11 and RxNorm)
subject | S Σ | 1..1 | Reference(RTPBC Patient) | Patient
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | Information to support ordering of the medication
authoredOn | S Σ | 0..1 | dateTime | When request was initially authored
requester | S Σ C | 1..1 | Reference(US Core Practitioner Profile S) | Prescriber
performer |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reasonCode |  | 0..* | CodeableConcept | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Reason or indication for ordering or not ordering the medication Binding: US Core Condition Codes (extensible)
reasonReference |  | 0..* | Reference(Condition | Observation) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Condition or Observation that supports the prescription
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
note |  | 0..* | Annotation | Information about the prescription
dosageInstruction | S | 0..* | Dosage | How the medication should be taken
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | S Σ | 0..1 | string | Free text dosage instructions e.g. SIG
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | S Σ | 0..1 | Timing | When medication should be administered
asNeeded[x] | Σ | 0..1 |  | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
route | S Σ | 0..1 | CodeableConcept | How drug should enter body Binding: Route of Administration of Therapeutic Agents (extensible): SNOMED CT and NCI Thesaurus SPL route of administration codes
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
doseAndRate | S Σ | 0..* | Element | Amount of medication administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
dose[x] | S Σ | 0..1 |  | Amount of medication per dose Binding: Common UCUM units (preferred)
Additional Bindings | Purpose
UCUMCodes | Max Binding
doseQuantity |  |  | Quantity S(SimpleQuantity) |
doseRange |  |  | Range |
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient
dispenseRequest | S | 1..1 | BackboneElement | Medication supply authorization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
initialFill |  | 0..1 | BackboneElement | First fill details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
quantity |  | 0..1 | SimpleQuantity(4.0.1) | 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 | S | 0..1 | unsignedInt | Number of refills authorized
quantity | S | 1..1 | SimpleQuantity(4.0.1) | Prescribed Quantity
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 1..1 | decimal | Quantity in Billing Units
unit | S Σ | 1..1 | string | Billing unit of measure Binding: RTPBC Billing Unit Value Set (extensible): Billing quantity unity of measure
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ | 0..1 | code | Coded form of the unit
expectedSupplyDuration | S | 0..1 | Duration | Days Supply
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 0..1 | decimal | Days Supply Value
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ | 0..1 | code | Coded form of the unit
performer | S | 1..1 | Reference(Organization) | Pharmacy
substitution | S | 1..1 | BackboneElement | Substitution
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] | S | 1..1 | boolean | Substitution Allowed
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.
priorPrescription |  | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced
detectedIssue |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
MedicationRequest.status | Base | required | Medicationrequest status | 📦4.0.1 | FHIR Std.
MedicationRequest.statusReason | Base | example | Medication request status reason codes | 📍4.0.1 | FHIR Std.
MedicationRequest.intent | Base | required | Medication request intent | 📦4.0.1 | FHIR Std.
MedicationRequest.category | Base | example | Medication request category codes | 📍4.0.1 | FHIR Std.
MedicationRequest.category:us-core | Base | required | Medication request category codes | 📦4.0.1 | FHIR Std.
MedicationRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
MedicationRequest.medication[x] | Base | extensible | RTPBC Prescribable Product Code Value Set | 📦2.0.0 | This IG
MedicationRequest.performerType | Base | example | Procedure Performer Role Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦8.0.1 | US Core v8.0
MedicationRequest.courseOfTherapyType | Base | example | Medication request course of therapy codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​site | Base | example | SNOMED CT Anatomical Structure for Administration Site Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​route | Base | extensible | Route of Administration of Therapeutic Agents | 📦20241015 | VSAC v0.24
MedicationRequest.dosageInstruction.​method | Base | example | SNOMED CT Administration Method Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​doseAndRate.type | Base | example | DoseAndRateType | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​doseAndRate.dose[x] | Base | preferred | Common UCUM units | 📦4.0.1 | FHIR Std.
MedicationRequest.dispenseRequest.​quantity.unit | Base | extensible | RTPBC Billing Unit Value Set | 📦2.0.0 | This IG
MedicationRequest.dispenseRequest.​expectedSupplyDuration.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
MedicationRequest.substitution.​reason | Base | example | SubstanceAdminSubstitutionReason | 📦3.0.0 | THO v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-21 | error | MedicationRequest | requester SHALL be present if intent is "order" | `(intent='order' or intent='original-order' or intent='reflex-order'or intent='filler-order' or intent='instance-order') implies requester.exists()`

Summary

Mandatory: 7 elements
Must-Support: 7 elements
Fixed: 2 elements

Structures

This structure refers to these other structures:

- RTPBC Patient (http://hl7.org/fhir/us/carin-rtpbc/StructureDefinition/rtpbc-patient)
- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner)

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest | C | 0..* | USCoreMedicationRequestProfile | Ordering of medication for patient or group Constraints: us-core-21
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:medicationAdherence |  | 0..* | (Complex) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Medication Adherence Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication-adherence
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | Request Status Binding: medicationrequest Status (required): A code specifying the state of the prescribing event. Describes the lifecycle of the prescription. Fixed Value: draft
intent | ?!S Σ C | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. Fixed Value: proposal
Slices for category | S | 0..* | CodeableConcept | Type of medication usage Slice: Unordered, Open by value:$this Binding: medicationRequest Category Codes (example): 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.
category:us-core | S | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (required): The type of medication order. Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action
reported[x] | S Σ | 0..1 |  | Reported rather than primary record
reportedBoolean |  |  | boolean S |
reportedReference |  |  | Reference S(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile) |
medication[x] | S Σ | 1..1 | CodeableConcept | Prescribed Product Binding: RTPBC Prescribable Product Code Value Set (extensible): RTPBC prescribable product codes (NDC11 and RxNorm)
subject | S Σ | 1..1 | Reference(RTPBC Patient) | Patient
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of encounter/admission/stay
authoredOn | S Σ | 0..1 | dateTime | When request was initially authored
requester | S Σ C | 1..1 | Reference(US Core Practitioner Profile S) | Prescriber
reasonCode |  | 0..* | CodeableConcept | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Reason or indication for ordering or not ordering the medication Binding: US Core Condition Codes (extensible)
dosageInstruction | S | 0..* | Dosage | How the medication should be taken
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
text | S Σ | 0..1 | string | Free text dosage instructions e.g. SIG
timing | S Σ | 0..1 | Timing | When medication should be administered
route | S Σ | 0..1 | CodeableConcept | How drug should enter body Binding: Route of Administration of Therapeutic Agents (extensible): SNOMED CT and NCI Thesaurus SPL route of administration codes
doseAndRate | S Σ | 0..* | Element | Amount of medication administered
dose[x] | S Σ | 0..1 |  | Amount of medication per dose Binding: Common UCUM units (preferred)
Additional Bindings | Purpose
UCUMCodes | Max Binding
doseQuantity |  |  | Quantity S(SimpleQuantity) |
doseRange |  |  | Range |
dispenseRequest | S | 1..1 | BackboneElement | Medication supply authorization
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
numberOfRepeatsAllowed | S | 0..1 | unsignedInt | Number of refills authorized
quantity | S | 1..1 | SimpleQuantity(4.0.1) | Prescribed Quantity
value | S Σ | 1..1 | decimal | Quantity in Billing Units
unit | S Σ | 1..1 | string | Billing unit of measure Binding: RTPBC Billing Unit Value Set (extensible): Billing quantity unity of measure
expectedSupplyDuration | S | 0..1 | Duration | Days Supply
value | S Σ | 0..1 | decimal | Days Supply Value
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
performer | S | 1..1 | Reference(Organization) | Pharmacy
substitution | S | 1..1 | BackboneElement | Substitution
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] | S | 1..1 | boolean | Substitution Allowed
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.status | Base | required | Medicationrequest status | 📦4.0.1 | FHIR Std.
MedicationRequest.intent | Base | required | Medication request intent | 📦4.0.1 | FHIR Std.
MedicationRequest.category | Base | example | Medication request category codes | 📍4.0.1 | FHIR Std.
MedicationRequest.category:us-core | Base | required | Medication request category codes | 📦4.0.1 | FHIR Std.
MedicationRequest.medication[x] | Base | extensible | RTPBC Prescribable Product Code Value Set | 📦2.0.0 | This IG
MedicationRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦8.0.1 | US Core v8.0
MedicationRequest.dosageInstruction.​route | Base | extensible | Route of Administration of Therapeutic Agents | 📦20241015 | VSAC v0.24
MedicationRequest.dosageInstruction.​doseAndRate.dose[x] | Base | preferred | Common UCUM units | 📦4.0.1 | FHIR Std.
MedicationRequest.dispenseRequest.​quantity.unit | Base | extensible | RTPBC Billing Unit Value Set | 📦2.0.0 | This IG
MedicationRequest.dispenseRequest.​expectedSupplyDuration.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-21 | error | MedicationRequest | requester SHALL be present if intent is "order" | `(intent='order' or intent='original-order' or intent='reflex-order'or intent='filler-order' or intent='instance-order') implies requester.exists()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | USCoreMedicationRequestProfile | Ordering of medication for patient or group
status |  | 1..1 | code | Request Status Fixed Value: draft
intent |  | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Fixed Value: proposal
medication[x] |  | 1..1 | CodeableConcept | Prescribed Product Binding: RTPBC Prescribable Product Code Value Set (extensible): RTPBC prescribable product codes (NDC11 and RxNorm)
subject |  | 1..1 | Reference(RTPBC Patient) | Patient
authoredOn |  | 0..1 | dateTime | When request was initially authored
requester |  | 1..1 | Reference(US Core Practitioner Profile) | Prescriber
reasonCode |  | 0..* | CodeableConcept | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Reason or indication for ordering or not ordering the medication
dispenseRequest |  | 1..1 | BackboneElement | Medication supply authorization
quantity |  | 1..1 | SimpleQuantity(4.0.1) | Prescribed Quantity
value | S | 1..1 | decimal | Quantity in Billing Units
unit | S | 1..1 | string | Billing unit of measure Binding: RTPBC Billing Unit Value Set (extensible): Billing quantity unity of measure
expectedSupplyDuration | S | 0..1 | Duration | Days Supply
value | S | 0..1 | decimal | Days Supply Value
performer | S | 1..1 | Reference(Organization) | Pharmacy
substitution | S | 1..1 | BackboneElement | Substitution
allowed[x] | S | 1..1 | boolean | Substitution Allowed
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.medication[x] | Base | extensible | RTPBC Prescribable Product Code Value Set | 📦2.0.0 | This IG
MedicationRequest.dispenseRequest.​quantity.unit | Base | extensible | RTPBC Billing Unit Value Set | 📦2.0.0 | This IG

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest | C | 0..* | USCoreMedicationRequestProfile | Ordering of medication for patient or group Constraints: us-core-21
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:medicationAdherence |  | 0..* | (Complex) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Medication Adherence Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication-adherence
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier |  | 0..* | Identifier | External ids for this request
status | ?!S Σ | 1..1 | code | Request Status Binding: medicationrequest Status (required): A code specifying the state of the prescribing event. Describes the lifecycle of the prescription. Fixed Value: draft
statusReason |  | 0..1 | CodeableConcept | Reason for current status Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.
intent | ?!S Σ C | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: medicationRequest Intent (required): The kind of medication order. Fixed Value: proposal
Slices for category | S | 0..* | CodeableConcept | Type of medication usage Slice: Unordered, Open by value:$this Binding: medicationRequest Category Codes (example): 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.
category:us-core | S | 0..* | CodeableConcept | Type of medication usage Binding: medicationRequest Category Codes (required): The type of medication order. Note that other codes are permitted, see Required Bindings When Slicing by Value Sets
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if request is prohibiting action
reported[x] | S Σ | 0..1 |  | Reported rather than primary record
reportedBoolean |  |  | boolean S |
reportedReference |  |  | Reference S(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile) |
medication[x] | S Σ | 1..1 | CodeableConcept | Prescribed Product Binding: RTPBC Prescribable Product Code Value Set (extensible): RTPBC prescribable product codes (NDC11 and RxNorm)
subject | S Σ | 1..1 | Reference(RTPBC Patient) | Patient
encounter | S | 0..1 | Reference(US Core Encounter Profile) | Encounter created as part of encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | Information to support ordering of the medication
authoredOn | S Σ | 0..1 | dateTime | When request was initially authored
requester | S Σ C | 1..1 | Reference(US Core Practitioner Profile S) | Prescriber
performer |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ProcedurePerformerRoleCodes (example): Identifies the type of individual that is desired to administer the medication.
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reasonCode |  | 0..* | CodeableConcept | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: Reason or indication for ordering or not ordering the medication Binding: US Core Condition Codes (extensible)
reasonReference |  | 0..* | Reference(Condition | Observation) | 𝗔𝗗𝗗𝗜𝗧𝗜𝗢𝗡𝗔𝗟 𝗨𝗦𝗖𝗗𝗜: US Core Condition or Observation that supports the prescription
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
note |  | 0..* | Annotation | Information about the prescription
dosageInstruction | S | 0..* | Dosage | How the medication should be taken
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
sequence | Σ | 0..1 | integer | The order of the dosage instructions
text | S Σ | 0..1 | string | Free text dosage instructions e.g. SIG
additionalInstruction | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
patientInstruction | Σ | 0..1 | string | Patient or consumer oriented instructions
timing | S Σ | 0..1 | Timing | When medication should be administered
asNeeded[x] | Σ | 0..1 |  | Take "as needed" (for x) Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
asNeededBoolean |  |  | boolean |
asNeededCodeableConcept |  |  | CodeableConcept |
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
route | S Σ | 0..1 | CodeableConcept | How drug should enter body Binding: Route of Administration of Therapeutic Agents (extensible): SNOMED CT and NCI Thesaurus SPL route of administration codes
method | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
doseAndRate | S Σ | 0..* | Element | Amount of medication administered
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
type | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: DoseAndRateType (example): The kind of dose or rate specified.
dose[x] | S Σ | 0..1 |  | Amount of medication per dose Binding: Common UCUM units (preferred)
Additional Bindings | Purpose
UCUMCodes | Max Binding
doseQuantity |  |  | Quantity S(SimpleQuantity) |
doseRange |  |  | Range |
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time
maxDosePerAdministration | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(4.0.1) | Upper limit on medication per lifetime of the patient
dispenseRequest | S | 1..1 | BackboneElement | Medication supply authorization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
initialFill |  | 0..1 | BackboneElement | First fill details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
quantity |  | 0..1 | SimpleQuantity(4.0.1) | 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 | S | 0..1 | unsignedInt | Number of refills authorized
quantity | S | 1..1 | SimpleQuantity(4.0.1) | Prescribed Quantity
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 1..1 | decimal | Quantity in Billing Units
unit | S Σ | 1..1 | string | Billing unit of measure Binding: RTPBC Billing Unit Value Set (extensible): Billing quantity unity of measure
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ | 0..1 | code | Coded form of the unit
expectedSupplyDuration | S | 0..1 | Duration | Days Supply
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 0..1 | decimal | Days Supply Value
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | Σ C | 0..1 | uri | System that defines coded unit form
code | Σ | 0..1 | code | Coded form of the unit
performer | S | 1..1 | Reference(Organization) | Pharmacy
substitution | S | 1..1 | BackboneElement | Substitution
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] | S | 1..1 | boolean | Substitution Allowed
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.
priorPrescription |  | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced
detectedIssue |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
MedicationRequest.status | Base | required | Medicationrequest status | 📦4.0.1 | FHIR Std.
MedicationRequest.statusReason | Base | example | Medication request status reason codes | 📍4.0.1 | FHIR Std.
MedicationRequest.intent | Base | required | Medication request intent | 📦4.0.1 | FHIR Std.
MedicationRequest.category | Base | example | Medication request category codes | 📍4.0.1 | FHIR Std.
MedicationRequest.category:us-core | Base | required | Medication request category codes | 📦4.0.1 | FHIR Std.
MedicationRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
MedicationRequest.medication[x] | Base | extensible | RTPBC Prescribable Product Code Value Set | 📦2.0.0 | This IG
MedicationRequest.performerType | Base | example | Procedure Performer Role Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.reasonCode | Base | extensible | US Core Condition Codes | 📦8.0.1 | US Core v8.0
MedicationRequest.courseOfTherapyType | Base | example | Medication request course of therapy codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​site | Base | example | SNOMED CT Anatomical Structure for Administration Site Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​route | Base | extensible | Route of Administration of Therapeutic Agents | 📦20241015 | VSAC v0.24
MedicationRequest.dosageInstruction.​method | Base | example | SNOMED CT Administration Method Codes | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​doseAndRate.type | Base | example | DoseAndRateType | 📍4.0.1 | FHIR Std.
MedicationRequest.dosageInstruction.​doseAndRate.dose[x] | Base | preferred | Common UCUM units | 📦4.0.1 | FHIR Std.
MedicationRequest.dispenseRequest.​quantity.unit | Base | extensible | RTPBC Billing Unit Value Set | 📦2.0.0 | This IG
MedicationRequest.dispenseRequest.​expectedSupplyDuration.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
MedicationRequest.substitution.​reason | Base | example | SubstanceAdminSubstitutionReason | 📦3.0.0 | THO v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-21 | error | MedicationRequest | requester SHALL be present if intent is "order" | `(intent='order' or intent='original-order' or intent='reflex-order'or intent='filler-order' or intent='instance-order') implies requester.exists()`

Summary

Mandatory: 7 elements
Must-Support: 7 elements
Fixed: 2 elements

Structures

This structure refers to these other structures:

- RTPBC Patient (http://hl7.org/fhir/us/carin-rtpbc/StructureDefinition/rtpbc-patient)
- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner)

Maturity: 4

Other representations of profile: CSV, Excel, Schematron