Implementation Guide
ePA Medication Service
Version 1.0.5-ballot.1 - draft

Data Type Profile: Medication Unique Identifier

Official URL: https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-unique-identifier Version: 1.0.5-ballot.1
Draft as of 2025-02-14 Computable Name: EPAMedicationUniqueIdentifier

This unique identifier is generated within the Medication Service. It is either a hash derived from a specific set of data elements of the Medication resource or a direct repetition of a single data element. This identifier ensures the distinct identification of Medication resources across the ePA system.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..* Identifier An identifier intended for computation
ele-1: All FHIR elements must have a @value or children
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
... system SΣ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Required Pattern: https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier
... value SΣ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

This structure is derived from Identifier

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier Identifier
... system S 1..1 uri The namespace for the identifier value
Required Pattern: https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier
... value S 1..1 string The value that is unique

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..* Identifier An identifier intended for computation
... id 0..1 string Unique id for inter-element referencing
... extension N 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 .

... system SΣ 1..1 uri The namespace for the identifier value
Required Pattern: https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier
... 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
per-1: If present, start SHALL have a lower value than end
... assigner ΣC 0..1 Reference(Organization) Organization that issued id (may be just text)
ref-1: SHALL have a contained resource if a local reference is provided

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** elementsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorIdentifier.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorIdentifier.assignerSHALL 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'))

This structure is derived from Identifier

Summary

Mandatory: 2 elements
Must-Support: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..* Identifier An identifier intended for computation
ele-1: All FHIR elements must have a @value or children
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
... system SΣ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Required Pattern: https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier
... value SΣ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

Differential View

This structure is derived from Identifier

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier Identifier
... system S 1..1 uri The namespace for the identifier value
Required Pattern: https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier
... value S 1..1 string The value that is unique

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier 0..* Identifier An identifier intended for computation
... id 0..1 string Unique id for inter-element referencing
... extension N 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 .

... system SΣ 1..1 uri The namespace for the identifier value
Required Pattern: https://gematik.de/fhir/epa-medication/sid/epa-medication-unique-identifier
... 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
per-1: If present, start SHALL have a lower value than end
... assigner ΣC 0..1 Reference(Organization) Organization that issued id (may be just text)
ref-1: SHALL have a contained resource if a local reference is provided

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** elementsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
per-1errorIdentifier.periodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorIdentifier.assignerSHALL 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'))

This structure is derived from Identifier

Summary

Mandatory: 2 elements
Must-Support: 2 elements

 

Other representations of profile: CSV, Excel, Schematron