Implementation Guide
ePA Basisfunktionalitäten
Version 1.3.1 - release

## Resource Profile: EPA Activity Provenance

Official URL: https://gematik.de/fhir/epa/StructureDefinition/epa-activity-provenance | Version: 1.3.0
Active as of 2025-09-12 | Computable Name: EPAActivityProvenance
Copyright/Legal: gematik GmbH / Dieses Artefakt ist lizenziert unter Apache License, Version 2.0.

Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen ePA FHIR Data Services. Es ermöglicht die strukturierte Nachverfolgung, wer zu welchem Zeitpunkt welche Ressourcen erstellt oder verändert hat. Der ePA Änderungseintrag dient damit als technischer und fachlicher Nachweis über den Ursprung und die Verantwortlichkeit von Einträgen in der ePA.

Usages:

- Examples for this Profile: Provenance/c7b6dcfc-d535-4f8f-9d86-841693f788d1 and Provenance/fdfc2842-bfff-436f-ab13-74785d0188c0

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen der ePA FHIR Data Services. Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
target | S Σ C | 1..* | Reference(Resource) | Gibt die Ressource(n) an, die im Rahmen der Änderung innerhalb der ePA erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (ResourceType/id/_history/vid) verwendet werden. Constraints: ref-1
reference | S Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
display | 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.
recorded | S Σ | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser Provenance-Eintrag im FHIR Data Service erstellt und persistiert wurde.
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zu der Änderung im FHIR Data Service der ePA geführt hat. Beispiel CREATE | UPDATE Binding: EPA Activity Provenance Type ValueSet (required)
coding | S Σ | 0..* | Coding | Code defined by a terminology system
system | S Σ | 0..1 | uri | Identity of the terminology system
version | S Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 0..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
agent | S | 1..* | BackboneElement | Gibt den verantwortlichen Leistungserbringer, die Leistungserbringerinstitution oder das System an, das die Änderung im FHIR Data Service der ePA durchgeführt hat.
modifierExtension | ?!Σ | 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 FHIR Data Service der ePA fachlich verantwortet sein muss. Binding: EPA Provenance Participant Type ValueSet (required)
coding | S Σ | 1..1 | Coding | Code defined by a terminology system
system | S Σ | 1..1 | uri | Identity of the terminology system
code | S Σ | 1..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
who | S Σ C | 1..1 | Reference(Practitioner | Organization | PractitionerRole) | Who participated Constraints: ref-1
reference | S Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
identifier | S Σ | 0..1 | IdentifierTelematikId, IdentifierEPAFHIRDataService | Logical reference, when literal reference is not known
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
system | 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
display | S Σ | 0..1 | string | Text alternative for the resource
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Provenance.activity | Base | required | EPA Activity Provenance Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.type | Base | required | EPA Provenance Participant Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.who.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Provenance | A resource should have narrative for robust management | `text.`div`.exists()`
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()`
ref-1 | error | Provenance.target, Provenance.agent.who | 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'))`

This structure is derived from Provenance

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen der ePA FHIR Data Services.
target | S | 1..* | Reference(Resource) | Gibt die Ressource(n) an, die im Rahmen der Änderung innerhalb der ePA erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (ResourceType/id/_history/vid) verwendet werden.
reference | S | 0..1 | string | Literal reference, Relative, internal or absolute URL
display | 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.
recorded | S | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser Provenance-Eintrag im FHIR Data Service erstellt und persistiert wurde.
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zu der Änderung im FHIR Data Service der ePA geführt hat. Beispiel CREATE | UPDATE Binding: EPA Activity Provenance Type ValueSet (required)
coding | S | 0..* | Coding | Code defined by a terminology system
system | S | 0..1 | uri | Identity of the terminology system
version | S | 0..1 | string | Version of the system - if relevant
code | S | 0..1 | code | Symbol in syntax defined by the system
display | S | 0..1 | string | Representation defined by the system
agent | S | 1..* | BackboneElement | Gibt den verantwortlichen Leistungserbringer, die Leistungserbringerinstitution oder das System an, das die Änderung im FHIR Data Service der ePA durchgeführt hat.
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 FHIR Data Service der ePA fachlich verantwortet sein muss. Binding: EPA Provenance Participant Type ValueSet (required)
coding | S | 1..1 | Coding | Code defined by a terminology system
system | S | 1..1 | uri | Identity of the terminology system
code | S | 1..1 | code | Symbol in syntax defined by the system
display | S | 0..1 | string | Representation defined by the system
who | S | 1..1 | Reference(Practitioner | Organization | PractitionerRole) | Who participated
reference | S | 0..1 | string | Literal reference, Relative, internal or absolute URL
identifier | S | 0..1 | IdentifierTelematikId, IdentifierEPAFHIRDataService | Logical reference, when literal reference is not known
system | S | 0..1 | uri | The namespace for the identifier value
value | S | 0..1 | string | The value that is unique
display | S | 0..1 | string | Text alternative for the resource
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Provenance.activity | Base | required | EPA Activity Provenance Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.type | Base | required | EPA Provenance Participant Type ValueSet | 📦1.2.0 | This IG

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen der ePA FHIR Data Services. Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | 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
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
target | S Σ C | 1..* | Reference(Resource) | Gibt die Ressource(n) an, die im Rahmen der Änderung innerhalb der ePA erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (ResourceType/id/_history/vid) verwendet werden. Constraints: ref-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (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
display | 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.
recorded | S Σ | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser Provenance-Eintrag im FHIR Data Service erstellt und persistiert wurde.
policy |  | 0..* | uri | Policy or plan the activity was defined by
location | C | 0..1 | Reference(Location) | Where the activity occurred, if relevant Constraints: ref-1
reason |  | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place.
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zu der Änderung im FHIR Data Service der ePA geführt hat. Beispiel CREATE | UPDATE Binding: EPA Activity Provenance Type ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ | 0..1 | uri | Identity of the terminology system
version | S Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 0..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
agent | S | 1..* | BackboneElement | Gibt den verantwortlichen Leistungserbringer, die Leistungserbringerinstitution oder das System an, das die Änderung im FHIR Data Service der ePA durchgeführt hat.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 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 FHIR Data Service der ePA fachlich verantwortet sein muss. Binding: EPA Provenance Participant Type ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 1..1 | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 1..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
role |  | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
who | S Σ C | 1..1 | Reference(Practitioner | Organization | PractitionerRole) | Who participated Constraints: ref-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | S Σ | 0..1 | IdentifierTelematikId, IdentifierEPAFHIRDataService | Logical reference, when literal reference is not known
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 Σ | 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 Constraints: per-1
assigner | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) Constraints: ref-1
display | 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 Constraints: ref-1
entity |  | 0..* | BackboneElement | An entity used in this activity
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
role | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
what | Σ C | 1..1 | Reference(Resource) | Identity of entity Constraints: ref-1
agent |  | 0..* | See agent (Provenance) | Entity is attributed to this agent
signature |  | 0..* | Signature | Signature on target
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Provenance.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Provenance.target.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
Provenance.reason | Base | extensible | PurposeOfUse | 📦3.1.0 | THO v7.1
Provenance.activity | Base | required | EPA Activity Provenance Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.type | Base | required | EPA Provenance Participant Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.role | Base | example | SecurityRoleType | 📍4.0.1 | FHIR Std.
Provenance.agent.who.​type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
Provenance.agent.who.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Provenance.agent.who.​identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Provenance.entity.role | Base | required | ProvenanceEntityRole | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Provenance | A resource should have narrative for robust management | `text.`div`.exists()`
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 | Provenance.agent.who.identifier.period | If present, start SHALL have a lower value than end | `start.hasValue().not() or end.hasValue().not() or (start <= end)`
ref-1 | error | Provenance.target, Provenance.location, Provenance.agent.who, Provenance.agent.who.identifier.assigner, Provenance.agent.onBehalfOf, Provenance.entity.what | 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'))`

This structure is derived from Provenance

Summary

Mandatory: 5 elements
Must-Support: 23 elements

Structures

This structure refers to these other structures:

- Identifier-Profil für die Telematik-ID (http://fhir.de/StructureDefinition/identifier-telematik-id)
- Identifikator-Profil für ein FHIR Data Service der ePA (https://gematik.de/fhir/epa/StructureDefinition/identifier-epa-fhir-data-service)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen der ePA FHIR Data Services. Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
target | S Σ C | 1..* | Reference(Resource) | Gibt die Ressource(n) an, die im Rahmen der Änderung innerhalb der ePA erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (ResourceType/id/_history/vid) verwendet werden. Constraints: ref-1
reference | S Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
display | 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.
recorded | S Σ | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser Provenance-Eintrag im FHIR Data Service erstellt und persistiert wurde.
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zu der Änderung im FHIR Data Service der ePA geführt hat. Beispiel CREATE | UPDATE Binding: EPA Activity Provenance Type ValueSet (required)
coding | S Σ | 0..* | Coding | Code defined by a terminology system
system | S Σ | 0..1 | uri | Identity of the terminology system
version | S Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 0..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
agent | S | 1..* | BackboneElement | Gibt den verantwortlichen Leistungserbringer, die Leistungserbringerinstitution oder das System an, das die Änderung im FHIR Data Service der ePA durchgeführt hat.
modifierExtension | ?!Σ | 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 FHIR Data Service der ePA fachlich verantwortet sein muss. Binding: EPA Provenance Participant Type ValueSet (required)
coding | S Σ | 1..1 | Coding | Code defined by a terminology system
system | S Σ | 1..1 | uri | Identity of the terminology system
code | S Σ | 1..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
who | S Σ C | 1..1 | Reference(Practitioner | Organization | PractitionerRole) | Who participated Constraints: ref-1
reference | S Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
identifier | S Σ | 0..1 | IdentifierTelematikId, IdentifierEPAFHIRDataService | Logical reference, when literal reference is not known
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
system | 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
display | S Σ | 0..1 | string | Text alternative for the resource
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Provenance.activity | Base | required | EPA Activity Provenance Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.type | Base | required | EPA Provenance Participant Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.who.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Provenance | A resource should have narrative for robust management | `text.`div`.exists()`
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()`
ref-1 | error | Provenance.target, Provenance.agent.who | 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'))`

Differential View

This structure is derived from Provenance

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen der ePA FHIR Data Services.
target | S | 1..* | Reference(Resource) | Gibt die Ressource(n) an, die im Rahmen der Änderung innerhalb der ePA erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (ResourceType/id/_history/vid) verwendet werden.
reference | S | 0..1 | string | Literal reference, Relative, internal or absolute URL
display | 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.
recorded | S | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser Provenance-Eintrag im FHIR Data Service erstellt und persistiert wurde.
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zu der Änderung im FHIR Data Service der ePA geführt hat. Beispiel CREATE | UPDATE Binding: EPA Activity Provenance Type ValueSet (required)
coding | S | 0..* | Coding | Code defined by a terminology system
system | S | 0..1 | uri | Identity of the terminology system
version | S | 0..1 | string | Version of the system - if relevant
code | S | 0..1 | code | Symbol in syntax defined by the system
display | S | 0..1 | string | Representation defined by the system
agent | S | 1..* | BackboneElement | Gibt den verantwortlichen Leistungserbringer, die Leistungserbringerinstitution oder das System an, das die Änderung im FHIR Data Service der ePA durchgeführt hat.
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 FHIR Data Service der ePA fachlich verantwortet sein muss. Binding: EPA Provenance Participant Type ValueSet (required)
coding | S | 1..1 | Coding | Code defined by a terminology system
system | S | 1..1 | uri | Identity of the terminology system
code | S | 1..1 | code | Symbol in syntax defined by the system
display | S | 0..1 | string | Representation defined by the system
who | S | 1..1 | Reference(Practitioner | Organization | PractitionerRole) | Who participated
reference | S | 0..1 | string | Literal reference, Relative, internal or absolute URL
identifier | S | 0..1 | IdentifierTelematikId, IdentifierEPAFHIRDataService | Logical reference, when literal reference is not known
system | S | 0..1 | uri | The namespace for the identifier value
value | S | 0..1 | string | The value that is unique
display | S | 0..1 | string | Text alternative for the resource
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Provenance.activity | Base | required | EPA Activity Provenance Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.type | Base | required | EPA Provenance Participant Type ValueSet | 📦1.2.0 | This IG

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Dieses Profil beschreibt die Verwendung der FHIR-Resource Provenance zur Dokumentation von Änderungen und Aktivitäten im Rahmen der ePA FHIR Data Services. Constraints: dom-2, dom-3, dom-4, dom-5, dom-6
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | 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
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url
target | S Σ C | 1..* | Reference(Resource) | Gibt die Ressource(n) an, die im Rahmen der Änderung innerhalb der ePA erstellt oder aktualisiert wurden. Es muss eine versionierte Referenz (ResourceType/id/_history/vid) verwendet werden. Constraints: ref-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (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
display | 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.
recorded | S Σ | 1..1 | instant | Gibt den technischen Zeitpunkt an, zu dem dieser Provenance-Eintrag im FHIR Data Service erstellt und persistiert wurde.
policy |  | 0..* | uri | Policy or plan the activity was defined by
location | C | 0..1 | Reference(Location) | Where the activity occurred, if relevant Constraints: ref-1
reason |  | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place.
activity | S | 1..1 | CodeableConcept | Beschreibt die Art der Aktivität, die zu der Änderung im FHIR Data Service der ePA geführt hat. Beispiel CREATE | UPDATE Binding: EPA Activity Provenance Type ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 0..* | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ | 0..1 | uri | Identity of the terminology system
version | S Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 0..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
agent | S | 1..* | BackboneElement | Gibt den verantwortlichen Leistungserbringer, die Leistungserbringerinstitution oder das System an, das die Änderung im FHIR Data Service der ePA durchgeführt hat.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 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 FHIR Data Service der ePA fachlich verantwortet sein muss. Binding: EPA Provenance Participant Type ValueSet (required)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | S Σ | 1..1 | Coding | Code defined by a terminology system
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ | 1..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | S Σ | 1..1 | code | Symbol in syntax defined by the system
display | S Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
role |  | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
who | S Σ C | 1..1 | Reference(Practitioner | Organization | PractitionerRole) | Who participated Constraints: ref-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | S Σ | 0..1 | IdentifierTelematikId, IdentifierEPAFHIRDataService | Logical reference, when literal reference is not known
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 Σ | 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 Constraints: per-1
assigner | Σ C | 0..1 | Reference(Organization) | Organization that issued id (may be just text) Constraints: ref-1
display | 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 Constraints: ref-1
entity |  | 0..* | BackboneElement | An entity used in this activity
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
role | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
what | Σ C | 1..1 | Reference(Resource) | Identity of entity Constraints: ref-1
agent |  | 0..* | See agent (Provenance) | Entity is attributed to this agent
signature |  | 0..* | Signature | Signature on target
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Provenance.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Provenance.target.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
Provenance.reason | Base | extensible | PurposeOfUse | 📦3.1.0 | THO v7.1
Provenance.activity | Base | required | EPA Activity Provenance Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.type | Base | required | EPA Provenance Participant Type ValueSet | 📦1.2.0 | This IG
Provenance.agent.role | Base | example | SecurityRoleType | 📍4.0.1 | FHIR Std.
Provenance.agent.who.​type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
Provenance.agent.who.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Provenance.agent.who.​identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Provenance.entity.role | Base | required | ProvenanceEntityRole | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Provenance | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Provenance | A resource should have narrative for robust management | `text.`div`.exists()`
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 | Provenance.agent.who.identifier.period | If present, start SHALL have a lower value than end | `start.hasValue().not() or end.hasValue().not() or (start <= end)`
ref-1 | error | Provenance.target, Provenance.location, Provenance.agent.who, Provenance.agent.who.identifier.assigner, Provenance.agent.onBehalfOf, Provenance.entity.what | 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'))`

This structure is derived from Provenance

Summary

Mandatory: 5 elements
Must-Support: 23 elements

Structures

This structure refers to these other structures:

- Identifier-Profil für die Telematik-ID (http://fhir.de/StructureDefinition/identifier-telematik-id)
- Identifikator-Profil für ein FHIR Data Service der ePA (https://gematik.de/fhir/epa/StructureDefinition/identifier-epa-fhir-data-service)

Other representations of profile: CSV, Excel, Schematron