Implementation Guide
ePA Medication Service
Version 1.3.5 - release

## Extension: EMPOriginMedicationExtension - Detailed Descriptions

Active as of 2026-03-20

Definitions for the emp-origin-medication-extension extension.

- Key Elements Table
- Differential Elements Table
- Snapshot Elements Table

Guidance on how to interpret the contents of this table can be foundhere

0. Extension
Definition | Erlaubt einem eMP MedicationRequest, auf die ursprünglich verwendete Medication-Instanz zu referenzieren (Ursprung des eMP-Eintrags). Optional Extension Element - found in all resources.
Short | Origin Medication Reference (eMP)Optional Extensions Element
Control | 0..* This element is affected by the following invariants: ele-1
Is Modifier | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`) epa-no-history-reference: Die Referenz darf keine History-Referenz enthalten ('/_history/' ist nicht erlaubt). (`value.where($this is Reference).reference.exists() implies value.where($this is Reference).reference.contains('/_history/').not()`) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
2. Extension.extension
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | ExtensionAdditional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..0*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
Slicing | This element introduces a set of slices on `Extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
4. Extension.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
Fixed Value | `https://gematik.de/fhir/epa-medication/StructureDefinition/emp-origin-medication-extension`
6. Extension.value[x]
Definition | Diese Referenz stellt den Bezug zwischen einem MedicationRequest und der ursprünglichen Medication-Instanz her, die bei der Erstellung des eMP-Eintrags verwendet wurde. Sie dokumentiert den Ursprung (Origin) der Verschreibung und ermöglicht eine eindeutige Rückverfolgbarkeit. Dies ist insbesondere relevant, wenn sich im Verlauf unterschiedliche Medication-Instanzen (z. B. aufgrund von Versionsänderungen, Produktwechsel oder unterschiedlicher Quellkontexte) im eMP finden lassen. Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).
Short | Referenz auf die Ursprungs-Medication (Basis des eMP-Eintrags)Value of extension
Control | 10..1
Type | Reference(Medication), date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

Guidance on how to interpret the contents of this table can be foundhere

0. Extension
Definition | Erlaubt einem eMP MedicationRequest, auf die ursprünglich verwendete Medication-Instanz zu referenzieren (Ursprung des eMP-Eintrags).
Short | Origin Medication Reference (eMP)
Invariants | epa-no-history-reference: Die Referenz darf keine History-Referenz enthalten ('/_history/' ist nicht erlaubt). (`value.where($this is Reference).reference.exists() implies value.where($this is Reference).reference.contains('/_history/').not()`)
2. Extension.extension
Control | 0..0
4. Extension.url
Fixed Value | `https://gematik.de/fhir/epa-medication/StructureDefinition/emp-origin-medication-extension`
6. Extension.value[x]
Definition | Diese Referenz stellt den Bezug zwischen einem MedicationRequest und der ursprünglichen Medication-Instanz her, die bei der Erstellung des eMP-Eintrags verwendet wurde. Sie dokumentiert den Ursprung (Origin) der Verschreibung und ermöglicht eine eindeutige Rückverfolgbarkeit. Dies ist insbesondere relevant, wenn sich im Verlauf unterschiedliche Medication-Instanzen (z. B. aufgrund von Versionsänderungen, Produktwechsel oder unterschiedlicher Quellkontexte) im eMP finden lassen.
Short | Referenz auf die Ursprungs-Medication (Basis des eMP-Eintrags)
Control | 1..?
Type | Reference(Medication), date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]

Guidance on how to interpret the contents of this table can be foundhere

0. Extension
Definition | Erlaubt einem eMP MedicationRequest, auf die ursprünglich verwendete Medication-Instanz zu referenzieren (Ursprung des eMP-Eintrags).
Short | Origin Medication Reference (eMP)
Control | 0..* This element is affected by the following invariants: ele-1
Is Modifier | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`) epa-no-history-reference: Die Referenz darf keine History-Referenz enthalten ('/_history/' ist nicht erlaubt). (`value.where($this is Reference).reference.exists() implies value.where($this is Reference).reference.contains('/_history/').not()`)
2. Extension.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
4. Extension.extension
Definition | An Extension
Short | Extension
Control | 0..0
Type | Extension
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
Slicing | This element introduces a set of slices on `Extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
6. Extension.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
Fixed Value | `https://gematik.de/fhir/epa-medication/StructureDefinition/emp-origin-medication-extension`
8. Extension.value[x]
Definition | Diese Referenz stellt den Bezug zwischen einem MedicationRequest und der ursprünglichen Medication-Instanz her, die bei der Erstellung des eMP-Eintrags verwendet wurde. Sie dokumentiert den Ursprung (Origin) der Verschreibung und ermöglicht eine eindeutige Rückverfolgbarkeit. Dies ist insbesondere relevant, wenn sich im Verlauf unterschiedliche Medication-Instanzen (z. B. aufgrund von Versionsänderungen, Produktwechsel oder unterschiedlicher Quellkontexte) im eMP finden lassen.
Short | Referenz auf die Ursprungs-Medication (Basis des eMP-Eintrags)
Control | 1..1
Type | Reference(Medication)
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)