## Profile Comparison between https://gematik.de/fhir/epa-medication/StructureDefinition/emp-chronology-provenance vs https://gematik.de/fhir/epa-medication/StructureDefinition/emp-chronology-provenance

Left: | eMP Chronology Provenance (https://gematik.de/fhir/epa-medication/StructureDefinition/emp-chronology-provenance)
Right: | eMP Chronology Provenance (https://gematik.de/fhir/epa-medication/StructureDefinition/emp-chronology-provenance)

### Messages

Error | StructureDefinition.version | Values for version differ: '1.3.1' vs '1.3.2'
Warning | Provenance.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 | Provenance.target.extension | Elements differ in definition for mustSupport: 'false' vs 'true'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/Provenance |
copyright | gematik GmbH / Dieses Artefakt ist lizenziert unter [Apache License](./license.html), Version 2.0. |
date | 2026-03-20 |
description | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Abbildung eines eMP-Chronologieeintrags. Die Provenance-Instanz dokumentiert, welche eMP-Einträge (MedicationRequest-Instanzen) zu einem bestimmten Zeitpunkt als Teil des elektronischen Medikationsplans (eMP) gültig waren. Ein eMP-Chronologieeintrag wird immer dann erzeugt, wenn sich die eMP-relevanten Instanzen geändert haben oder neue eMP-Einträge hinzugekommen sind. Er referenziert sämtliche zum Erstellungszeitpunkt aktiven eMP-MedicationRequest-Instanzen, d.h. alle Ressourcen mit dem Status active oder on-hold. Dadurch wird der Zustand des Medikationsplans zu diesem Zeitpunkt nachvollziehbar. Der eMP-Chronologieeintrag ermöglicht somit eine eindeutige und versionssichere Rückverfolgung der Zusammensetzung des eMP über verschiedene Zeitpunkte hinweg. |
experimental | false |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#DE |
kind | resource |
name | EMPChronologyProvenance |
publisher | gematik GmbH |
purpose |  |
status | active |
title | eMP Chronology Provenance |
type | Provenance |
url | https://gematik.de/fhir/epa-medication/StructureDefinition/emp-chronology-provenance |
version | 1.3.1 | 1.3.2 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt einen eMP-Chronologieeintrag, der alle zum Erstellungszeitpunkt aktiven eMP-Einträge (active, on-hold) referenziert. Er entsteht bei Änderungen oder neuen Einträgen im eMP. |  | 0..* | Provenance | Dieses Profil beschreibt einen eMP-Chronologieeintrag, der alle zum Erstellungszeitpunkt aktiven eMP-Einträge (active, on-hold) referenziert. Er entsteht bei Änderungen oder neuen Einträgen im eMP. |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
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..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url | S | 1..* | 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 |
target | S Σ C | 1..* | Reference(eMP MedicationRequest) | Gibt die MedicationRequest-Instanzen an, die dem Profil EMPMedicationRequest entsprechen und im Rahmen der Änderung innerhalb des Medication Service erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (MedicationRequest/id/_history/vid) verwendet werden. | S Σ C | 1..* | Reference(eMP MedicationRequest) | Gibt die MedicationRequest-Instanzen an, die dem Profil EMPMedicationRequest entsprechen und im Rahmen der Änderung innerhalb des Medication Service erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (MedicationRequest/id/_history/vid) verwendet werden. |
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'
reference | S Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | S Σ 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 | S Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | S Σ | 0..1 | Identifier | Logical reference, when literal reference is not known |
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 |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . |
type | S Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | S Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
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 |
coding | S Σ | 0..* | Coding | Code defined by a terminology system | S Σ | 0..* | Coding | Code defined by a terminology system |
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 |
system | S Σ | 0..1 | uri | Identity of the terminology system | S Σ | 0..1 | uri | Identity of the terminology system |
version | S Σ | 0..1 | string | Version of the system - if relevant | S Σ | 0..1 | string | Version of the system - if relevant |
code | S Σ | 0..1 | code | Symbol in syntax defined by the system | S Σ | 0..1 | code | Symbol in syntax defined by the system |
display | S Σ | 0..1 | string | Representation defined by the system | S Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
system | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient |
value | S Σ | 0..1 | string | The value that is unique Example General: 123456 | S Σ | 0..1 | string | The value that is unique Example General: 123456 |
period | Σ C | 0..1 | Period | Time period when id is/was valid for use | Σ C | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
display | S Σ | 0..1 | string | Text alternative for the resource | S Σ | 0..1 | string | Text alternative for the resource |
occurred[x] | S | 0..1 | dateTime | Gibt den Zeitraum oder Zeitpunkt an, in dem die Änderung tatsächlich stattgefunden hat - also wann die Aktion inhaltlich durchgeführt wurde, z.B. das Erfassen oder Bearbeiten von Daten. | S | 0..1 | dateTime | Gibt den Zeitraum oder Zeitpunkt an, in dem die Änderung tatsächlich stattgefunden hat - also wann die Aktion inhaltlich durchgeführt wurde, z.B. das Erfassen oder Bearbeiten von Daten. |
recorded | S Σ | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser eMP-Chronologieeintrag im Medication Service erstellt und persistiert wurde. | S Σ | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser eMP-Chronologieeintrag im Medication Service erstellt und persistiert wurde. |
policy |  | 0..* | uri | Policy or plan the activity was defined by |  | 0..* | uri | Policy or plan the activity was defined by |
location | C | 0..1 | Reference(Location) | Where the activity occurred, if relevant | C | 0..1 | Reference(Location) | Where the activity occurred, if relevant |
reason |  | 0..* | CodeableConcept | Reason the activity is occurring Binding: ?? (extensible): The reason the activity took place. |  | 0..* | CodeableConcept | Reason the activity is occurring Binding: ?? (extensible): The reason the activity took place. |
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zur Erstellung des eMP-Chronologieeintrags im FHIR Data Service der ePA geführt hat. Verwendet wird UPDATE, da der Chronologieeintrag eine neue Zusammenstellung des aktuellen Stands der relevanten eMP-Instanzen darstellt. Binding: ?? (extensible): The activity that took place. Required Pattern: {"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-DataOperation","code":"UPDATE"}]} | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zur Erstellung des eMP-Chronologieeintrags im FHIR Data Service der ePA geführt hat. Verwendet wird UPDATE, da der Chronologieeintrag eine neue Zusammenstellung des aktuellen Stands der relevanten eMP-Instanzen darstellt. Binding: ?? (extensible): The activity that took place. Required Pattern: {"coding":[{"system":"http://terminology.hl7.org/CodeSystem/v3-DataOperation","code":"UPDATE"}]} |
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 |
coding | S Σ | 0..* | Coding | Code defined by a terminology system | S Σ | 0..* | Coding | Code defined by a terminology system |
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 |
system | S Σ | 0..1 | uri | Identity of the terminology system | S Σ | 0..1 | uri | Identity of the terminology system |
version | S Σ | 0..1 | string | Version of the system - if relevant | S Σ | 0..1 | string | Version of the system - if relevant |
code | S Σ | 0..1 | code | Symbol in syntax defined by the system | S Σ | 0..1 | code | Symbol in syntax defined by the system |
display | S Σ | 0..1 | string | Representation defined by the system | S Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
agent | S | 1..* | BackboneElement | Beschreibt die Art der Aktivität, die zur Erstellung des eMP-Chronologieeintrags geführt hat. Verwendet wird UPDATE, da der Chronologieeintrag den aktuellen Stand der eMP-relevanten Instanzen zusammenfasst, nachdem sich diese geändert haben oder neue Instanzen hinzugekommen sind. | S | 1..* | BackboneElement | Beschreibt die Art der Aktivität, die zur Erstellung des eMP-Chronologieeintrags geführt hat. Verwendet wird UPDATE, da der Chronologieeintrag den aktuellen Stand der eMP-relevanten Instanzen zusammenfasst, nachdem sich diese geändert haben oder neue Instanzen hinzugekommen sind. |
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 |
type | S Σ | 1..1 | CodeableConcept | Gibt die Rolle oder Funktion an, die der Agent im Rahmen der dokumentierten Änderung eingenommen hat. Im Kontext dieses Profils ist ausschließlich die Rolle author zulässig, da jede Änderung im Medication Service fachlich verantwortet sein muss. Binding: ?? (required) | S Σ | 1..1 | CodeableConcept | Gibt die Rolle oder Funktion an, die der Agent im Rahmen der dokumentierten Änderung eingenommen hat. Im Kontext dieses Profils ist ausschließlich die Rolle author zulässig, da jede Änderung im Medication Service fachlich verantwortet sein muss. Binding: ?? (required) |
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 |
coding | S Σ | 1..1 | Coding | Code defined by a terminology system | S Σ | 1..1 | Coding | Code defined by a terminology system |
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 |
system | S Σ | 1..1 | uri | Identity of the terminology system | S Σ | 1..1 | uri | Identity of the terminology system |
version | S Σ | 0..1 | string | Version of the system - if relevant | S Σ | 0..1 | string | Version of the system - if relevant |
code | S Σ | 1..1 | code | Symbol in syntax defined by the system | S Σ | 1..1 | code | Symbol in syntax defined by the system |
display | S Σ | 0..1 | string | Representation defined by the system | S Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
role |  | 0..* | CodeableConcept | What the agents role was Binding: ?? (example): The role that a provenance agent played with respect to the activity. |  | 0..* | CodeableConcept | What the agents role was Binding: ?? (example): The role that a provenance agent played with respect to the activity. |
who | S Σ C | 1..1 | Reference(TI Organization | Organization in gematik Directory) | Who participated | S Σ C | 1..1 | Reference(TI Organization(1.3.1) | Organization in gematik Directory) | Who participated |
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 | S Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL | S Σ 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 | S Σ | 0..1 | ??, ??, ?? | Logical reference, when literal reference is not known | S Σ | 0..1 | ??, ??, ?? | Logical reference, when literal reference is not known |
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 |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: ?? (required): Identifies the purpose for this identifier, if known . |
type | S Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | S Σ | 0..1 | CodeableConcept | Description of identifier Binding: ?? (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
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 |
coding | S Σ | 0..* | Coding | Code defined by a terminology system | S Σ | 0..* | Coding | Code defined by a terminology system |
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 |
system | S Σ | 0..1 | uri | Identity of the terminology system | S Σ | 0..1 | uri | Identity of the terminology system |
version | S Σ | 0..1 | string | Version of the system - if relevant | S Σ | 0..1 | string | Version of the system - if relevant |
code | S Σ | 0..1 | code | Symbol in syntax defined by the system | S Σ | 0..1 | code | Symbol in syntax defined by the system |
display | S Σ | 0..1 | string | Representation defined by the system | S Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
system | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | S Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient |
value | S Σ | 0..1 | string | The value that is unique Example General: 123456 | S Σ | 0..1 | string | The value that is unique Example General: 123456 |
period | Σ C | 0..1 | Period | Time period when id is/was valid for use | Σ C | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
display | S Σ | 0..1 | string | Text alternative for the resource | S Σ | 0..1 | string | Text alternative for the resource |
onBehalfOf | C | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | C | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing |
entity |  | 0..* | BackboneElement | An entity used in this activity |  | 0..* | BackboneElement | An entity used in this activity |
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 |
role | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ?? (required): How an entity was used in an activity. | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ?? (required): How an entity was used in an activity. |
what | Σ C | 1..1 | Reference(Resource) | Identity of entity | Σ C | 1..1 | Reference(Resource) | Identity of entity |
agent |  | 0..* | See agent (Provenance) | Entity is attributed to this agent |  | 0..* | See agent (Provenance) | Entity is attributed to this agent |
signature |  | 0..* | Signature | Signature on target |  | 0..* | Signature | Signature on target |
Documentation for this format