DK MedCom Messaging
2.0.0 - Build CI
This page is part of the DK MedCom Messaging (v2.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 2.1.0. For a full list of available versions, see the Directory of published versions
Official URL: http://medcomfhir.dk/ig/messaging/StructureDefinition/medcom-messaging-provenance | Version: 2.0.0 | |||
Active as of 2024-02-15 | Computable Name: MedComMessagingProvenance |
Provenance information about the messages preceeding the current message
This profile is used as the Provenance resource for MedCom FHIR messages. The Provenance resource tracks information about the activity what was created, revised, or deleted, while referencing the current message and previous messages if such exist. This is why the Provenance resource is valuable in MedCom messaging.
MedComMessagingProvenance describes the activity and history of a message. The element Provenance.agent.who contains information about the organisation that was involved in the activity, the element Provenance.target references the MessageHeader in the current message, and the element Provenance.what references the event that initiated a message e.g., a previous message.
The figure below illustrates the references from the Provenance resource.
Please refer to the tab “Snapshot Table(Must support)” below for the definition of the required content of a MedComMessagingProvenance.
In MedCom messaging, the Provenance.target shall always be a reference to a MedComMessagingMessageHeader or an inherited of MedComMessagingMessageHeader. The target references the resources on which the activity has occurred. For instances if Provenance.activity is ‘new-message’, it describes that the message referenced from the Messageheader is a new message.
The activitycodes used to describe the activity of the MedCom message may differ between standard e.g. HospitalNotification and CareCommunication. Due to the different requirements of activities in a standard, it should be expected that there will be different invariants pointing at specific ValueSets for the given standard.
Provenance.agent describes the actor who is responsible for the activity that took place, by referencing the organisation responsible for the activity. The referenced organisation shall be an MedComMessagingOrganization.
MedComMessagingProvenance handles the message history in the Provenacne.entity element. This element shall be included if the message is a response to a previous message. In this case the element Provenance.entity.role is used to describe how the entity is used in the message. Provenance.entity.role shall be:
When a message is a response to a previous message, the previous message shall be referenced from the element Provenance.entity.what. The reference depends on the type of the previous message, which can be a MedCom FHIR message or a EDIFACT/OIOXML message. In the latter case, the reference shall be [lokationsnummer]#[brevid].
In MedComMessagingProvenance there are two timestamps, that represents the date and time the message was sent but in two different ways. Provenance.occuredDateTime is a human readable date and time and Provenance.recorded is a machine readable date and time.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Provenance
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
text | S | 0..1 | Narrative | Text summary of the resource, for human interpretation |
target | S | 1..1 | Reference(MedComMessagingMessageHeader) | Targets the MedComMessagingMessageHeader from the current message. |
Slices for occurred[x] | 1..1 | dateTime | When the activity occurred Slice: Unordered, Open by type:$this | |
occurred[x]:occurredDateTime | S | 1..1 | dateTime | A human readable date and time for when the message is sent. Shall include a date, a time and timezone. |
recorded | S | 1..1 | instant | A system readable date and time for when the message is sent. |
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes (required) |
coding | S | 1..* | Coding | Code defined by a terminology system |
code | S | 1..1 | code | Symbol in syntax defined by the system |
agent | S | 1..* | BackboneElement | The actors involved in the activity taking place |
who | S | 1..1 | Reference(MedComMessagingOrganization) {b} | A reference to the actor of the activity, which shall be a MedComMessagingOrganization. If more actors has been involved, the element must be sliced. |
entity | S | 0..* | BackboneElement | An entity used in this activity |
role | S | 1..1 | code | When a message is a response, a correction or a forwarding message the role shall be 'revision' and when the message is a cancellation the role shall be 'removal'. |
what | S | 1..1 | Reference(Resource) | A reference to the previous message. If the previous message is a FHIR message, the reference element must be used and if the previous message is an EDIFACT or OIOXML, the identifier element must be used. |
reference | S | 0..1 | string | If the previous message is a FHIR message, this element must hold the MessageHeader.id from previous message. |
identifier | S | 0..1 | Identifier | If previous message is EDIFACT or OIOXML, this element must be expressed as [lokationsnummer]#[brevid] from the EDIFACT or OIOXML message. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Provenance.activity | required | http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodeshttp://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
text | S | 0..1 | Narrative | Text summary of the resource, for human interpretation |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | SΣ | 1..1 | Reference(MedComMessagingMessageHeader) | Targets the MedComMessagingMessageHeader from the current message. |
Slices for occurred[x] | 1..1 | dateTime | When the activity occurred Slice: Unordered, Closed by type:$this | |
occurred[x]:occurredDateTime | S | 1..1 | dateTime | A human readable date and time for when the message is sent. Shall include a date, a time and timezone. |
recorded | SΣ | 1..1 | instant | A system readable date and time for when the message is sent. |
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes (required) |
coding | SΣ | 1..* | Coding | Code defined by a terminology system |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
agent | S | 1..* | BackboneElement | The actors involved in the activity taking place |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
who | SΣ | 1..1 | Reference(MedComMessagingOrganization) {b} | A reference to the actor of the activity, which shall be a MedComMessagingOrganization. If more actors has been involved, the element must be sliced. |
entity | S | 0..* | BackboneElement | An entity used in this activity |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | SΣ | 1..1 | code | When a message is a response, a correction or a forwarding message the role shall be 'revision' and when the message is a cancellation the role shall be 'removal'. Binding: ProvenanceEntityRole (required): How an entity was used in an activity. |
what | SΣ | 1..1 | Reference(Resource) | A reference to the previous message. If the previous message is a FHIR message, the reference element must be used and if the previous message is an EDIFACT or OIOXML, the identifier element must be used. |
reference | SΣC | 0..1 | string | If the previous message is a FHIR message, this element must hold the MessageHeader.id from previous message. |
identifier | SΣ | 0..1 | Identifier | If previous message is EDIFACT or OIOXML, this element must be expressed as [lokationsnummer]#[brevid] from the EDIFACT or OIOXML message. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Provenance.activity | required | http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodeshttp://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes | |
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | 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 | **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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |||||
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.
| |||||
text | S | 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 | SΣ | 1..1 | Reference(MedComMessagingMessageHeader) | Targets the MedComMessagingMessageHeader from the current message. | ||||
Slices for occurred[x] | 1..1 | dateTime | When the activity occurred Slice: Unordered, Closed by type:$this | |||||
occurred[x]:occurredDateTime | S | 1..1 | dateTime | A human readable date and time for when the message is sent. Shall include a date, a time and timezone. | ||||
recorded | SΣ | 1..1 | instant | A system readable date and time for when the message is sent. | ||||
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 | S | 1..1 | CodeableConcept | Activity that occurred Binding: http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes (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..* | 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 | Σ | 0..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 | Σ | 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 | The actors involved in the activity taking place | ||||
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 | SΣ | 1..1 | Reference(MedComMessagingOrganization) {b} | A reference to the actor of the activity, which shall be a MedComMessagingOrganization. If more actors has been involved, the element must be sliced. | ||||
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
entity | S | 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 | SΣ | 1..1 | code | When a message is a response, a correction or a forwarding message the role shall be 'revision' and when the message is a cancellation the role shall be 'removal'. Binding: ProvenanceEntityRole (required): How an entity was used in an activity. | ||||
what | SΣ | 1..1 | Reference(Resource) | A reference to the previous message. If the previous message is a FHIR message, the reference element must be used and if the previous message is an EDIFACT or OIOXML, the identifier element must be used. | ||||
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 | If the previous message is a FHIR message, this element must hold the MessageHeader.id from previous message. | ||||
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 | Identifier | If previous message is EDIFACT or OIOXML, this element must be expressed as [lokationsnummer]#[brevid] from the EDIFACT or OIOXML message. | ||||
display | Σ | 0..1 | string | Text alternative for the resource | ||||
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
signature | 0..* | Signature | Signature on target | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Provenance.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Provenance.reason | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse | ||||
Provenance.activity | required | http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodeshttp://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes | ||||
Provenance.agent.type | extensible | ProvenanceParticipantTypehttp://hl7.org/fhir/ValueSet/provenance-agent-type from the FHIR Standard | ||||
Provenance.agent.role | example | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 from the FHIR Standard | ||||
Provenance.entity.what.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types |
Id | Grade | Path(s) | 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 | **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() |
This structure is derived from Provenance
Summary
Mandatory: 5 elements
Must-Support: 14 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
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 | |
text | S | 0..1 | Narrative | Text summary of the resource, for human interpretation |
target | S | 1..1 | Reference(MedComMessagingMessageHeader) | Targets the MedComMessagingMessageHeader from the current message. |
Slices for occurred[x] | 1..1 | dateTime | When the activity occurred Slice: Unordered, Open by type:$this | |
occurred[x]:occurredDateTime | S | 1..1 | dateTime | A human readable date and time for when the message is sent. Shall include a date, a time and timezone. |
recorded | S | 1..1 | instant | A system readable date and time for when the message is sent. |
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes (required) |
coding | S | 1..* | Coding | Code defined by a terminology system |
code | S | 1..1 | code | Symbol in syntax defined by the system |
agent | S | 1..* | BackboneElement | The actors involved in the activity taking place |
who | S | 1..1 | Reference(MedComMessagingOrganization) {b} | A reference to the actor of the activity, which shall be a MedComMessagingOrganization. If more actors has been involved, the element must be sliced. |
entity | S | 0..* | BackboneElement | An entity used in this activity |
role | S | 1..1 | code | When a message is a response, a correction or a forwarding message the role shall be 'revision' and when the message is a cancellation the role shall be 'removal'. |
what | S | 1..1 | Reference(Resource) | A reference to the previous message. If the previous message is a FHIR message, the reference element must be used and if the previous message is an EDIFACT or OIOXML, the identifier element must be used. |
reference | S | 0..1 | string | If the previous message is a FHIR message, this element must hold the MessageHeader.id from previous message. |
identifier | S | 0..1 | Identifier | If previous message is EDIFACT or OIOXML, this element must be expressed as [lokationsnummer]#[brevid] from the EDIFACT or OIOXML message. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Provenance.activity | required | http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodeshttp://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
text | S | 0..1 | Narrative | Text summary of the resource, for human interpretation |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | SΣ | 1..1 | Reference(MedComMessagingMessageHeader) | Targets the MedComMessagingMessageHeader from the current message. |
Slices for occurred[x] | 1..1 | dateTime | When the activity occurred Slice: Unordered, Closed by type:$this | |
occurred[x]:occurredDateTime | S | 1..1 | dateTime | A human readable date and time for when the message is sent. Shall include a date, a time and timezone. |
recorded | SΣ | 1..1 | instant | A system readable date and time for when the message is sent. |
activity | S | 1..1 | CodeableConcept | Activity that occurred Binding: http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes (required) |
coding | SΣ | 1..* | Coding | Code defined by a terminology system |
code | SΣ | 1..1 | code | Symbol in syntax defined by the system |
agent | S | 1..* | BackboneElement | The actors involved in the activity taking place |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
who | SΣ | 1..1 | Reference(MedComMessagingOrganization) {b} | A reference to the actor of the activity, which shall be a MedComMessagingOrganization. If more actors has been involved, the element must be sliced. |
entity | S | 0..* | BackboneElement | An entity used in this activity |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | SΣ | 1..1 | code | When a message is a response, a correction or a forwarding message the role shall be 'revision' and when the message is a cancellation the role shall be 'removal'. Binding: ProvenanceEntityRole (required): How an entity was used in an activity. |
what | SΣ | 1..1 | Reference(Resource) | A reference to the previous message. If the previous message is a FHIR message, the reference element must be used and if the previous message is an EDIFACT or OIOXML, the identifier element must be used. |
reference | SΣC | 0..1 | string | If the previous message is a FHIR message, this element must hold the MessageHeader.id from previous message. |
identifier | SΣ | 0..1 | Identifier | If previous message is EDIFACT or OIOXML, this element must be expressed as [lokationsnummer]#[brevid] from the EDIFACT or OIOXML message. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Provenance.activity | required | http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodeshttp://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes | |
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | 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 | **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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Provenance | 0..* | Provenance | Who, What, When for a set of resources | |||||
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.
| |||||
text | S | 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 | SΣ | 1..1 | Reference(MedComMessagingMessageHeader) | Targets the MedComMessagingMessageHeader from the current message. | ||||
Slices for occurred[x] | 1..1 | dateTime | When the activity occurred Slice: Unordered, Closed by type:$this | |||||
occurred[x]:occurredDateTime | S | 1..1 | dateTime | A human readable date and time for when the message is sent. Shall include a date, a time and timezone. | ||||
recorded | SΣ | 1..1 | instant | A system readable date and time for when the message is sent. | ||||
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 | S | 1..1 | CodeableConcept | Activity that occurred Binding: http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes (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..* | 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 | Σ | 0..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 | Σ | 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 | The actors involved in the activity taking place | ||||
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 | SΣ | 1..1 | Reference(MedComMessagingOrganization) {b} | A reference to the actor of the activity, which shall be a MedComMessagingOrganization. If more actors has been involved, the element must be sliced. | ||||
onBehalfOf | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
entity | S | 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 | SΣ | 1..1 | code | When a message is a response, a correction or a forwarding message the role shall be 'revision' and when the message is a cancellation the role shall be 'removal'. Binding: ProvenanceEntityRole (required): How an entity was used in an activity. | ||||
what | SΣ | 1..1 | Reference(Resource) | A reference to the previous message. If the previous message is a FHIR message, the reference element must be used and if the previous message is an EDIFACT or OIOXML, the identifier element must be used. | ||||
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 | If the previous message is a FHIR message, this element must hold the MessageHeader.id from previous message. | ||||
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 | Identifier | If previous message is EDIFACT or OIOXML, this element must be expressed as [lokationsnummer]#[brevid] from the EDIFACT or OIOXML message. | ||||
display | Σ | 0..1 | string | Text alternative for the resource | ||||
agent | 0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
signature | 0..* | Signature | Signature on target | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Provenance.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Provenance.reason | extensible | PurposeOfUsehttp://terminology.hl7.org/ValueSet/v3-PurposeOfUse | ||||
Provenance.activity | required | http://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodeshttp://medcomfhir.dk/fhir/dk-medcom-terminology/ValueSet/medcom-messaging-activityCodes | ||||
Provenance.agent.type | extensible | ProvenanceParticipantTypehttp://hl7.org/fhir/ValueSet/provenance-agent-type from the FHIR Standard | ||||
Provenance.agent.role | example | SecurityRoleTypehttp://hl7.org/fhir/ValueSet/security-role-type from the FHIR Standard | ||||
Provenance.entity.role | required | ProvenanceEntityRolehttp://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1 from the FHIR Standard | ||||
Provenance.entity.what.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types |
Id | Grade | Path(s) | 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 | **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() |
This structure is derived from Provenance
Summary
Mandatory: 5 elements
Must-Support: 14 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron