Medication IG DE
2.0.0-ballot - ballot

Medication IG DE, published by HL7 Deutschland e.V.. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7germany/medication-ig-de-r4/ and changes regularly. See the Directory of published versions

Resource Profile: Medication Request DE ( Abstract )

Official URL: http://ig.fhir.de/igs/medication/StructureDefinition/MedicationRequestDE Version: 2.0.0-ballot
Active as of 2026-10-16 Computable Name: MedicationRequestDE

Dieses Profil dient ausschließlich der Validierung des Implementation Guides auf DosageDE-Ebene (u. a. der Warnungs-Beispiele, die im dgMP-Profil als Fehler modelliert sind) und ist nicht für den produktiven Einsatz gedacht. Stattdessen sollte das jeweils passende Dosage-Profil direkt in das eigene Profil eingebunden werden.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationRequest 0..* MedicationRequest This is an abstract profile.
Ordering of medication for patient or group
MedicationRequest.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationRequest.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction
Constraints: ext-1
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction"
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationRequest.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationRequest.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationRequest.status This element is a modifier element. This element is included in summaries. 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
MedicationRequest.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
MedicationRequest.doNotPerform This element is a modifier element. This element is included in summaries. 0..1 boolean True if request is prohibiting action
MedicationRequest.medication[x] This element is included in summaries. 1..1 Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
MedicationRequest.medication[x].medicationCodeableConcept CodeableConcept
MedicationRequest.medication[x].medicationReference Reference(Medication)
MedicationRequest.subject This element is included in summaries. 1..1 Reference(Patient | Group) Who or group medication request is for
MedicationRequest.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1

doco 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.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationRequest.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationRequest.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationRequest.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationRequest.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationRequest.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationRequest.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationRequest.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationRequest.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationRequest.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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()

This structure is derived from MedicationRequest

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationRequest 0..* MedicationRequest This is an abstract profile.
Ordering of medication for patient or group
MedicationRequest.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationRequest.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationRequest.dosageInstruction 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationRequest 0..* MedicationRequest This is an abstract profile.
Ordering of medication for patient or group
MedicationRequest.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationRequest.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationRequest.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationRequest.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MedicationRequest.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
MedicationRequest.contained 0..* Resource Contained, inline Resources
MedicationRequest.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction
Constraints: ext-1
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.id 0..1 string Unique id for inter-element referencing
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction"
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationRequest.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationRequest.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationRequest.identifier 0..* Identifier External ids for this request
MedicationRequest.status This element is a modifier element. This element is included in summaries. 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
MedicationRequest.statusReason 0..1 CodeableConcept Reason for current status
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.
MedicationRequest.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
MedicationRequest.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.
MedicationRequest.priority This element is included in summaries. 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
MedicationRequest.doNotPerform This element is a modifier element. This element is included in summaries. 0..1 boolean True if request is prohibiting action
MedicationRequest.reported[x] This element is included in summaries. 0..1 Reported rather than primary record
MedicationRequest.reported[x].reportedBoolean boolean
MedicationRequest.reported[x].reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
MedicationRequest.medication[x] This element is included in summaries. 1..1 Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
MedicationRequest.medication[x].medicationCodeableConcept CodeableConcept
MedicationRequest.medication[x].medicationReference Reference(Medication)
MedicationRequest.subject This element is included in summaries. 1..1 Reference(Patient | Group) Who or group medication request is for
MedicationRequest.encounter 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay
MedicationRequest.supportingInformation 0..* Reference(Resource) Information to support ordering of the medication
MedicationRequest.authoredOn This element is included in summaries. 0..1 dateTime When request was initially authored
MedicationRequest.requester This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) Who/What requested the Request
MedicationRequest.performer 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
MedicationRequest.performerType This element is included in summaries. 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.
MedicationRequest.recorder 0..1 Reference(Practitioner | PractitionerRole) Person who entered the request
MedicationRequest.reasonCode 0..* CodeableConcept Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.
MedicationRequest.reasonReference 0..* Reference(Condition | Observation) Condition or observation that supports why the prescription is being written
MedicationRequest.instantiatesCanonical This element is included in summaries. 0..* canonical() Instantiates FHIR protocol or definition
MedicationRequest.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
MedicationRequest.basedOn This element is included in summaries. 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) What request fulfills
MedicationRequest.groupIdentifier This element is included in summaries. 0..1 Identifier Composite request this is part of
MedicationRequest.courseOfTherapyType 0..1 CodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
MedicationRequest.insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
MedicationRequest.note 0..* Annotation Information about the prescription
MedicationRequest.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
MedicationRequest.dispenseRequest 0..1 BackboneElement Medication supply authorization
MedicationRequest.dispenseRequest.id 0..1 string Unique id for inter-element referencing
MedicationRequest.dispenseRequest.extension 0..* Extension Additional content defined by implementations
MedicationRequest.dispenseRequest.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationRequest.dispenseRequest.initialFill 0..1 BackboneElement First fill details
MedicationRequest.dispenseRequest.initialFill.id 0..1 string Unique id for inter-element referencing
MedicationRequest.dispenseRequest.initialFill.extension 0..* Extension Additional content defined by implementations
MedicationRequest.dispenseRequest.initialFill.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationRequest.dispenseRequest.initialFill.quantity C 0..1 SimpleQuantity(4.0.1) First fill quantity
Constraints: sqty-1
MedicationRequest.dispenseRequest.initialFill.duration 0..1 Duration First fill duration
MedicationRequest.dispenseRequest.dispenseInterval 0..1 Duration Minimum period of time between dispenses
MedicationRequest.dispenseRequest.validityPeriod 0..1 Period Time period supply is authorized for
MedicationRequest.dispenseRequest.numberOfRepeatsAllowed 0..1 unsignedInt Number of refills authorized
MedicationRequest.dispenseRequest.quantity C 0..1 SimpleQuantity(4.0.1) Amount of medication to supply per dispense
Constraints: sqty-1
MedicationRequest.dispenseRequest.expectedSupplyDuration 0..1 Duration Number of days supply per dispense
MedicationRequest.dispenseRequest.performer 0..1 Reference(Organization) Intended dispenser
MedicationRequest.substitution 0..1 BackboneElement Any restrictions on medication substitution
MedicationRequest.substitution.id 0..1 string Unique id for inter-element referencing
MedicationRequest.substitution.extension 0..* Extension Additional content defined by implementations
MedicationRequest.substitution.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationRequest.substitution.allowed[x] 1..1 Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
MedicationRequest.substitution.allowed[x].allowedBoolean boolean
MedicationRequest.substitution.allowed[x].allowedCodeableConcept CodeableConcept
MedicationRequest.substitution.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.
MedicationRequest.priorPrescription 0..1 Reference(MedicationRequest) An order/prescription that is being replaced
MedicationRequest.detectedIssue 0..* Reference(DetectedIssue) Clinical Issue with action
MedicationRequest.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 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.priority Base required Request priority 📍4.0.1 FHIR Std.
MedicationRequest.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
MedicationRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
MedicationRequest.courseOfTherapyType Base example Medication request course of therapy codes 📍4.0.1 FHIR Std.
MedicationRequest.substitution.​allowed[x] Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.3
MedicationRequest.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.3

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationRequest.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationRequest.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationRequest.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationRequest.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationRequest.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationRequest.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationRequest.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationRequest.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationRequest.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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()
sqty-1 error MedicationRequest.dispenseRequest.initialFill.quantity, MedicationRequest.dispenseRequest.quantity The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from MedicationRequest

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationRequest 0..* MedicationRequest This is an abstract profile.
Ordering of medication for patient or group
MedicationRequest.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationRequest.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction
Constraints: ext-1
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction"
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationRequest.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationRequest.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationRequest.status This element is a modifier element. This element is included in summaries. 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
MedicationRequest.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
MedicationRequest.doNotPerform This element is a modifier element. This element is included in summaries. 0..1 boolean True if request is prohibiting action
MedicationRequest.medication[x] This element is included in summaries. 1..1 Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
MedicationRequest.medication[x].medicationCodeableConcept CodeableConcept
MedicationRequest.medication[x].medicationReference Reference(Medication)
MedicationRequest.subject This element is included in summaries. 1..1 Reference(Patient | Group) Who or group medication request is for
MedicationRequest.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1

doco 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.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationRequest.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationRequest.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationRequest.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationRequest.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationRequest.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationRequest.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationRequest.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationRequest.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationRequest.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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()

Differential View

This structure is derived from MedicationRequest

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationRequest 0..* MedicationRequest This is an abstract profile.
Ordering of medication for patient or group
MedicationRequest.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationRequest.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationRequest.dosageInstruction 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MedicationRequest 0..* MedicationRequest This is an abstract profile.
Ordering of medication for patient or group
MedicationRequest.id This element is included in summaries. 0..1 id Logical id of this artifact
MedicationRequest.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MedicationRequest.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MedicationRequest.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MedicationRequest.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
MedicationRequest.contained 0..* Resource Contained, inline Resources
MedicationRequest.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction This element must be supported. 0..1 (Complex) Dosierungsanweisung
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction
Constraints: ext-1
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.id 0..1 string Unique id for inter-element referencing
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction"
MedicationRequest.Slices for extension.extension:renderedDosageInstruction.value[x] 0..1 markdown Hinweis: In der ersten Ausbaustufe des dgMP ist nur einfacher Text (String) zulässig; Markdown wird nicht unterstützt.
MedicationRequest.Slices for extension.extension:generatedDosageInstructionsMeta This element must be supported. 0..1 (Complex) Metadaten zu den generierten Dosierungsanweisungen
URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
MedicationRequest.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MedicationRequest.identifier 0..* Identifier External ids for this request
MedicationRequest.status This element is a modifier element. This element is included in summaries. 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
MedicationRequest.statusReason 0..1 CodeableConcept Reason for current status
Binding: medicationRequest Status Reason Codes (example): Identifies the reasons for a given status.
MedicationRequest.intent This element is a modifier element. This element is included in summaries. 1..1 code proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
Binding: medicationRequest Intent (required): The kind of medication order.
MedicationRequest.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.
MedicationRequest.priority This element is included in summaries. 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
MedicationRequest.doNotPerform This element is a modifier element. This element is included in summaries. 0..1 boolean True if request is prohibiting action
MedicationRequest.reported[x] This element is included in summaries. 0..1 Reported rather than primary record
MedicationRequest.reported[x].reportedBoolean boolean
MedicationRequest.reported[x].reportedReference Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
MedicationRequest.medication[x] This element is included in summaries. 1..1 Medication to be taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
MedicationRequest.medication[x].medicationCodeableConcept CodeableConcept
MedicationRequest.medication[x].medicationReference Reference(Medication)
MedicationRequest.subject This element is included in summaries. 1..1 Reference(Patient | Group) Who or group medication request is for
MedicationRequest.encounter 0..1 Reference(Encounter) Encounter created as part of encounter/admission/stay
MedicationRequest.supportingInformation 0..* Reference(Resource) Information to support ordering of the medication
MedicationRequest.authoredOn This element is included in summaries. 0..1 dateTime When request was initially authored
MedicationRequest.requester This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) Who/What requested the Request
MedicationRequest.performer 0..1 Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) Intended performer of administration
MedicationRequest.performerType This element is included in summaries. 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.
MedicationRequest.recorder 0..1 Reference(Practitioner | PractitionerRole) Person who entered the request
MedicationRequest.reasonCode 0..* CodeableConcept Reason or indication for ordering or not ordering the medication
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept indicating why the medication was ordered.
MedicationRequest.reasonReference 0..* Reference(Condition | Observation) Condition or observation that supports why the prescription is being written
MedicationRequest.instantiatesCanonical This element is included in summaries. 0..* canonical() Instantiates FHIR protocol or definition
MedicationRequest.instantiatesUri This element is included in summaries. 0..* uri Instantiates external protocol or definition
MedicationRequest.basedOn This element is included in summaries. 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) What request fulfills
MedicationRequest.groupIdentifier This element is included in summaries. 0..1 Identifier Composite request this is part of
MedicationRequest.courseOfTherapyType 0..1 CodeableConcept Overall pattern of medication administration
Binding: medicationRequest Course of Therapy Codes (example): Identifies the overall pattern of medication administratio.
MedicationRequest.insurance 0..* Reference(Coverage | ClaimResponse) Associated insurance coverage
MedicationRequest.note 0..* Annotation Information about the prescription
MedicationRequest.dosageInstruction C 0..* DosageDE Angabe der Dosierinformationen strukturiert oder als Freitext
Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBothWarning, DosageDoseUnitSameCodeWarning, DosageDoseValuePositiveWarning, DosageLimitsPositiveWarning, DosageFourSlotPatternInTextWarning, FreeTextSingleDosageOnlyWarning, AsNeededForRequiresAsNeededWarning, dos-1
MedicationRequest.dispenseRequest 0..1 BackboneElement Medication supply authorization
MedicationRequest.dispenseRequest.id 0..1 string Unique id for inter-element referencing
MedicationRequest.dispenseRequest.extension 0..* Extension Additional content defined by implementations
MedicationRequest.dispenseRequest.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationRequest.dispenseRequest.initialFill 0..1 BackboneElement First fill details
MedicationRequest.dispenseRequest.initialFill.id 0..1 string Unique id for inter-element referencing
MedicationRequest.dispenseRequest.initialFill.extension 0..* Extension Additional content defined by implementations
MedicationRequest.dispenseRequest.initialFill.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationRequest.dispenseRequest.initialFill.quantity C 0..1 SimpleQuantity(4.0.1) First fill quantity
Constraints: sqty-1
MedicationRequest.dispenseRequest.initialFill.duration 0..1 Duration First fill duration
MedicationRequest.dispenseRequest.dispenseInterval 0..1 Duration Minimum period of time between dispenses
MedicationRequest.dispenseRequest.validityPeriod 0..1 Period Time period supply is authorized for
MedicationRequest.dispenseRequest.numberOfRepeatsAllowed 0..1 unsignedInt Number of refills authorized
MedicationRequest.dispenseRequest.quantity C 0..1 SimpleQuantity(4.0.1) Amount of medication to supply per dispense
Constraints: sqty-1
MedicationRequest.dispenseRequest.expectedSupplyDuration 0..1 Duration Number of days supply per dispense
MedicationRequest.dispenseRequest.performer 0..1 Reference(Organization) Intended dispenser
MedicationRequest.substitution 0..1 BackboneElement Any restrictions on medication substitution
MedicationRequest.substitution.id 0..1 string Unique id for inter-element referencing
MedicationRequest.substitution.extension 0..* Extension Additional content defined by implementations
MedicationRequest.substitution.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MedicationRequest.substitution.allowed[x] 1..1 Whether substitution is allowed or not
Binding: ActSubstanceAdminSubstitutionCode (example): Identifies the type of substitution allowed.
MedicationRequest.substitution.allowed[x].allowedBoolean boolean
MedicationRequest.substitution.allowed[x].allowedCodeableConcept CodeableConcept
MedicationRequest.substitution.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.
MedicationRequest.priorPrescription 0..1 Reference(MedicationRequest) An order/prescription that is being replaced
MedicationRequest.detectedIssue 0..* Reference(DetectedIssue) Clinical Issue with action
MedicationRequest.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 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.priority Base required Request priority 📍4.0.1 FHIR Std.
MedicationRequest.medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationRequest.performerType Base example Procedure Performer Role Codes 📍4.0.1 FHIR Std.
MedicationRequest.reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
MedicationRequest.courseOfTherapyType Base example Medication request course of therapy codes 📍4.0.1 FHIR Std.
MedicationRequest.substitution.​allowed[x] Base example ActSubstanceAdminSubstitutionCode 📦3.0.0 THO v7.3
MedicationRequest.substitution.​reason Base example SubstanceAdminSubstitutionReason 📦3.0.0 THO v7.3

Constraints

Id Grade Path(s) Description Expression
AsNeededForRequiresAsNeededWarning warning MedicationRequest.dosageInstruction A reason for use (asNeededFor) should only be given together with asNeededBoolean = true. extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() implies asNeeded.ofType(boolean) = true
DosageDoseUnitSameCodeWarning warning MedicationRequest.dosageInstruction The dose unit should be the same across all dosages. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )
DosageDoseValuePositiveWarning warning MedicationRequest.dosageInstruction doseQuantity.value and doseRange.high.value should be greater than 0. The value 0 is additionally allowed for doseRange.low.value only. doseAndRate.all( dose.ofType(Quantity).value.all($this > 0) and dose.ofType(Range).low.value.all($this >= 0) and dose.ofType(Range).high.value.all($this > 0) )
DosageFourSlotPatternInTextWarning warning MedicationRequest.dosageInstruction A four-slot dosing schema (Viererschema, e.g. 1-1-1-1) was detected in Dosage.text. Please check whether it can be represented structurally. text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+.*').not()
DosageLimitsPositiveWarning warning MedicationRequest.dosageInstruction The minimum interval between administrations (valueDuration.value) and maxDosePerPeriod (numerator.value, denominator.value) should be greater than 0. modifierExtension.where( url = 'http://ig.fhir.de/igs/medication/StructureDefinition/MinimumIntervalBetweenAdministrations' ).value.ofType(Duration).value.all($this > 0) and maxDosePerPeriod.numerator.value.all($this > 0) and maxDosePerPeriod.denominator.value.all($this > 0)
DosageStructuredOrFreeTextWarning warning MedicationRequest.dosageInstruction A dosage must be given either as free text only or as complete structured information only; mixing both is not allowed. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )
DosageStructuredRequiresBothWarning warning MedicationRequest.dosageInstruction If a structured dosage is given, both timing and doseAndRate should be present. For pure as-needed dosages, doseAndRate may be given without timing. (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage)).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies ( timing.exists() or asNeeded.ofType(boolean) = true or extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').exists() )) )
FreeTextSingleDosageOnlyWarning warning MedicationRequest.dosageInstruction If a dosage is given as pure free text, there should be exactly one Dosage element. ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction.combine(%resource.ofType(MedicationDispense).dosageInstruction).combine(%resource.ofType(MedicationStatement).dosage) ).count() = 1 )
dos-1 error MedicationRequest.dosageInstruction AsNeededFor can only be set if AsNeeded is empty or true extension.where(url='http://hl7.org/fhir/5.0/StructureDefinition/extension-Dosage.asNeededFor').empty() or asNeeded.empty() or asNeeded
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()
sqty-1 error MedicationRequest.dispenseRequest.initialFill.quantity, MedicationRequest.dispenseRequest.quantity The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from MedicationRequest

Summary

Must-Support: 2 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron