eHealth Platform Federal Core Profiles
2.0.0 - Released
This page is part of the HL7 Belgium FHIR Implementation Guide - Core profiles (v2.0.0: Trial Use Draft) based on FHIR R4. The current version which supercedes this version is 2.0.1. For a full list of available versions, see the Directory of published versions
Official URL: https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-provenance | Version: 2.0.0 | |||
Active as of 2021-02-12 | Responsible: eHealth Platform | Realm: BE | Computable Name: BeProvenance |
Belgian federal profile for a provenance. Note this profile does not introduce any changes from the base profile but has been created to mark its importance, specifically when FHIR is used in a non-document approach. General use case remarks: ‘Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource.’ (cfr. the HL7 base specifications) According to the FHIR specifications, the provenance resource SHALL only be provided when no other resource already plays this role: for a Patient it SHOULD be its managing organization, provenance of an Observation SHOULD be its performer, provenance of an AllergyIntolerance SHOULD be its recorder. ‘Many other FHIR resources contain some elements that represent information about how the resource was obtained, and therefore they overlap with the functionality of the Provenance.’ Special remarks for KMEHR users: The FHIR Provenance resource in general refers to an entity that had something to do with the creation or updating of something else. In a KMEHR context, this is somewhat different – as it is ‘XML document’ based, each KMEHR message has an ‘author’ element that is responsible.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Provenance
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
id | Σ | 0..1 | string | 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) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
occurred[x] | 0..1 | When the activity occurred | ||
occurredPeriod | Period | |||
occurredDateTime | dateTime | |||
recorded | Σ | 1..1 | instant | When the activity was recorded / updated |
policy | 0..* | uri | Policy or plan the activity was defined by | |
location | 0..1 | Reference(Location) | Where the activity occurred, if relevant | |
reason | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place. | |
activity | 0..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (extensible): The activity that took place. | |
agent | 1..* | BackboneElement | Actor involved | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 0..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. |
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |
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 | |
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 | Σ | 1..1 | Reference(Resource) | Identity of entity |
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |
signature | 0..* | Signature | Signature on target | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
Documentation for this format |
This structure is derived from Provenance
Differential View
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
id | Σ | 0..1 | string | 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) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
occurred[x] | 0..1 | When the activity occurred | ||
occurredPeriod | Period | |||
occurredDateTime | dateTime | |||
recorded | Σ | 1..1 | instant | When the activity was recorded / updated |
policy | 0..* | uri | Policy or plan the activity was defined by | |
location | 0..1 | Reference(Location) | Where the activity occurred, if relevant | |
reason | 0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place. | |
activity | 0..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (extensible): The activity that took place. | |
agent | 1..* | BackboneElement | Actor involved | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 0..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. |
role | 0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |
who | Σ | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who participated |
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |
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 | |
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 | Σ | 1..1 | Reference(Resource) | Identity of entity |
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |
signature | 0..* | Signature | Signature on target | |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Provenance.language | preferred | CommonLanguages Max Binding: AllLanguages |
Provenance.reason | extensible | PurposeOfUse |
Provenance.activity | extensible | ProvenanceActivityType |
Provenance.agent.type | extensible | ProvenanceParticipantType |
Provenance.agent.role | example | SecurityRoleType |
Provenance.entity.role | required | ProvenanceEntityRole |
Id | Grade | Path | Details | Requirements |
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 | Provenance.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Provenance.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Provenance.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Provenance.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Provenance.target | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.occurred[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.recorded | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.policy | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.reason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.activity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.agent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.agent.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Provenance.agent.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Provenance.agent.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Provenance.agent.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Provenance.agent.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.agent.role | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.agent.who | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.agent.onBehalfOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.entity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.entity.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Provenance.entity.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Provenance.entity.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Provenance.entity.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Provenance.entity.role | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.entity.what | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.entity.agent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Provenance.signature | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |