Implementation Guide
TIFlow - Grenzüberschreitender Datenaustausch
Version 2.0.0-ballot.2 - ballot

## Extension: GEM_ERPEU_EX_MedicinalPackageIdentifier

Official URL: https://gematik.de/fhir/tiflow-xborder/StructureDefinition/GEM-ERPEU-EX-MedicinalPackageIdentifier | Version: 2.0.0-ballot.2
Draft as of 2026-06-30 | Computable Name: GEM_ERPEU_EX_MedicinalPackageIdentifier

Identifier of a packaged medicinal product refers to a specific pack size of a specific product.

Context of Use

This extension may be used on the following element(s):

- Element ID Medication
- Extension URL http://hl7.org/fhir/StructureDefinition/Extension

Usage info

Usages:

- Use this Extension: EU-Medication

You can also check for usages in the FHIR IG Statistics

### Formal Views of Extension Content

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

- Text Summary
- Differential Table
- Snapshot Table
- All

This structure is derived from Extension

Summary

Simple Extension with the type Identifier: Identifier of a packaged medicinal product refers to a specific pack size of a specific product.

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "https://gematik.de/fhir/tiflow-xborder/StructureDefinition/GEM-ERPEU-EX-MedicinalPackageIdentifier"
value[x] |  | 0..1 | Identifier | Value of extension
system | S | 0..1 | uri | The namespace for the identifier value
value | S | 1..1 | string | The value that is unique
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | Extension
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "https://gematik.de/fhir/tiflow-xborder/StructureDefinition/GEM-ERPEU-EX-MedicinalPackageIdentifier"
value[x] |  | 0..1 | Identifier | Value of extension
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | S Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ C | 0..1 | Period | Time period when id is/was valid for use Constraints: per-1
assigner | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) Constraints: ref-1
Documentation for this format

This structure is derived from Extension

Summary

Simple Extension with the type Identifier: Identifier of a packaged medicinal product refers to a specific pack size of a specific product.

Differential View

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | Extension
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "https://gematik.de/fhir/tiflow-xborder/StructureDefinition/GEM-ERPEU-EX-MedicinalPackageIdentifier"
value[x] |  | 0..1 | Identifier | Value of extension
system | S | 0..1 | uri | The namespace for the identifier value
value | S | 1..1 | string | The value that is unique
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | Extension
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "https://gematik.de/fhir/tiflow-xborder/StructureDefinition/GEM-ERPEU-EX-MedicinalPackageIdentifier"
value[x] |  | 0..1 | Identifier | Value of extension
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | S Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ C | 0..1 | Period | Time period when id is/was valid for use Constraints: per-1
assigner | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) Constraints: ref-1
Documentation for this format

Other representations of profile: CSV, Excel, Schematron

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Extension.value[x].use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Extension.value[x].type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
per-1 | error | Extension.value[x].period | If present, start SHALL have a lower value than end | `start.hasValue().not() or end.hasValue().not() or (start <= end)`
ref-1 | error | Extension.value[x].assigner | SHALL have a contained resource if a local reference is provided | `reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))`