Implementation Guide
TIFlow - Verordnungen für Arzneimittel
Version 2.0.0-ballot.2 - ballot

## Resource Profile: GEM ERP PR MedicationDispense

Official URL: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense | Version: 2.0.0-ballot.2
Active as of 2026-06-30 | Computable Name: GEM_ERP_PR_MedicationDispense
Copyright/Legal: gematik GmbH / Dieses Artefakt ist lizenziert unter Apache License, Version 2.0.

Dispensierung eines E-Rezepts

Usages:

- Examples for this Profile: MedicationDispense/Example-MedicationDispense-2, MedicationDispense/Example-MedicationDispense-Dosage-comb-dayofweek, MedicationDispense/Example-MedicationDispense-Dosage-comb-interval, MedicationDispense/Example-MedicationDispense-Dosage-interval... Show 7 more, MedicationDispense/Example-MedicationDispense-Dosage-tageszeit, MedicationDispense/Example-MedicationDispense-Dosage-uhrzeit, MedicationDispense/Example-MedicationDispense-Dosage-weekday, MedicationDispense/Example-MedicationDispense-Kombipackung, MedicationDispense/Example-MedicationDispense-Rezeptur, MedicationDispense/Example-MedicationDispense-Without-Medication and MedicationDispense/Example-MedicationDispense
- CapabilityStatements using this Profile: TIFlow Fachdienst Server Capabilities

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.

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationDispense | C | 0..* | TIMedicationDispenseDgMP | Dispensing a medication to a named patient Constraints: mdd-1, workflow-dosageExtensionBeiDosierung
meta | S Σ | 1..1 | Meta | Metadata about the resource
versionId | S Σ | 0..1 | id | Version specific identifier
lastUpdated | S Σ | 0..1 | instant | When the resource version last changed
Slices for profile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Closed by value:$this
profile:workflowProfile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|2.0
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:rxPrescriptionProcessIdentifier |  | 0..1 | RxPrescriptionProcessIdentifier | Extension URL: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
extension:renderedDosageInstruction | S N | 0..1 | (Complex) | Vollständige Darstellung der Dosierungsanweisungen (generiert aus den Dosage-Elementen). URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
extension |  | 0..0 |  | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
value[x] | S | 0..1 | markdown | Full representation of the dosage instructions
extension:generatedDosageInstructionsMeta | S N | 0..1 | (Complex) | Metadaten zu den generierten Dosierungsanweisungen URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier |  | 1..* | Identifier | E-Rezept-ID Slice: Unordered, Open by pattern:$this
identifier:RxOriginatorProcessIdentifier |  | 0..1 | RxOriginatorProcessIdentifier | An identifier intended for computation Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:prescriptionID |  | 1..1 | EPrescriptionId | External identifier Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | completed Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs (required): A coded concept specifying the state of the dispense event. Fixed Value: completed
category | S | 0..1 | CodeableConcept | Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin. Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs (required): Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung.
medication[x] | S Σ | 1..1 | Reference(GEM ERP PR Medication) | What medication was supplied
subject | S Σ | 1..1 | Reference(Patient) | Who the dispense is for
identifier | S Σ | 1..1 | IdentifierKvid10 | An identifier intended for computation
performer | S | 1..1 | BackboneElement | Who performed event
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
actor |  | 1..1 | Reference(Organization | PractitionerRole) | Individual who was performing
identifier | Σ | 1..1 | IdentifierTelematikId | Logical reference, when literal reference is not known
authorizingPrescription | S | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense
reference | S Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
whenPrepared | Σ C | 0..1 | dateTime | When product was packaged and reviewed Constraints: workflow-abgabeDatumsFormat
whenHandedOver | S C | 1..1 | dateTime | When product was given out Constraints: workflow-abgabeDatumsFormat
note |  | 0..* | Annotation | Abgabehinweise
dosageInstruction | S C | 0..* | DosageDE | Hier werden Informationen zur Dosierung angegeben. Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning
substitution | S | 0..1 | BackboneElement | Whether a substitution was performed on the dispense
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
wasSubstituted | S | 1..1 | boolean | Whether a substitution was or was not performed on the dispense
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationDispense.status | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs | Not State | Unknown
MedicationDispense.category | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs | Not State | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | MedicationDispense.dosageInstruction | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )`
DosageStructuredOrFreeTextWarning | warning | MedicationDispense.dosageInstruction | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )`
DosageStructuredRequiresBoth | error | MedicationDispense.dosageInstruction | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies timing.exists()) )`
DosageWarnungViererschemaInText | warning | MedicationDispense.dosageInstruction | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | MedicationDispense.dosageInstruction | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )`
dom-2 | error | MedicationDispense | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationDispense | 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 | MedicationDispense | 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 | MedicationDispense | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationDispense | 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()`
mdd-1 | error | MedicationDispense | whenHandedOver cannot be before whenPrepared | `whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared`
workflow-abgabeDatumsFormat | error | MedicationDispense.whenPrepared, MedicationDispense.whenHandedOver | Wert muss ein Datum in der Form: YYYY-MM-DD sein. | `toString().length()=10`
workflow-dosageExtensionBeiDosierung | error | MedicationDispense | Wenn eine Dosierung angegeben wurde, muss der generierte Dosierungstext, sowie die Metainformationen zur Generierung angegeben werden. | `dosageInstruction.exists() implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction').exists() and extension.where(url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta').exists()`

This structure is derived from TIMedicationDispenseDgMP

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationDispense | C | 0..* | TIMedicationDispenseDgMP | Dispensing a medication to a named patient Constraints: workflow-dosageExtensionBeiDosierung
meta |  | 1..1 | Meta | Metadata about the resource
Slices for profile | S | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Closed by value:$this
profile:workflowProfile | S | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|2.0
identifier |  | 1..* | Identifier | E-Rezept-ID
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:prescriptionID |  | 1..1 | EPrescriptionId | External identifier Required Pattern: At least the following
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId
partOf |  | 0..0 |  | Event that dispense is part of
status |  | 1..1 | code | completed Fixed Value: completed
statusReason[x] |  | 0..0 |  | Why a dispense was not performed
medication[x] |  | 1..1 | Reference(GEM ERP PR Medication) | What medication was supplied
context |  | 0..0 |  | Encounter / Episode associated with event
supportingInformation |  | 0..0 |  | Information that supports the dispensing of the medication
performer |  |  |  |
actor |  |  |  |
identifier |  | 1..1 | IdentifierTelematikId | Logical reference, when literal reference is not known
location |  | 0..0 |  | Where the dispense occurred
type |  | 0..0 |  | Trial fill, partial fill, emergency fill, etc.
quantity |  | 0..0 |  | Amount dispensed
daysSupply |  | 0..0 |  | Amount of medication expressed as a timing amount
whenPrepared | C | 0..1 | dateTime | When product was packaged and reviewed Constraints: workflow-abgabeDatumsFormat
whenHandedOver | C | 1..1 | dateTime | When product was given out Constraints: workflow-abgabeDatumsFormat
destination |  | 0..0 |  | Where the medication was sent
note |  | 0..* | Annotation | Abgabehinweise
substitution |  |  |  |
wasSubstituted | S | 1..1 | boolean | Whether a substitution was or was not performed on the dispense
type |  | 0..0 |  | Code signifying whether a different drug was dispensed from what was prescribed
reason |  | 0..0 |  | Why was substitution made
responsibleParty |  | 0..0 |  | Who is responsible for the substitution
detectedIssue |  | 0..0 |  | Clinical issue with action
eventHistory |  | 0..0 |  | A list of relevant lifecycle events
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
workflow-abgabeDatumsFormat | error | MedicationDispense.whenPrepared, MedicationDispense.whenHandedOver | Wert muss ein Datum in der Form: YYYY-MM-DD sein. | `toString().length()=10`
workflow-dosageExtensionBeiDosierung | error | MedicationDispense | Wenn eine Dosierung angegeben wurde, muss der generierte Dosierungstext, sowie die Metainformationen zur Generierung angegeben werden. | `dosageInstruction.exists() implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction').exists() and extension.where(url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationDispense | C | 0..* | TIMedicationDispenseDgMP | Dispensing a medication to a named patient Constraints: mdd-1, workflow-dosageExtensionBeiDosierung
id | Σ | 0..1 | id | Logical id of this artifact
meta | S Σ | 1..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | S Σ | 0..1 | id | Version specific identifier
lastUpdated | S Σ | 0..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
Slices for profile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Closed by value:$this
profile:workflowProfile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|2.0
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:rxPrescriptionProcessIdentifier |  | 0..1 | RxPrescriptionProcessIdentifier | Extension URL: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
extension:renderedDosageInstruction | S N | 0..1 | (Complex) | Vollständige Darstellung der Dosierungsanweisungen (generiert aus den Dosage-Elementen). URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
value[x] | S | 0..1 | markdown | Full representation of the dosage instructions
extension:generatedDosageInstructionsMeta | S N | 0..1 | (Complex) | Metadaten zu den generierten Dosierungsanweisungen URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier |  | 1..* | Identifier | E-Rezept-ID Slice: Unordered, Open by pattern:$this
identifier:RxOriginatorProcessIdentifier |  | 0..1 | RxOriginatorProcessIdentifier | An identifier intended for computation Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:prescriptionID |  | 1..1 | EPrescriptionId | External identifier Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | completed Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs (required): A coded concept specifying the state of the dispense event. Fixed Value: completed
category | S | 0..1 | CodeableConcept | Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin. Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs (required): Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung.
medication[x] | S Σ | 1..1 | Reference(GEM ERP PR Medication) | What medication was supplied
subject | S Σ | 1..1 | Reference(Patient) | Who the dispense is for
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | S Σ | 1..1 | IdentifierKvid10 | An identifier intended for computation
display | Σ | 0..1 | string | Text alternative for the resource
performer | S | 1..1 | BackboneElement | Who performed event
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
function |  | 0..1 | CodeableConcept | Who performed the dispense and what they did Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.
actor |  | 1..1 | Reference(Organization | PractitionerRole) | Individual who was performing
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 1..1 | IdentifierTelematikId | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
authorizingPrescription | S | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | S Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
whenPrepared | Σ C | 0..1 | dateTime | When product was packaged and reviewed Constraints: workflow-abgabeDatumsFormat
whenHandedOver | S C | 1..1 | dateTime | When product was given out Constraints: workflow-abgabeDatumsFormat
receiver |  | 0..* | Reference(Patient | Practitioner) | Who collected the medication
note |  | 0..* | Annotation | Abgabehinweise
dosageInstruction | S C | 0..* | DosageDE | Hier werden Informationen zur Dosierung angegeben. Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning
substitution | S | 0..1 | BackboneElement | Whether a substitution was performed on the dispense
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
wasSubstituted | S | 1..1 | boolean | Whether a substitution was or was not performed on the dispense
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationDispense.meta.​security | Base | extensible | SecurityLabels | 📦4.0.1 | FHIR Std.
MedicationDispense.meta.​tag | Base | example | Common Tags | 📦4.0.1 | FHIR Std.
MedicationDispense.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
MedicationDispense.status | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs | Not State | Unknown
MedicationDispense.category | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs | Not State | Unknown
MedicationDispense.subject.​type | Base | extensible | ResourceType | 📦4.0.1 | FHIR Std.
MedicationDispense.performer.​function | Base | example | Medication dispense performer function codes | 📦4.0.1 | FHIR Std.
MedicationDispense.performer.​actor.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
MedicationDispense.authorizingPrescription.​type | Base | extensible | ResourceType | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | MedicationDispense.dosageInstruction | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )`
DosageStructuredOrFreeTextWarning | warning | MedicationDispense.dosageInstruction | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )`
DosageStructuredRequiresBoth | error | MedicationDispense.dosageInstruction | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies timing.exists()) )`
DosageWarnungViererschemaInText | warning | MedicationDispense.dosageInstruction | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | MedicationDispense.dosageInstruction | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )`
dom-2 | error | MedicationDispense | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationDispense | 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 | MedicationDispense | 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 | MedicationDispense | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationDispense | 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()`
mdd-1 | error | MedicationDispense | whenHandedOver cannot be before whenPrepared | `whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared`
workflow-abgabeDatumsFormat | error | MedicationDispense.whenPrepared, MedicationDispense.whenHandedOver | Wert muss ein Datum in der Form: YYYY-MM-DD sein. | `toString().length()=10`
workflow-dosageExtensionBeiDosierung | error | MedicationDispense | Wenn eine Dosierung angegeben wurde, muss der generierte Dosierungstext, sowie die Metainformationen zur Generierung angegeben werden. | `dosageInstruction.exists() implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction').exists() and extension.where(url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta').exists()`

This structure is derived from TIMedicationDispenseDgMP

Summary

Mandatory: 6 elements
Must-Support: 3 elements
Fixed: 2 elements
Prohibited: 14 elements

Structures

This structure refers to these other structures:

- Identifikator Profil für E-Rezept-IDs (https://gematik.de/fhir/ti/StructureDefinition/e-prescription-id)
- GEM ERP PR Medication (https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication)
- Identifier-Profil für die Telematik-ID (http://fhir.de/StructureDefinition/identifier-telematik-id)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of MedicationDispense.meta.profile (Closed)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationDispense | C | 0..* | TIMedicationDispenseDgMP | Dispensing a medication to a named patient Constraints: mdd-1, workflow-dosageExtensionBeiDosierung
meta | S Σ | 1..1 | Meta | Metadata about the resource
versionId | S Σ | 0..1 | id | Version specific identifier
lastUpdated | S Σ | 0..1 | instant | When the resource version last changed
Slices for profile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Closed by value:$this
profile:workflowProfile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|2.0
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:rxPrescriptionProcessIdentifier |  | 0..1 | RxPrescriptionProcessIdentifier | Extension URL: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
extension:renderedDosageInstruction | S N | 0..1 | (Complex) | Vollständige Darstellung der Dosierungsanweisungen (generiert aus den Dosage-Elementen). URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
extension |  | 0..0 |  | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
value[x] | S | 0..1 | markdown | Full representation of the dosage instructions
extension:generatedDosageInstructionsMeta | S N | 0..1 | (Complex) | Metadaten zu den generierten Dosierungsanweisungen URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier |  | 1..* | Identifier | E-Rezept-ID Slice: Unordered, Open by pattern:$this
identifier:RxOriginatorProcessIdentifier |  | 0..1 | RxOriginatorProcessIdentifier | An identifier intended for computation Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:prescriptionID |  | 1..1 | EPrescriptionId | External identifier Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | completed Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs (required): A coded concept specifying the state of the dispense event. Fixed Value: completed
category | S | 0..1 | CodeableConcept | Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin. Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs (required): Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung.
medication[x] | S Σ | 1..1 | Reference(GEM ERP PR Medication) | What medication was supplied
subject | S Σ | 1..1 | Reference(Patient) | Who the dispense is for
identifier | S Σ | 1..1 | IdentifierKvid10 | An identifier intended for computation
performer | S | 1..1 | BackboneElement | Who performed event
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
actor |  | 1..1 | Reference(Organization | PractitionerRole) | Individual who was performing
identifier | Σ | 1..1 | IdentifierTelematikId | Logical reference, when literal reference is not known
authorizingPrescription | S | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense
reference | S Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
whenPrepared | Σ C | 0..1 | dateTime | When product was packaged and reviewed Constraints: workflow-abgabeDatumsFormat
whenHandedOver | S C | 1..1 | dateTime | When product was given out Constraints: workflow-abgabeDatumsFormat
note |  | 0..* | Annotation | Abgabehinweise
dosageInstruction | S C | 0..* | DosageDE | Hier werden Informationen zur Dosierung angegeben. Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning
substitution | S | 0..1 | BackboneElement | Whether a substitution was performed on the dispense
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
wasSubstituted | S | 1..1 | boolean | Whether a substitution was or was not performed on the dispense
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationDispense.status | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs | Not State | Unknown
MedicationDispense.category | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs | Not State | Unknown

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | MedicationDispense.dosageInstruction | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )`
DosageStructuredOrFreeTextWarning | warning | MedicationDispense.dosageInstruction | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )`
DosageStructuredRequiresBoth | error | MedicationDispense.dosageInstruction | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies timing.exists()) )`
DosageWarnungViererschemaInText | warning | MedicationDispense.dosageInstruction | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | MedicationDispense.dosageInstruction | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )`
dom-2 | error | MedicationDispense | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationDispense | 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 | MedicationDispense | 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 | MedicationDispense | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationDispense | 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()`
mdd-1 | error | MedicationDispense | whenHandedOver cannot be before whenPrepared | `whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared`
workflow-abgabeDatumsFormat | error | MedicationDispense.whenPrepared, MedicationDispense.whenHandedOver | Wert muss ein Datum in der Form: YYYY-MM-DD sein. | `toString().length()=10`
workflow-dosageExtensionBeiDosierung | error | MedicationDispense | Wenn eine Dosierung angegeben wurde, muss der generierte Dosierungstext, sowie die Metainformationen zur Generierung angegeben werden. | `dosageInstruction.exists() implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction').exists() and extension.where(url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta').exists()`

Differential View

This structure is derived from TIMedicationDispenseDgMP

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationDispense | C | 0..* | TIMedicationDispenseDgMP | Dispensing a medication to a named patient Constraints: workflow-dosageExtensionBeiDosierung
meta |  | 1..1 | Meta | Metadata about the resource
Slices for profile | S | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Closed by value:$this
profile:workflowProfile | S | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|2.0
identifier |  | 1..* | Identifier | E-Rezept-ID
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:prescriptionID |  | 1..1 | EPrescriptionId | External identifier Required Pattern: At least the following
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId
partOf |  | 0..0 |  | Event that dispense is part of
status |  | 1..1 | code | completed Fixed Value: completed
statusReason[x] |  | 0..0 |  | Why a dispense was not performed
medication[x] |  | 1..1 | Reference(GEM ERP PR Medication) | What medication was supplied
context |  | 0..0 |  | Encounter / Episode associated with event
supportingInformation |  | 0..0 |  | Information that supports the dispensing of the medication
performer |  |  |  |
actor |  |  |  |
identifier |  | 1..1 | IdentifierTelematikId | Logical reference, when literal reference is not known
location |  | 0..0 |  | Where the dispense occurred
type |  | 0..0 |  | Trial fill, partial fill, emergency fill, etc.
quantity |  | 0..0 |  | Amount dispensed
daysSupply |  | 0..0 |  | Amount of medication expressed as a timing amount
whenPrepared | C | 0..1 | dateTime | When product was packaged and reviewed Constraints: workflow-abgabeDatumsFormat
whenHandedOver | C | 1..1 | dateTime | When product was given out Constraints: workflow-abgabeDatumsFormat
destination |  | 0..0 |  | Where the medication was sent
note |  | 0..* | Annotation | Abgabehinweise
substitution |  |  |  |
wasSubstituted | S | 1..1 | boolean | Whether a substitution was or was not performed on the dispense
type |  | 0..0 |  | Code signifying whether a different drug was dispensed from what was prescribed
reason |  | 0..0 |  | Why was substitution made
responsibleParty |  | 0..0 |  | Who is responsible for the substitution
detectedIssue |  | 0..0 |  | Clinical issue with action
eventHistory |  | 0..0 |  | A list of relevant lifecycle events
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
workflow-abgabeDatumsFormat | error | MedicationDispense.whenPrepared, MedicationDispense.whenHandedOver | Wert muss ein Datum in der Form: YYYY-MM-DD sein. | `toString().length()=10`
workflow-dosageExtensionBeiDosierung | error | MedicationDispense | Wenn eine Dosierung angegeben wurde, muss der generierte Dosierungstext, sowie die Metainformationen zur Generierung angegeben werden. | `dosageInstruction.exists() implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction').exists() and extension.where(url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta').exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationDispense | C | 0..* | TIMedicationDispenseDgMP | Dispensing a medication to a named patient Constraints: mdd-1, workflow-dosageExtensionBeiDosierung
id | Σ | 0..1 | id | Logical id of this artifact
meta | S Σ | 1..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | S Σ | 0..1 | id | Version specific identifier
lastUpdated | S Σ | 0..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
Slices for profile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Closed by value:$this
profile:workflowProfile | S Σ | 1..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Fixed Value: https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|2.0
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:rxPrescriptionProcessIdentifier |  | 0..1 | RxPrescriptionProcessIdentifier | Extension URL: https://gematik.de/fhir/epa-medication/StructureDefinition/rx-prescription-process-identifier-extension
extension:renderedDosageInstruction | S N | 0..1 | (Complex) | Vollständige Darstellung der Dosierungsanweisungen (generiert aus den Dosage-Elementen). URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction"
value[x] | S | 0..1 | markdown | Full representation of the dosage instructions
extension:generatedDosageInstructionsMeta | S N | 0..1 | (Complex) | Metadaten zu den generierten Dosierungsanweisungen URL: http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier |  | 1..* | Identifier | E-Rezept-ID Slice: Unordered, Open by pattern:$this
identifier:RxOriginatorProcessIdentifier |  | 0..1 | RxOriginatorProcessIdentifier | An identifier intended for computation Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/epa-medication/sid/rx-originator-process-identifier
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:prescriptionID |  | 1..1 | EPrescriptionId | External identifier Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
status | ?!S Σ | 1..1 | code | completed Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs (required): A coded concept specifying the state of the dispense event. Fixed Value: completed
category | S | 0..1 | CodeableConcept | Fehlender oder nicht vorhandener Wert weist auf eine Abgabe mit Verschreibung hin. Binding: https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs (required): Definiert den Kontext einer Abgabe: mit oder ohne ärztliche Verschreibung.
medication[x] | S Σ | 1..1 | Reference(GEM ERP PR Medication) | What medication was supplied
subject | S Σ | 1..1 | Reference(Patient) | Who the dispense is for
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | S Σ | 1..1 | IdentifierKvid10 | An identifier intended for computation
display | Σ | 0..1 | string | Text alternative for the resource
performer | S | 1..1 | BackboneElement | Who performed event
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
function |  | 0..1 | CodeableConcept | Who performed the dispense and what they did Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.
actor |  | 1..1 | Reference(Organization | PractitionerRole) | Individual who was performing
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 1..1 | IdentifierTelematikId | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
authorizingPrescription | S | 0..* | Reference(MedicationRequest) | Medication order that authorizes the dispense
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | S Σ C | 1..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | Σ | 0..1 | string | Text alternative for the resource
whenPrepared | Σ C | 0..1 | dateTime | When product was packaged and reviewed Constraints: workflow-abgabeDatumsFormat
whenHandedOver | S C | 1..1 | dateTime | When product was given out Constraints: workflow-abgabeDatumsFormat
receiver |  | 0..* | Reference(Patient | Practitioner) | Who collected the medication
note |  | 0..* | Annotation | Abgabehinweise
dosageInstruction | S C | 0..* | DosageDE | Hier werden Informationen zur Dosierung angegeben. Constraints: DosageStructuredOrFreeTextWarning, DosageStructuredRequiresBoth, DosageDoseUnitSameCode, DosageWarnungViererschemaInText, FreeTextSingleDosageOnlyWarning
substitution | S | 0..1 | BackboneElement | Whether a substitution was performed on the dispense
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
wasSubstituted | S | 1..1 | boolean | Whether a substitution was or was not performed on the dispense
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationDispense.meta.​security | Base | extensible | SecurityLabels | 📦4.0.1 | FHIR Std.
MedicationDispense.meta.​tag | Base | example | Common Tags | 📦4.0.1 | FHIR Std.
MedicationDispense.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
MedicationDispense.status | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-status-vs | Not State | Unknown
MedicationDispense.category | Base | required | https://gematik.de/fhir/terminology/ValueSet/ti-medication-dispense-category-vs | Not State | Unknown
MedicationDispense.subject.​type | Base | extensible | ResourceType | 📦4.0.1 | FHIR Std.
MedicationDispense.performer.​function | Base | example | Medication dispense performer function codes | 📦4.0.1 | FHIR Std.
MedicationDispense.performer.​actor.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
MedicationDispense.authorizingPrescription.​type | Base | extensible | ResourceType | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
DosageDoseUnitSameCode | error | MedicationDispense.dosageInstruction | Die Dosiereinheit muss über alle Dosierungen gleich sein. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( doseAndRate.exists() implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Quantity).code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).low.code | (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).doseAndRate.dose.ofType(Range).high.code ).distinct().count() = 1 )`
DosageStructuredOrFreeTextWarning | warning | MedicationDispense.dosageInstruction | Die Dosierungsangabe darf entweder nur als Freitext oder nur als vollständige strukturierte Information erfolgen — eine Mischung ist nicht erlaubt. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (text.exists() and timing.empty() and doseAndRate.empty()) or (text.empty() and (timing.exists() or doseAndRate.exists())) )`
DosageStructuredRequiresBoth | error | MedicationDispense.dosageInstruction | Wenn eine strukturierte Dosierungsangabe erfolgt, müssen sowohl timing als auch doseAndRate angegeben werden. | `(%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage).all( (timing.exists() implies doseAndRate.exists()) and (doseAndRate.exists() implies timing.exists()) )`
DosageWarnungViererschemaInText | warning | MedicationDispense.dosageInstruction | Hinweis: In Dosage.text wurde ein Viererschema (z. B. 1-1-1-1) erkannt. Bitte prüfen, ob dies strukturiert abgebildet werden kann. | `text.exists() implies text.matches('.*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\s*\\d+\\s*[-–]\\d+.*').not()`
FreeTextSingleDosageOnlyWarning | warning | MedicationDispense.dosageInstruction | Wenn eine Dosierung als reiner Freitext angegeben ist, soll nur genau ein Dosage-Element existieren. | `( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).exists(text.exists() and timing.empty() and doseAndRate.empty()) ) implies ( (%resource.ofType(MedicationRequest).dosageInstruction | %resource.ofType(MedicationDispense).dosageInstruction | %resource.ofType(MedicationStatement).dosage ).count() = 1 )`
dom-2 | error | MedicationDispense | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | MedicationDispense | 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 | MedicationDispense | 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 | MedicationDispense | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | MedicationDispense | 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()`
mdd-1 | error | MedicationDispense | whenHandedOver cannot be before whenPrepared | `whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared`
workflow-abgabeDatumsFormat | error | MedicationDispense.whenPrepared, MedicationDispense.whenHandedOver | Wert muss ein Datum in der Form: YYYY-MM-DD sein. | `toString().length()=10`
workflow-dosageExtensionBeiDosierung | error | MedicationDispense | Wenn eine Dosierung angegeben wurde, muss der generierte Dosierungstext, sowie die Metainformationen zur Generierung angegeben werden. | `dosageInstruction.exists() implies extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction').exists() and extension.where(url = 'http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta').exists()`

This structure is derived from TIMedicationDispenseDgMP

Summary

Mandatory: 6 elements
Must-Support: 3 elements
Fixed: 2 elements
Prohibited: 14 elements

Structures

This structure refers to these other structures:

- Identifikator Profil für E-Rezept-IDs (https://gematik.de/fhir/ti/StructureDefinition/e-prescription-id)
- GEM ERP PR Medication (https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication)
- Identifier-Profil für die Telematik-ID (http://fhir.de/StructureDefinition/identifier-telematik-id)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of MedicationDispense.meta.profile (Closed)

Other representations of profile: CSV, Excel, Schematron