## Profile Comparison between https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-pharmaceutical-product vs https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-pharmaceutical-product

Left: | EPA Pharmaceutical Product Medication (https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-pharmaceutical-product)
Right: | EPA Pharmaceutical Product Medication (https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-pharmaceutical-product)

### Messages

Error | StructureDefinition.version | Values for version differ: '1.3.0' vs '1.3.1'
Information | StructureDefinition.date | Values for date differ: '2025-12-15' vs '2026-03-20'
Information | StructureDefinition.short | Values for short differ: 'Additional content defined by implementations' vs 'Extension'
Information | StructureDefinition.definition | Values for definition differ: 'May be used to represent additional information that is not part of the basic definition of the resource. 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.' vs 'An Extension'
Warning | Medication.extension | Elements differ in definition for mustSupport: 'false' vs 'true'
Warning | Medication.identifier | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | StructureDefinition.short | Values for short differ: 'Additional content defined by implementations' vs 'Extension'
Information | StructureDefinition.definition | Values for definition differ: '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.' vs 'An Extension'
Warning | Medication.amount.numerator.extension | Elements differ in definition for mustSupport: 'false' vs 'true'
Information | StructureDefinition.short | Values for short differ: 'Additional content defined by implementations' vs 'Extension'
Information | StructureDefinition.definition | Values for definition differ: '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.' vs 'An Extension'
Warning | Medication.ingredient.extension | Elements differ in definition for mustSupport: 'false' vs 'true'
Warning | Medication.ingredient.isActive | Elements differ in definition for mustSupport: 'false' vs 'true'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Medication |
copyright | gematik GmbH / Dieses Artefakt ist lizenziert unter [Apache License](./license.html), Version 2.0. |
date | 2025-12-15 | 2026-03-20 | Values Differ
description | Defines the medication resource for a component of a 'Kombipackung' for the Medication Service in the ePA system. These profiles are intended to inherit from EPAMedication, but due to tooling issues, this inheritance cannot currently be implemented. |
experimental | false |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#DE |
kind | resource |
name | EPAMedicationPharmaceuticalProduct |
publisher | gematik GmbH |
purpose |  |
status | active |
title | EPA Pharmaceutical Product Medication |
type | Medication |
url | https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-pharmaceutical-product |
version | 1.3.0 | 1.3.1 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Medication | C | 0..* | Medication | Definition of a Medication Constraints: epa-med-1 | C | 0..* | Medication | Definition of a Medication Constraints: epa-med-1 |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | S Σ | 0..1 | Meta | Metadata about the resource | S Σ | 0..1 | Meta | Metadata about the resource |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
versionId | S Σ | 0..1 | id | Version specific identifier | S Σ | 0..1 | id | Version specific identifier |
lastUpdated | S Σ | 0..1 | instant | When the resource version last changed | S Σ | 0..1 | instant | When the resource version last changed |
source | Σ | 0..1 | uri | Identifies where the resource comes from | Σ | 0..1 | uri | Identifies where the resource comes from |
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to |
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: ?? (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | Σ | 0..* | Coding | Security Labels applied to this resource Binding: ?? (extensible): Security Labels from the Healthcare Privacy and Security Classification System. |
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: ?? (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | Σ | 0..* | Coding | Tags applied to this resource Binding: ?? (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 | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | 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 |  | 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..0 |  | Contained, inline Resources |  | 0..0 |  | Contained, inline Resources |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | S | 0..* | Extension | Extension Slice: Unordered, Open by value:url | Elements differ in definition for mustSupport: 'false' vs 'true'
Slices for modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url |
Slices for identifier | Σ | 0..* | Identifier | Business identifier for this medication Slice: Unordered, Open by value:$this | S Σ | 0..* | Identifier | Business identifier for this medication Slice: Unordered, Open by value:$this | Elements differ in definition for mustSupport: 'false' vs 'true'
code | S Σ | 0..1 | CodeableConcept | Medication in coded form or as free text if necessary Binding: ?? (example): A coded concept that defines the type of a medication. | S Σ | 0..1 | CodeableConcept | Medication in coded form or as free text if necessary Binding: ?? (example): A coded concept that defines the type of a medication. |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:$this | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:$this |
text | S Σ | 0..1 | string | Plain text representation of the concept | S Σ | 0..1 | string | Plain text representation of the concept |
status | ?!S Σ | 0..1 | code | Status of Medication Information Binding: ?? (required): A coded concept defining if the medication is in active use. | ?!S Σ | 0..1 | code | Status of Medication Information Binding: ?? (required): A coded concept defining if the medication is in active use. |
manufacturer | S Σ C | 0..1 | Reference(Organization) | Manufacturer of the Medication | S Σ C | 0..1 | Reference(Organization) | Manufacturer of the Medication |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 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 | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL |
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (extensible): Aa resource (or, for logical models, the URI of the logical model). | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ?? (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 | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
display | S Σ | 1..1 | string | Text alternative for the resource | S Σ | 1..1 | string | Text alternative for the resource |
form | S | 0..1 | CodeableConcept | Form of Dispensing Binding: ?? (example): A coded concept defining the form of a medication. | S | 0..1 | CodeableConcept | Form of Dispensing Binding: ?? (example): A coded concept defining the form of a medication. |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
Slices for coding | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:$this | S Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:$this |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
amount | S Σ C | 0..1 | Ratio | Amount of drug in package | S Σ C | 0..1 | Ratio | Amount of drug in package |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
numerator | S Σ C | 0..1 | Quantity | Numerator value Binding: ?? (preferred) | S Σ C | 0..1 | Quantity | Numerator value Binding: ?? (preferred) |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | S | 0..* | Extension | Extension Slice: Unordered, Open by value:url | Elements differ in definition for mustSupport: 'false' vs 'true'
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision) | S Σ | 0..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. |
unit | S Σ | 0..1 | string | Unit representation | S Σ | 0..1 | string | Unit representation |
system | S Σ C | 0..1 | uri | System that defines coded unit form | S Σ C | 0..1 | uri | System that defines coded unit form |
code | S Σ | 0..1 | code | Coded form of the unit | S Σ | 0..1 | code | Coded form of the unit |
denominator | S Σ C | 0..1 | Quantity | Denominator value Binding: ?? (preferred) | S Σ C | 0..1 | Quantity | Denominator value Binding: ?? (preferred) |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | S Σ | 0..1 | decimal | Numerical value (with implicit precision) | S Σ | 0..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. |
unit | S Σ | 0..1 | string | Unit representation | S Σ | 0..1 | string | Unit representation |
system | S Σ C | 0..1 | uri | System that defines coded unit form | S Σ C | 0..1 | uri | System that defines coded unit form |
code | S Σ | 0..1 | code | Coded form of the unit | S Σ | 0..1 | code | Coded form of the unit |
ingredient | S | 0..* | BackboneElement | Active or inactive ingredients of the medication, including pharmaceutical substances as well as individual medicinal products in combination packs. | S | 0..* | BackboneElement | Active or inactive ingredients of the medication, including pharmaceutical substances as well as individual medicinal products in combination packs. |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | S | 0..* | Extension | Extension Slice: Unordered, Open by value:url | Elements differ in definition for mustSupport: 'false' vs 'true'
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
Slices for item[x] | S | 1..1 | CodeableConcept | The actual ingredient or content Slice: Unordered, Closed by type:$this | S | 1..1 | CodeableConcept | The actual ingredient or content Slice: Unordered, Closed by type:$this |
isActive |  | 0..1 | boolean | Is it an active ingredient? | S | 0..1 | boolean | Is it an active ingredient? | Elements differ in definition for mustSupport: 'false' vs 'true'
strength | S C | 0..1 | Ratio | Strength | S C | 0..1 | Ratio | Strength |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
numerator | S Σ C | 0..1 | Quantity | Numerator value Binding: ?? (preferred) | S Σ C | 0..1 | Quantity | Numerator value Binding: ?? (preferred) |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | S Σ | 1..1 | decimal | Numerical value (with implicit precision) | S Σ | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. |
unit | S Σ | 0..1 | string | Unit representation | S Σ | 0..1 | string | Unit representation |
system | S Σ C | 0..1 | uri | System that defines coded unit form | S Σ C | 0..1 | uri | System that defines coded unit form |
code | S Σ | 0..1 | code | Coded form of the unit | S Σ | 0..1 | code | Coded form of the unit |
denominator | S Σ C | 0..1 | Quantity | Denominator value Binding: ?? (preferred) | S Σ C | 0..1 | Quantity | Denominator value Binding: ?? (preferred) |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | S Σ | 1..1 | decimal | Numerical value (with implicit precision) | S Σ | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: ?? (required): How the Quantity should be understood and represented. |
unit | S Σ | 0..1 | string | Unit representation | S Σ | 0..1 | string | Unit representation |
system | S Σ C | 0..1 | uri | System that defines coded unit form | S Σ C | 0..1 | uri | System that defines coded unit form |
code | S Σ | 0..1 | code | Coded form of the unit | S Σ | 0..1 | code | Coded form of the unit |
batch |  | 0..1 | BackboneElement | Batch Information |  | 0..1 | BackboneElement | Batch Information |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
lotNumber |  | 0..1 | string | Batch Number |  | 0..1 | string | Batch Number |
expirationDate |  | 0..1 | dateTime | When batch will expire |  | 0..1 | dateTime | When batch will expire |
Documentation for this format