US Quality Core Implementation Guide
1.0.0-ballot - STU 1 - ballot United States of America flag

US Quality Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-quality-core/ and changes regularly. See the Directory of published versions

Resource Profile: US Quality Core MedicationRequested

Official URL: http://hl7.org/fhir/us/quality-core/StructureDefinition/us-quality-core-medicationrequested Version: 1.0.0-ballot
Standards status: Trial-use Maturity Level: 4 Computable Name: USQualityCoreMedicationRequested
Other Identifiers: OID:2.16.840.1.113883.4.642.40.78.42.33

Positive profile of MedicationRequest for decision support/quality metrics. Indicates that a medication was proposed, planned, or ordered.

The MedicationRequest profile defines the conformance expectations for a MedicationRequest, regardless of whether it is a positive or negative statement. The MedicationRequested and MedicationNotRequested profiles represent the positive and negative statements for a medication order.

To create an expression indicating the existence of a medication request, use the profile USQualityCoreMedicationRequested; to specifically request information that a MedicationRequest intentionally did not occur for a medical, patient or system reason, use the profile USQualityCoreMedicationProhibited.

Note that the doNotPerform and statuses indicating positive intent are implied by the use of the MedicationRequested profile.

USCDI+ Quality Element Support Expectations

Systems are expected to support this profile as part of implementing USCDI+ Quality V2 in FHIR and meeting the conformance requirements of this guide.

The following elements are specifically relevant to USCDI+ Quality V2 data classes and elements. Systems are expected to support these elements as applicable to their role in US Quality Core data exchange. See the Must Support section of this guide for more information. These elements are flagged as (USCDI+ Quality) in the formal profile views.

USCDI+ Quality Elements:

Profile element Description USCDI+ Quality Data Element(s)
authoredOn When request was initially authored Medications: Date and Time Medication Prescribed, Orders: Medication Order
dispenseRequest Medication supply authorization Medications: Days Supply, Medications: Medication Quantity
dispenseRequest.expectedSupplyDuration Number of days supply per dispense Medications: Days Supply
dispenseRequest.numberOfRepeatsAllowed Number of refills authorized Orders: Medication Order
dispenseRequest.quantity Amount of medication to supply per dispense Medications: Medication Quantity
dispenseRequest.validityPeriod Time period supply is authorized for Orders: Medication Order
doNotPerform True if medication was not requested Orders: Medication Order
dosageInstruction How medication should be taken Medications: Medication Instructions
dosageInstruction.asNeeded[x] Take "as needed" (for x) Medications: Medication Instructions
dosageInstruction.doseAndRate Amount of medication administered Medications: Medication Instructions
dosageInstruction.doseAndRate.dose[x] Amount of medication per dose Medications: Dose, Medications: Dose Unit of Measure, Medications: Medication Instructions
dosageInstruction.route How drug should enter body Medications: Route of Administration
dosageInstruction.text Free text dosage instructions e.g. SIG Medications: Medication Instructions
dosageInstruction.timing When medication should be administered Medications: Medication Instructions
dosageInstruction.timing.repeat When the event is to occur Medications: Medication Instructions
dosageInstruction.timing.repeat.bounds[x] Length/Range of lengths, or (Start and/or end) limits Medications: Medication Instructions
dosageInstruction.timing.repeat.frequency Event occurs frequency times per period Medications: Medication Instructions
dosageInstruction.timing.repeat.frequencyMax Event occurs frequencyMax times per period Medications: Medication Instructions
dosageInstruction.timing.repeat.period Event occurs frequency times per period Medications: Medication Instructions
dosageInstruction.timing.repeat.periodMax Upper limit of period (3-4 hours) Medications: Medication Instructions
dosageInstruction.timing.repeat.periodUnit s | min | h | d | wk | mo | a - unit of time (UCUM) Medications: Medication Instructions
extension:medicationAdherence Reported adherence to prescribed medication instructions. Medications: Medication Adherence
intent proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Orders: Medication Order
medication[x] Medication to be taken Medications: Medications, Orders: Medication Order
medication[x].extension:codeOptions Url of a value set of candidate medications Orders: Medication Order
reasonCode Reason or indication for ordering or not ordering the medication Medications: Indication
reasonReference US Quality Core Condition or Observation that supports the prescription Medications: Indication
reported[x]:reportedReference Reported rather than primary record Provenance: Author
requester Who/What requested the Request Provenance: Author
status active | on-hold | cancelled | completed | stopped | draft Orders: Medication Order

Because this profile is derived directly or indirectly from US Core, systems are also expected to support the Must Support and Additional USCDI requirements specified by the US Core profile this profile inherits from. For more information about those requirements, refer to the US Core MedicationRequest Profile. The Formal Views section also provides the formal summary, definitions, terminology requirements, and mandatory element requirements.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest C 0..* USQualityCoreMedicationRequest Ordering of medication for patient or group
Constraints: us-core-21, mrq-1
... 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) (USCDI+ Quality) Reported adherence to prescribed medication instructions.
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication-adherence
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... intent ?!SΣC 1..1 code (USCDI+ Quality) proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... 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 in other slices, see Required Bindings When Slicing by Value Sets
... doNotPerform ?!Σ 0..1 boolean (USCDI+ Quality) True if medication was not requested
Fixed Value: false
... Slices for reported[x] SΣ 0..1 Reported rather than primary record
Slice: Unordered, Open by type:$this
.... reportedBoolean boolean S
.... reportedReference Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson)
.... reported[x]:reportedReference SΣ 0..1 Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) Reported rather than primary record
... medication[x] SΣC 1..1 (USCDI+ Quality) Medication to be taken
Binding: Medication Clinical Drug . (extensible)
.... medication[x]All Types Content/Rules for all Types
..... Slices for extension Content/Rules for all slices
...... extension:codeOptions C 0..1 canonical(ValueSet) (USCDI+ Quality) Url of a value set of candidate medications
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(US Core Medication Profile)
... subject SΣ 1..1 Reference(US Quality Core Patient) Who or group medication request is for
... encounter S 0..1 Reference(US Quality Core Encounter) Encounter created as part of encounter/admission/stay
... authoredOn SΣ 0..1 dateTime (USCDI+ Quality) When request was initially authored
... requester SΣC 0..1 Reference(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient) (USCDI+ Quality) Who/What requested the Request
... dosageInstruction S 0..* Dosage (USCDI+ Quality) How medication should be taken
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text SΣ 0..1 string (USCDI+ Quality) Free text dosage instructions e.g. SIG
.... timing SΣ 0..1 Timing (USCDI+ Quality) When medication should be administered
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... route SΣ 0..1 CodeableConcept (USCDI+ Quality) 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 (USCDI+ Quality) Amount of medication administered
..... dose[x] SΣ 0..1 (USCDI+ Quality) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
...... doseQuantity Quantity S(SimpleQuantity)
...... doseRange Range
... dispenseRequest S 0..1 BackboneElement (USCDI+ Quality) Medication supply authorization
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... numberOfRepeatsAllowed S 0..1 unsignedInt (USCDI+ Quality) Number of refills authorized
.... quantity S 0..1 SimpleQuantity(4.0.1) (USCDI+ Quality) Amount of medication to supply per dispense

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationRequest.status Base required Positive MedicationRequest Status 📦1.0.0-ballot This IG
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 Medication Clinical Drug . ⏿20240606 tx.fhir.org
MedicationRequest.dosageInstruction.​route Base extensible Route of Administration of Therapeutic Agents . ⏿20241015 tx.fhir.org
MedicationRequest.dosageInstruction.​doseAndRate.dose[x] Base preferred Common UCUM units 📦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()
mrq-1 error MedicationRequest To indicate what medication, either a reference to a Medication, or either at least one coding in the medication or a codeOperations extension shall be provided (medication is Reference).not() implies medication.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor medication.coding.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()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* USQualityCoreMedicationRequest Ordering of medication for patient or group
... status 1..1 code (USCDI+ Quality) active | on-hold | cancelled | completed | stopped | draft
Binding: Positive MedicationRequest Status (required)
... category 0..* CodeableConcept Type of medication usage
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.
... doNotPerform 0..1 boolean (USCDI+ Quality) True if medication was not requested
Fixed Value: false

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationRequest.status Base required Positive MedicationRequest Status 📦1.0.0-ballot This IG
MedicationRequest.category Base example Medication request category codes 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest C 0..* USQualityCoreMedicationRequest Ordering of medication for patient or group
Constraints: us-core-21, mrq-1
... 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 BindingsPurpose
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) (USCDI+ Quality) Reported adherence to prescribed medication instructions.
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 (USCDI+ Quality) active | on-hold | cancelled | completed | stopped | draft
Binding: Positive MedicationRequest Status (required)
... 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 (USCDI+ Quality) proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... 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 in other slices, 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 (USCDI+ Quality) True if medication was not requested
Fixed Value: false
... Slices for reported[x] SΣ 0..1 Reported rather than primary record
Slice: Unordered, Open by type:$this
.... reportedBoolean boolean S
.... reportedReference Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson)
.... reported[x]:reportedReference SΣ 0..1 Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) Reported rather than primary record
... medication[x] SΣC 1..1 (USCDI+ Quality) Medication to be taken
Binding: Medication Clinical Drug . (extensible)
.... medication[x]All Types Content/Rules for all Types
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:codeOptions C 0..1 canonical(ValueSet) (USCDI+ Quality) Url of a value set of candidate medications
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(US Core Medication Profile)
... subject SΣ 1..1 Reference(US Quality Core Patient) Who or group medication request is for
... encounter S 0..1 Reference(US Quality Core Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* Reference(Resource) Information to support ordering of the medication
... authoredOn SΣ 0..1 dateTime (USCDI+ Quality) When request was initially authored
... requester SΣC 0..1 Reference(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient) (USCDI+ Quality) Who/What requested the Request
... 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 (USCDI+ Quality) Reason or indication for ordering or not ordering the medication
Binding: US Core Condition Codes (extensible)
... reasonReference 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core Simple Observation) (USCDI+ Quality) US Quality 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 (USCDI+ Quality) How 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 (USCDI+ Quality) 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 (USCDI+ Quality) When medication should be 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... event Σ 0..* dateTime When the event occurs
..... repeat ΣC 0..1 Element (USCDI+ Quality) When the event is to occur
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... bounds[x] Σ 0..1 (USCDI+ Quality) Length/Range of lengths, or (Start and/or end) limits
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
...... count Σ 0..1 positiveInt Number of times to repeat
...... countMax Σ 0..1 positiveInt Maximum number of times to repeat
...... duration Σ 0..1 decimal How long when it happens
...... durationMax Σ 0..1 decimal How long when it happens (Max)
...... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
...... frequency Σ 0..1 positiveInt (USCDI+ Quality) Event occurs frequency times per period
...... frequencyMax Σ 0..1 positiveInt (USCDI+ Quality) Event occurs frequencyMax times per period
...... period Σ 0..1 decimal (USCDI+ Quality) Event occurs frequency times per period
...... periodMax Σ 0..1 decimal (USCDI+ Quality) Upper limit of period (3-4 hours)
...... periodUnit Σ 0..1 code (USCDI+ Quality) s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
...... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
...... timeOfDay Σ 0..* time Time of day for action
...... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.
...... offset Σ 0..1 unsignedInt Minutes from event (before or after)
..... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
.... asNeeded[x] Σ 0..1 (USCDI+ Quality) 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 (USCDI+ Quality) 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 (USCDI+ Quality) 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 (USCDI+ Quality) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
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 0..1 BackboneElement (USCDI+ Quality) 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 (USCDI+ Quality) Time period supply is authorized for
.... numberOfRepeatsAllowed S 0..1 unsignedInt (USCDI+ Quality) Number of refills authorized
.... quantity S 0..1 SimpleQuantity(4.0.1) (USCDI+ Quality) Amount of medication to supply per dispense
.... expectedSupplyDuration 0..1 Duration (USCDI+ Quality) Number of days supply per dispense
.... performer 0..1 Reference(Organization) Intended dispenser
... substitution 0..1 BackboneElement Any restrictions on medication 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] 1..1 Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
..... allowedBoolean boolean
..... allowedCodeableConcept CodeableConcept
.... 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

doco 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 Positive MedicationRequest Status 📦1.0.0-ballot This IG
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 Medication Clinical Drug . ⏿20240606 tx.fhir.org
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
MedicationRequest.reasonCode Base extensible US Core Condition Codes 📦9.0.0 US Core v9.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.​timing.repeat.durationUnit Base required UnitsOfTime 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.periodUnit Base required UnitsOfTime 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.dayOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.when Base required EventTiming 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.code Base preferred TimingAbbreviation 📍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 tx.fhir.org
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.substitution.​allowed[x] Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.2
MedicationRequest.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.2

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()
mrq-1 error MedicationRequest To indicate what medication, either a reference to a Medication, or either at least one coding in the medication or a codeOperations extension shall be provided (medication is Reference).not() implies medication.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor medication.coding.exists()
tim-1 error MedicationRequest.dosageInstruction.timing.repeat if there's a duration, there needs to be duration units duration.empty() or durationUnit.exists()
tim-2 error MedicationRequest.dosageInstruction.timing.repeat if there's a period, there needs to be period units period.empty() or periodUnit.exists()
tim-4 error MedicationRequest.dosageInstruction.timing.repeat duration SHALL be a non-negative value duration.exists() implies duration >= 0
tim-5 error MedicationRequest.dosageInstruction.timing.repeat period SHALL be a non-negative value period.exists() implies period >= 0
tim-6 error MedicationRequest.dosageInstruction.timing.repeat If there's a periodMax, there must be a period periodMax.empty() or period.exists()
tim-7 error MedicationRequest.dosageInstruction.timing.repeat If there's a durationMax, there must be a duration durationMax.empty() or duration.exists()
tim-8 error MedicationRequest.dosageInstruction.timing.repeat If there's a countMax, there must be a count countMax.empty() or count.exists()
tim-9 error MedicationRequest.dosageInstruction.timing.repeat If there's an offset, there must be a when (and not C, CM, CD, CV) offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10 error MedicationRequest.dosageInstruction.timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa timeOfDay.empty() or when.empty()
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

Fixed: 1 element

Maturity: 4

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest C 0..* USQualityCoreMedicationRequest Ordering of medication for patient or group
Constraints: us-core-21, mrq-1
... 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) (USCDI+ Quality) Reported adherence to prescribed medication instructions.
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-medication-adherence
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... intent ?!SΣC 1..1 code (USCDI+ Quality) proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... 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 in other slices, see Required Bindings When Slicing by Value Sets
... doNotPerform ?!Σ 0..1 boolean (USCDI+ Quality) True if medication was not requested
Fixed Value: false
... Slices for reported[x] SΣ 0..1 Reported rather than primary record
Slice: Unordered, Open by type:$this
.... reportedBoolean boolean S
.... reportedReference Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson)
.... reported[x]:reportedReference SΣ 0..1 Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) Reported rather than primary record
... medication[x] SΣC 1..1 (USCDI+ Quality) Medication to be taken
Binding: Medication Clinical Drug . (extensible)
.... medication[x]All Types Content/Rules for all Types
..... Slices for extension Content/Rules for all slices
...... extension:codeOptions C 0..1 canonical(ValueSet) (USCDI+ Quality) Url of a value set of candidate medications
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(US Core Medication Profile)
... subject SΣ 1..1 Reference(US Quality Core Patient) Who or group medication request is for
... encounter S 0..1 Reference(US Quality Core Encounter) Encounter created as part of encounter/admission/stay
... authoredOn SΣ 0..1 dateTime (USCDI+ Quality) When request was initially authored
... requester SΣC 0..1 Reference(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient) (USCDI+ Quality) Who/What requested the Request
... dosageInstruction S 0..* Dosage (USCDI+ Quality) How medication should be taken
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text SΣ 0..1 string (USCDI+ Quality) Free text dosage instructions e.g. SIG
.... timing SΣ 0..1 Timing (USCDI+ Quality) When medication should be administered
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... route SΣ 0..1 CodeableConcept (USCDI+ Quality) 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 (USCDI+ Quality) Amount of medication administered
..... dose[x] SΣ 0..1 (USCDI+ Quality) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
UCUMCodes Max Binding
...... doseQuantity Quantity S(SimpleQuantity)
...... doseRange Range
... dispenseRequest S 0..1 BackboneElement (USCDI+ Quality) Medication supply authorization
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... numberOfRepeatsAllowed S 0..1 unsignedInt (USCDI+ Quality) Number of refills authorized
.... quantity S 0..1 SimpleQuantity(4.0.1) (USCDI+ Quality) Amount of medication to supply per dispense

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationRequest.status Base required Positive MedicationRequest Status 📦1.0.0-ballot This IG
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 Medication Clinical Drug . ⏿20240606 tx.fhir.org
MedicationRequest.dosageInstruction.​route Base extensible Route of Administration of Therapeutic Agents . ⏿20241015 tx.fhir.org
MedicationRequest.dosageInstruction.​doseAndRate.dose[x] Base preferred Common UCUM units 📦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()
mrq-1 error MedicationRequest To indicate what medication, either a reference to a Medication, or either at least one coding in the medication or a codeOperations extension shall be provided (medication is Reference).not() implies medication.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor medication.coding.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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest 0..* USQualityCoreMedicationRequest Ordering of medication for patient or group
... status 1..1 code (USCDI+ Quality) active | on-hold | cancelled | completed | stopped | draft
Binding: Positive MedicationRequest Status (required)
... category 0..* CodeableConcept Type of medication usage
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.
... doNotPerform 0..1 boolean (USCDI+ Quality) True if medication was not requested
Fixed Value: false

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationRequest.status Base required Positive MedicationRequest Status 📦1.0.0-ballot This IG
MedicationRequest.category Base example Medication request category codes 📦4.0.1 FHIR Std.

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationRequest C 0..* USQualityCoreMedicationRequest Ordering of medication for patient or group
Constraints: us-core-21, mrq-1
... 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 BindingsPurpose
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) (USCDI+ Quality) Reported adherence to prescribed medication instructions.
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 (USCDI+ Quality) active | on-hold | cancelled | completed | stopped | draft
Binding: Positive MedicationRequest Status (required)
... 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 (USCDI+ Quality) proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
... 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 in other slices, 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 (USCDI+ Quality) True if medication was not requested
Fixed Value: false
... Slices for reported[x] SΣ 0..1 Reported rather than primary record
Slice: Unordered, Open by type:$this
.... reportedBoolean boolean S
.... reportedReference Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson)
.... reported[x]:reportedReference SΣ 0..1 Reference S(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient | US Quality Core RelatedPerson) (USCDI+ Quality) Reported rather than primary record
... medication[x] SΣC 1..1 (USCDI+ Quality) Medication to be taken
Binding: Medication Clinical Drug . (extensible)
.... medication[x]All Types Content/Rules for all Types
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:codeOptions C 0..1 canonical(ValueSet) (USCDI+ Quality) Url of a value set of candidate medications
URL: http://hl7.org/fhir/StructureDefinition/codeOptions
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(US Core Medication Profile)
... subject SΣ 1..1 Reference(US Quality Core Patient) Who or group medication request is for
... encounter S 0..1 Reference(US Quality Core Encounter) Encounter created as part of encounter/admission/stay
... supportingInformation 0..* Reference(Resource) Information to support ordering of the medication
... authoredOn SΣ 0..1 dateTime (USCDI+ Quality) When request was initially authored
... requester SΣC 0..1 Reference(US Quality Core Practitioner | US Quality Core PractitionerRole | US Quality Core Patient) (USCDI+ Quality) Who/What requested the Request
... 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 (USCDI+ Quality) Reason or indication for ordering or not ordering the medication
Binding: US Core Condition Codes (extensible)
... reasonReference 0..* Reference(US Quality Core Condition Encounter Diagnosis | US Quality Core Condition Problems Health Concerns | US Quality Core Simple Observation) (USCDI+ Quality) US Quality 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 (USCDI+ Quality) How 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 (USCDI+ Quality) 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 (USCDI+ Quality) When medication should be 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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... event Σ 0..* dateTime When the event occurs
..... repeat ΣC 0..1 Element (USCDI+ Quality) When the event is to occur
Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... bounds[x] Σ 0..1 (USCDI+ Quality) Length/Range of lengths, or (Start and/or end) limits
....... boundsDuration Duration
....... boundsRange Range
....... boundsPeriod Period
...... count Σ 0..1 positiveInt Number of times to repeat
...... countMax Σ 0..1 positiveInt Maximum number of times to repeat
...... duration Σ 0..1 decimal How long when it happens
...... durationMax Σ 0..1 decimal How long when it happens (Max)
...... durationUnit Σ 0..1 code s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
...... frequency Σ 0..1 positiveInt (USCDI+ Quality) Event occurs frequency times per period
...... frequencyMax Σ 0..1 positiveInt (USCDI+ Quality) Event occurs frequencyMax times per period
...... period Σ 0..1 decimal (USCDI+ Quality) Event occurs frequency times per period
...... periodMax Σ 0..1 decimal (USCDI+ Quality) Upper limit of period (3-4 hours)
...... periodUnit Σ 0..1 code (USCDI+ Quality) s | min | h | d | wk | mo | a - unit of time (UCUM)
Binding: UnitsOfTime (required): A unit of time (units from UCUM).
...... dayOfWeek Σ 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
...... timeOfDay Σ 0..* time Time of day for action
...... when Σ 0..* code Code for time period of occurrence
Binding: EventTiming (required): Real world event relating to the schedule.
...... offset Σ 0..1 unsignedInt Minutes from event (before or after)
..... code Σ 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | +
Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
.... asNeeded[x] Σ 0..1 (USCDI+ Quality) 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 (USCDI+ Quality) 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 (USCDI+ Quality) 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 (USCDI+ Quality) Amount of medication per dose
Binding: Common UCUM units (preferred)
Additional BindingsPurpose
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 0..1 BackboneElement (USCDI+ Quality) 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 (USCDI+ Quality) Time period supply is authorized for
.... numberOfRepeatsAllowed S 0..1 unsignedInt (USCDI+ Quality) Number of refills authorized
.... quantity S 0..1 SimpleQuantity(4.0.1) (USCDI+ Quality) Amount of medication to supply per dispense
.... expectedSupplyDuration 0..1 Duration (USCDI+ Quality) Number of days supply per dispense
.... performer 0..1 Reference(Organization) Intended dispenser
... substitution 0..1 BackboneElement Any restrictions on medication 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] 1..1 Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
..... allowedBoolean boolean
..... allowedCodeableConcept CodeableConcept
.... 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

doco 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 Positive MedicationRequest Status 📦1.0.0-ballot This IG
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 Medication Clinical Drug . ⏿20240606 tx.fhir.org
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
MedicationRequest.reasonCode Base extensible US Core Condition Codes 📦9.0.0 US Core v9.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.​timing.repeat.durationUnit Base required UnitsOfTime 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.periodUnit Base required UnitsOfTime 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.dayOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.when Base required EventTiming 📍4.0.1 FHIR Std.
MedicationRequest.dosageInstruction.​timing.code Base preferred TimingAbbreviation 📍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 tx.fhir.org
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.substitution.​allowed[x] Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.2
MedicationRequest.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.2

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()
mrq-1 error MedicationRequest To indicate what medication, either a reference to a Medication, or either at least one coding in the medication or a codeOperations extension shall be provided (medication is Reference).not() implies medication.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor medication.coding.exists()
tim-1 error MedicationRequest.dosageInstruction.timing.repeat if there's a duration, there needs to be duration units duration.empty() or durationUnit.exists()
tim-2 error MedicationRequest.dosageInstruction.timing.repeat if there's a period, there needs to be period units period.empty() or periodUnit.exists()
tim-4 error MedicationRequest.dosageInstruction.timing.repeat duration SHALL be a non-negative value duration.exists() implies duration >= 0
tim-5 error MedicationRequest.dosageInstruction.timing.repeat period SHALL be a non-negative value period.exists() implies period >= 0
tim-6 error MedicationRequest.dosageInstruction.timing.repeat If there's a periodMax, there must be a period periodMax.empty() or period.exists()
tim-7 error MedicationRequest.dosageInstruction.timing.repeat If there's a durationMax, there must be a duration durationMax.empty() or duration.exists()
tim-8 error MedicationRequest.dosageInstruction.timing.repeat If there's a countMax, there must be a count countMax.empty() or count.exists()
tim-9 error MedicationRequest.dosageInstruction.timing.repeat If there's an offset, there must be a when (and not C, CM, CD, CV) offset.empty() or (when.exists() and ((when in ('C' | 'CM' | 'CD' | 'CV')).not()))
tim-10 error MedicationRequest.dosageInstruction.timing.repeat If there's a timeOfDay, there cannot be a when, or vice versa timeOfDay.empty() or when.empty()
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

Fixed: 1 element

Maturity: 4

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Element Conformance Indicators by Profile Layer

Badges identify the profile layer where each conformance indicator is first introduced. Indicators introduced in an earlier layer remain applicable in later derived profiles.

Element conformance indicators organized by the profile layer where they are first introduced
Profile element FHIR US Core US Quality Core
extension:medicationAdherence Additional USCDI USCDI+ Quality
status Mandatory Must Support USCDI+ Quality
intent Mandatory Must Support USCDI+ Quality
category Must Support
category:us-core Must Support
doNotPerform USCDI+ Quality
reported[x] Must Support
reported[x]:reportedReference USCDI+ Quality
medication[x] Mandatory Must Support USCDI+ Quality
medication[x].extension:codeOptions USCDI+ Quality
subject Mandatory Must Support
encounter Must Support
authoredOn Must Support USCDI+ Quality
requester Must Support USCDI+ Quality
reasonCode Additional USCDI USCDI+ Quality
reasonReference Additional USCDI USCDI+ Quality
dosageInstruction Must Support USCDI+ Quality
dosageInstruction.text Must Support USCDI+ Quality
dosageInstruction.timing Must Support USCDI+ Quality
dosageInstruction.timing.repeat USCDI+ Quality
dosageInstruction.timing.repeat.bounds[x] USCDI+ Quality
dosageInstruction.timing.repeat.frequency USCDI+ Quality
dosageInstruction.timing.repeat.frequencyMax USCDI+ Quality
dosageInstruction.timing.repeat.period USCDI+ Quality
dosageInstruction.timing.repeat.periodMax USCDI+ Quality
dosageInstruction.timing.repeat.periodUnit USCDI+ Quality
dosageInstruction.asNeeded[x] USCDI+ Quality
dosageInstruction.route Must Support USCDI+ Quality
dosageInstruction.doseAndRate Must Support USCDI+ Quality
dosageInstruction.doseAndRate.dose[x] Must Support USCDI+ Quality
dispenseRequest Must Support USCDI+ Quality
dispenseRequest.validityPeriod USCDI+ Quality
dispenseRequest.numberOfRepeatsAllowed Must Support USCDI+ Quality
dispenseRequest.quantity Must Support USCDI+ Quality
dispenseRequest.expectedSupplyDuration USCDI+ Quality
substitution.allowed[x] Mandatory

Cardinality note: “Mandatory” means the element has a minimum cardinality greater than zero. For nested elements, the cardinality indicator applies when the containing element is present.

Mandatory US Quality Core Server Search Parameters

The searches below are the focused set identified by US Quality Core as needed to retrieve USCDI+ Quality data for quality measurement and reporting. See the US Core FHIR RESTful Search API Requirements for detailed information on requirements by search parameter type.

Because this profile derives directly or indirectly from US Core, servers SHALL also support all mandatory searches described in the US Core Server CapabilityStatement requirements for MedicationRequest. When possible, this guide reuses mandatory searches from US Core and notes them with the EXISTING US CORE REQUIREMENT flag. While US Quality Core may restate US Core requirements to highlight searches directly relevant to USCDI+ Quality data access, US Core requirements not restated here remain applicable.

See the US Quality Core Server CapabilityStatement for complete requirements for the underlying MedicationRequest resource and Search Requirement Selection for how this focused set was selected.

Servers supporting this profile SHALL support the following search parameters and search parameter combinations:

  1. SHALL support searching for all MedicationRequest resources for a patient using the combination of the patient, intent, and do-not-perform search parameters.

    • Including support for OR search on intent (e.g.intent=[intent],[intent],...).

    • Including optional support for OR search on do-not-perform (e.g.do-not-perform=[true|false],[true|false],...).

    GET [base]/MedicationRequest?patient={Patient/}[id]&intent=[intent]&do-not-perform=[true|false]

    Example:

    GET [base]/MedicationRequest?patient=Patient/example&intent=order&do-not-perform=false

    Implementation Notes: Fetches a bundle of US Quality Core MedicationRequested resources matching the specified search criteria. See how to search by reference and how to search by token.

    Rationale for inclusion: Supports patient-scoped retrieval of MedicationRequest resources filtered by intent and a do-not-perform indicator to support negation workflows.

  2. SHALL support searching for all MedicationRequest resources for a patient using the combination of the patient and intent search parameters. EXISTING US CORE REQUIREMENT

    • Including support for OR search on intent (e.g.intent=[intent],[intent],...).

    GET [base]/MedicationRequest?patient={Patient/}[id]&intent=[intent]

    Example:

    GET [base]/MedicationRequest?patient=Patient/example&intent=order

    Implementation Notes: Fetches a bundle of US Quality Core MedicationRequested resources matching the specified search criteria. See how to search by reference and how to search by token.

    Rationale for inclusion: Supports patient-scoped retrieval of MedicationRequest resources filtered by intent for USCDI+ Quality workflows.