Health Connect Australia Provider Directory FHIR Implementation Guide, published by Australian Digital Health Agency. This guide is not an authorized publication; it is the continuous build for version 0.1.0-preview built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/AuDigitalHealth/HealthConnect/ and changes regularly. See the Directory of published versions
| Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-provenance | Version: 0.1.0-preview | |||
| Standards status: Draft | Computable Name: HCProvenance | |||
Usage:Jurisdiction: Australia |
||||
Copyright/Legal: Copyright © 2025 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. |
||||
This profile of Provenance is used to record an activity performed by the HC service (conditionally on behalf of a participating organisation when the target element references a HC Organization resource) whereby specific data elements of a HC Organization or HC Practitioner resource have been initially retrieved, updated or verified from an external system of record.
Note: All elements defined within this profile are expected to be supported by implementing systems unless explicitly stated otherwise. The following sections provide additional guidance and exceptions for specific elements.
No data is entered directly into Health Connect; all directory content is sourced from authoritative systems including PCA, HI-Service, and NHSD.
Extensions introduced in this profile:
The guidance below is organised by system role to clarify the different responsibilities for systems that create provenance records versus those that consume them.
The HC Provenance profile supports two distinct patterns of use:
Resource-level provenance tracks changes to an entire FHIR resource. In this pattern:
target element references the complete resource that was created, updated, or verified (constrained to HC profile types: HCOrganization, HCPractitioner, etc.)activity element categorizes the type of operation using codes from the Provenance Activity Type value set (CREATE, UPDATE, DELETE, VERIFY, etc.)recorded element provides a timestamp indicating when the provenance event was recorded by the source systemagent.who element identifies the actor (organization, practitioner, or system) responsible for performing the activityentity element, when present, references source records or systems that provided the data, with entity.role typically set to "source"Atomic element-level provenance tracks changes to specific data elements within a resource. This more granular approach uses the Target path extension (introduced in this profile) to enable precise tracking:
target element to reference the resource containing the changed elementstarget.extension[targetPath] to specify exactly which data elements were affected using FHIRPath expressions, enabling atomic-level trackingactivity, recorded, agent.who, and entity elements as resource-level provenanceThe atomic element-level approach is particularly valuable in Health Connect's context where directory data may be selectively updated from different authoritative sources. For example, a practitioner's contact details might be updated from one source while their qualifications are verified from another, with separate provenance records documenting each specific change.
target element MUST reference the HC FHIR resource that is the subject of the provenance activity (for example HCPractitioner or HCOrganization).agent.who element MUST be populated to indicate the actor performing the activity (for example HCOrganization, HCPractitioner or HCPractitionerRole). When the source system records an action performed on behalf of a participating organisation, use agent.who = Reference(HCOrganization).activity element SHOULD be populated with codes from http://terminology.hl7.org/CodeSystem/v3-DataOperation (for example #UPDATE, #CREATE, #DELETE). Use the most specific operation that matches the action taken.recorded element of the Provenance resource is populated with the date and time the update occurred.target.extension[targetPath].valueString is to hold a FHIRPath expression that identifies the exact data element within the target resource that was changed. It MUST contain a valid FHIRPath expression. Examples in this repository illustrate the expected format, for example:
name[0].family (tracks the practitioner's primary family name)telecom.where(system='phone').value (tracks the practitioner's phone number)target.extension[targetPath].valueString to identify the exact data elements that were changed.target.extension[targetPath].valueString = "telecom.where(system='phone').value", the consuming system knows that the practitioner's phone number was updated, and can use this path to highlight the specific changed field in an audit report.This implementation supports the following _include parameters when searching for Provenance resources:
_include=Provenance:target - Include the target resources (Organization, Location, HealthcareService, PractitionerRole, Practitioner, or Endpoint) that this Provenance resource tracksGET /Provenance?agent.who=Organization/12345&_include=Provenance:target
This query searches for all provenance records where Organization/12345 was the agent performing the activity, and includes the actual resources (practitioners, locations, etc.) whose changes are documented by these provenance records.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath |
![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath" | |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Example Example: telecom.where(system='phone').value | |
![]() ![]() |
SΣ | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() |
S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible) |
![]() ![]() |
1..* | BackboneElement | Actor involved | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated |
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Identity of entity |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.activity | Base | extensible | Provenance activity type | 📦4.0.1 | FHIR Std. |
| Provenance.entity.role | Base | required | ProvenanceEntityRole | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from Provenance
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record | |
![]() ![]() |
S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Example Example: telecom.where(system='phone').value | |
![]() ![]() |
S | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() |
S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible) |
![]() ![]() |
||||
![]() ![]() ![]() |
S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated |
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
S | 1..1 | code | derivation | revision | quotation | source | removal Required Pattern: source |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.activity | Base | extensible | Provenance activity type | 📦4.0.1 | FHIR Std. |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath" | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Example Example: telecom.where(system='phone').value | |||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
Σ | 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). | ||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() |
0..1 | When the activity occurred | ||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
SΣ | 1..1 | instant | When the activity was recorded / updated | ||||
![]() ![]() |
0..* | uri | Policy or plan the activity was defined by | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
![]() ![]() |
0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place. | |||||
![]() ![]() |
S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible) | ||||
![]() ![]() |
1..* | BackboneElement | Actor involved | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated | ||||
![]() ![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Identity of entity | ||||
![]() ![]() ![]() |
0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
![]() ![]() |
0..* | Signature | Signature on target | |||||
Documentation for this format | ||||||||
| 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.0 |
| Provenance.activity | Base | extensible | Provenance activity type | 📦4.0.1 | FHIR Std. |
| Provenance.agent.type | Base | extensible | Provenance participant type | 📍4.0.1 | FHIR Std. |
| Provenance.agent.role | Base | example | SecurityRoleType | 📍4.0.1 | FHIR Std. |
| Provenance.entity.role | Base | required | ProvenanceEntityRole | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from Provenance
Summary
Must-Support: 7 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath |
![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath" | |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Example Example: telecom.where(system='phone').value | |
![]() ![]() |
SΣ | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() |
S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible) |
![]() ![]() |
1..* | BackboneElement | Actor involved | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated |
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Identity of entity |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.activity | Base | extensible | Provenance activity type | 📦4.0.1 | FHIR Std. |
| Provenance.entity.role | Base | required | ProvenanceEntityRole | 📍4.0.1 | FHIR Std. |
| 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()
|
Differential View
This structure is derived from Provenance
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record | |
![]() ![]() |
S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific) |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Example Example: telecom.where(system='phone').value | |
![]() ![]() |
S | 1..1 | instant | When the activity was recorded / updated |
![]() ![]() |
S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible) |
![]() ![]() |
||||
![]() ![]() ![]() |
S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated |
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
S | 1..1 | code | derivation | revision | quotation | source | removal Required Pattern: source |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.activity | Base | extensible | Provenance activity type | 📦4.0.1 | FHIR Std. |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath" | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension Example Example: telecom.where(system='phone').value | |||||
![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() |
Σ | 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). | ||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() |
0..1 | When the activity occurred | ||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
SΣ | 1..1 | instant | When the activity was recorded / updated | ||||
![]() ![]() |
0..* | uri | Policy or plan the activity was defined by | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
![]() ![]() |
0..* | CodeableConcept | Reason the activity is occurring Binding: PurposeOfUse (extensible): The reason the activity took place. | |||||
![]() ![]() |
S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible) | ||||
![]() ![]() |
1..* | BackboneElement | Actor involved | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | How the agent participated Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated | ||||
![]() ![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | Who the agent is representing | |||||
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Identity of entity | ||||
![]() ![]() ![]() |
0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
![]() ![]() |
0..* | Signature | Signature on target | |||||
Documentation for this format | ||||||||
| 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.0 |
| Provenance.activity | Base | extensible | Provenance activity type | 📦4.0.1 | FHIR Std. |
| Provenance.agent.type | Base | extensible | Provenance participant type | 📍4.0.1 | FHIR Std. |
| Provenance.agent.role | Base | example | SecurityRoleType | 📍4.0.1 | FHIR Std. |
| Provenance.entity.role | Base | required | ProvenanceEntityRole | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from Provenance
Summary
Must-Support: 7 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron