# Health Connect Australia Provider Directory FHIR Implementation Guide

0.1.0-preview - Preview

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/steveswinsburg/HealthConnect/ and changes regularly. See the Directory of published versions

## Resource Profile: HC Provenance

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

Extensions introduced in this profile:

- Provenance.target: Target path

### Usage notes

The guidance below is organised by system role to clarify the different responsibilities for systems that create provenance records versus those that consume them.

#### Provenance resource utilisation patterns

The HC Provenance profile supports two distinct patterns of use:

Resource-level provenance tracks changes to an entire FHIR resource. In this pattern:

- The `target` element references the complete resource that was created, updated, or verified (constrained to HC profile types: HCOrganization, HCPractitioner, etc.)
- The `activity` element categorizes the type of operation using codes from the Provenance Activity Type value set (CREATE, UPDATE, DELETE, VERIFY, etc.)
- The `recorded` element provides a timestamp indicating when the provenance event was recorded by the source system
- The `agent.who` element identifies the actor (organization, practitioner, or system) responsible for performing the activity
- The `entity` 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:

- The `target` element to reference the resource containing the changed elements
- The `target.extension[targetPath]` to specify exactly which data elements were affected using FHIRPath expressions, enabling atomic-level tracking
- Multiple targetPath extensions can be included to track changes to multiple elements in a single provenance record
- The same `activity`, `recorded`, `agent.who`, and `entity` elements as resource-level provenance

The 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.

#### Systems creating/updating Provenance resources (connecting systems)

- The `target` element MUST reference the HC FHIR resource that is the subject of the provenance activity (for example `HCPractitioner` or `HCOrganization`).
- The `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).
- The `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.
- Implementing systems must ensure that the `recorded` element of the Provenance resource is populated with the date and time the update occurred.
- The system performing the update is responsible for accurately setting this value at the time of the update.
- This requirement supports traceability and auditability of changes within Health Connect implementations.
- The purpose of `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)
- It is the responsibility of the updating system to record and capture FHIRPath expressions for the changed data elements.

#### Systems consuming/auditing Provenance resources (searching systems)

- Systems that query or audit Provenance resources can use the FHIRPath expressions in `target.extension[targetPath].valueString` to identify the exact data elements that were changed.
- When building reconciliation tools or audit trails, these FHIRPath expressions reference the changed elements in the target resource. For example, if a provenance record contains `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.
- Note that the FHIRPath identifies which field changed but does not contain the actual values (old or new)
- To see the current value, the consuming system would need to evaluate the FHIRPath against the current target resource.
- When processing audit trails, ensure that FHIRPath expressions are valid and can be successfully evaluated against the referenced target resource.

##### Search include parameters

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 tracks

##### Example usage

    GET /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:

- Examples for this Profile: Provenance/provenance-practitioner-name-update and Provenance/provenance-practitioner-phone-update
- CapabilityStatements using this Profile: Health Connect Reader

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 | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
target | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific)
Slices for extension |  |  |  | Content/Rules for all slices
extension:targetPath | S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath"
value[x] |  | 1..1 | string | Value of extension Example Example: telecom.where(system='phone').value
recorded | S Σ | 1..1 | instant | When the activity was recorded / updated
activity | S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible)
agent |  | 1..* | BackboneElement | Actor involved
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
who | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated
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 | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source
what | Σ | 1..1 | Reference(Resource) | Identity of entity
Documentation for this format

#### Terminology Bindings

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.

#### 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()`

This structure is derived from Provenance

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record
target | S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific)
Slices for extension |  |  |  | Content/Rules for all slices
extension:targetPath | S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath
value[x] |  | 1..1 | string | Value of extension Example Example: telecom.where(system='phone').value
recorded | S | 1..1 | instant | When the activity was recorded / updated
activity | S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible)
agent |  |  |  |
who | S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated
entity | S | 0..* | BackboneElement | An entity used in this activity
role | S | 1..1 | code | derivation | revision | quotation | source | removal Required Pattern: source
Documentation for this format

#### Terminology Bindings (Differential)

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: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record
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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
target | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific)
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:targetPath | S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath"
value[x] |  | 1..1 | string | Value of extension Example Example: telecom.where(system='phone').value
reference | Σ 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 | Σ | 0..1 | string | Text alternative for the resource
occurred[x] |  | 0..1 |  | When the activity occurred
occurredPeriod |  |  | Period |
occurredDateTime |  |  | dateTime |
recorded | S Σ | 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 | S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible)
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 | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated
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 | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source
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

#### 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.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.

#### 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()`

This structure is derived from Provenance

Summary

Must-Support: 7 elements

Structures

This structure refers to these other structures:

- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization)
- HC Practitioner (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-practitioner)
- HC PractitionerRole (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-practitionerrole)
- HC Endpoint (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-endpoint)
- HC HealthcareService (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-healthcareservice)
- HC Location (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-location)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/targetPath

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
target | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific)
Slices for extension |  |  |  | Content/Rules for all slices
extension:targetPath | S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath"
value[x] |  | 1..1 | string | Value of extension Example Example: telecom.where(system='phone').value
recorded | S Σ | 1..1 | instant | When the activity was recorded / updated
activity | S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible)
agent |  | 1..* | BackboneElement | Actor involved
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
who | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated
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 | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source
what | Σ | 1..1 | Reference(Resource) | Identity of entity
Documentation for this format

#### Terminology Bindings

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.

#### 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()`

Differential View

This structure is derived from Provenance

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record
target | S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific)
Slices for extension |  |  |  | Content/Rules for all slices
extension:targetPath | S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath
value[x] |  | 1..1 | string | Value of extension Example Example: telecom.where(system='phone').value
recorded | S | 1..1 | instant | When the activity was recorded / updated
activity | S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible)
agent |  |  |  |
who | S | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated
entity | S | 0..* | BackboneElement | An entity used in this activity
role | S | 1..1 | code | derivation | revision | quotation | source | removal Required Pattern: source
Documentation for this format

#### Terminology Bindings (Differential)

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: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Provenance |  | 0..* | Provenance | Records an activity where specific data elements of a resource were retrieved/updated/verified from an external system of record
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
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
target | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole | HC Endpoint | HC HealthcareService | HC Location) | Target Reference(s) (usually version specific)
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:targetPath | S | 0..* | (Complex) | FHIRPath of element(s) in the target resource affected by this provenance activity URL: http://hl7.org/fhir/StructureDefinition/targetPath
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/targetPath"
value[x] |  | 1..1 | string | Value of extension Example Example: telecom.where(system='phone').value
reference | Σ 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 | Σ | 0..1 | string | Text alternative for the resource
occurred[x] |  | 0..1 |  | When the activity occurred
occurredPeriod |  |  | Period |
occurredDateTime |  |  | dateTime |
recorded | S Σ | 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 | S | 0..1 | CodeableConcept | Type of provenance activity (e.g. create, update, verify) Binding: ProvenanceActivityType (extensible)
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 | S Σ | 1..1 | Reference(HC Organization | HC Practitioner | HC PractitionerRole) | Who participated
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 | derivation | revision | quotation | source | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source
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

#### 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.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.

#### 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()`

This structure is derived from Provenance

Summary

Must-Support: 7 elements

Structures

This structure refers to these other structures:

- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization)
- HC Practitioner (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-practitioner)
- HC PractitionerRole (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-practitionerrole)
- HC Endpoint (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-endpoint)
- HC HealthcareService (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-healthcareservice)
- HC Location (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-location)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/targetPath

Other representations of profile: CSV, Excel, Schematron