PACIO Advance Directive Interoperability Implementation Guide
0.1.0 - STU 1 Ballot

PACIO Advance Directive Interoperability Implementation Guide, published by HL7 Patient Empowerment Working Group. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/HL7/fhir-pacio-adi/ and changes regularly. See the Directory of published versions

Resource Profile: PACIO ADI Provenance

Defining URL:http://hl7.org/fhir/us/pacio-adi/StructureDefinition/PADI-Provenance
Version:0.1.0
Name:PADIProvenance
Title:PACIO ADI Provenance
Status:Active as of 12/3/21, 11:52 PM
Definition:

Advance Directive Interoperability Provenance based on US Core to capture, search and fetch provenance information associated with advance directive interoperability data.

Publisher:HL7 Patient Empowerment Working Group
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/pacio-adi/StructureDefinition/PADI-Provenance

Formal Views of Profile Content

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

This structure is derived from USCoreProvenance

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 1 element

This structure is derived from USCoreProvenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*USCoreProvenanceUS Core Provenance
... agent:assembler S0..1BackboneElementIndicates the name of the system used to assemble the person's original advance care planning information into a document for exchange.
.... type 1..1CodeableConceptHow the agent participated
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assembler

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*USCoreProvenanceUS Core Provenance
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... target SΣ1..*Reference(Resource)The Resource this Provenance record supports
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... occurred[x] 0..1When the activity occurred
.... occurredPeriodPeriod
.... occurredDateTimedateTime
... recorded SΣ1..1instantTimestamp when the activity was recorded / updated
... policy 0..*uriPolicy or plan the activity was defined by
... location 0..1Reference(Location)Where the activity occurred, if relevant
... reason 0..*CodeableConceptReason the activity is occurring
Binding: PurposeOfUse (extensible): The reason the activity took place.


... activity 0..1CodeableConceptActivity that occurred
Binding: ProvenanceActivityType (extensible): The activity that took place.

... Slices for agent S1..*BackboneElementActor involved
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ0..1CodeableConceptHow the agent participated
Binding: US Core Provenance Participant Type Codes (extensible)
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ1..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | RelatedPerson | Device)Who participated
..... onBehalfOf SI0..1Reference(US Core Organization Profile)Who the agent is representing
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent:ProvenanceAuthor S0..*BackboneElementActor involved
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: author
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who Σ1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
..... onBehalfOf 0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... agent:ProvenanceTransmitter S0..1BackboneElementActor involved
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: transmitter
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who Σ1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
..... onBehalfOf 0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... agent:assembler S0..1BackboneElementIndicates the name of the system used to assemble the person's original advance care planning information into a document for exchange.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: US Core Provenance Participant Type Codes (extensible)
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: assembler
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ1..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | RelatedPerson | Device)Who participated
..... onBehalfOf SI0..1Reference(US Core Organization Profile)Who the agent is representing
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
... entity 0..*BackboneElementAn entity used in this activity
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... role Σ1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.

.... what Σ1..1Reference(Resource)Identity of entity
.... agent 0..*See agent (Provenance)Entity is attributed to this agent
... signature 0..*SignatureSignature on target

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*USCoreProvenanceUS Core Provenance
... target Σ1..*Reference(Resource)The Resource this Provenance record supports
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
... recorded Σ1..1instantTimestamp when the activity was recorded / updated
... Slices for agent 1..*BackboneElementActor involved
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... type Σ0..1CodeableConceptHow the agent participated
Binding: US Core Provenance Participant Type Codes (extensible)
..... who Σ1..1Reference(US Core Practitioner Profile)Who participated
..... onBehalfOf I0..1Reference(US Core Organization Profile)Who the agent is representing
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent:ProvenanceAuthor 0..*BackboneElementActor involved
..... type Σ1..1CodeableConceptHow the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: author
.... agent:ProvenanceTransmitter 0..1BackboneElementActor involved
..... type Σ1..1CodeableConceptHow the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: transmitter
.... agent:assembler 0..1BackboneElementIndicates the name of the system used to assemble the person's original advance care planning information into a document for exchange.
..... type Σ1..1CodeableConceptHow the agent participated
Binding: US Core Provenance Participant Type Codes (extensible)
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: assembler
..... who Σ1..1Reference(US Core Practitioner Profile)Who participated
..... onBehalfOf I0..1Reference(US Core Organization Profile)Who the agent is representing
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device

doco Documentation for this format

This structure is derived from USCoreProvenance

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 1 element

Differential View

This structure is derived from USCoreProvenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*USCoreProvenanceUS Core Provenance
... agent:assembler S0..1BackboneElementIndicates the name of the system used to assemble the person's original advance care planning information into a document for exchange.
.... type 1..1CodeableConceptHow the agent participated
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: assembler

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..*USCoreProvenanceUS Core Provenance
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... target SΣ1..*Reference(Resource)The Resource this Provenance record supports
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
.... display Σ0..1stringText alternative for the resource
... occurred[x] 0..1When the activity occurred
.... occurredPeriodPeriod
.... occurredDateTimedateTime
... recorded SΣ1..1instantTimestamp when the activity was recorded / updated
... policy 0..*uriPolicy or plan the activity was defined by
... location 0..1Reference(Location)Where the activity occurred, if relevant
... reason 0..*CodeableConceptReason the activity is occurring
Binding: PurposeOfUse (extensible): The reason the activity took place.


... activity 0..1CodeableConceptActivity that occurred
Binding: ProvenanceActivityType (extensible): The activity that took place.

... Slices for agent S1..*BackboneElementActor involved
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ0..1CodeableConceptHow the agent participated
Binding: US Core Provenance Participant Type Codes (extensible)
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ1..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | RelatedPerson | Device)Who participated
..... onBehalfOf SI0..1Reference(US Core Organization Profile)Who the agent is representing
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent:ProvenanceAuthor S0..*BackboneElementActor involved
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: author
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who Σ1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
..... onBehalfOf 0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... agent:ProvenanceTransmitter S0..1BackboneElementActor involved
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://hl7.org/fhir/us/core/CodeSystem/us-core-provenance-participant-type
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: transmitter
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who Σ1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
..... onBehalfOf 0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
.... agent:assembler S0..1BackboneElementIndicates the name of the system used to assemble the person's original advance care planning information into a document for exchange.
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type SΣ1..1CodeableConceptHow the agent participated
Binding: US Core Provenance Participant Type Codes (extensible)
Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: assembler
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ1..1Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | US Core PractitionerRole Profile | RelatedPerson | Device)Who participated
..... onBehalfOf SI0..1Reference(US Core Organization Profile)Who the agent is representing
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
... entity 0..*BackboneElementAn entity used in this activity
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... role Σ1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.

.... what Σ1..1Reference(Resource)Identity of entity
.... agent 0..*See agent (Provenance)Entity is attributed to this agent
... signature 0..*SignatureSignature on target

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Provenance.languagepreferredCommonLanguages
Max Binding: AllLanguages
Provenance.target.typeextensibleResourceType
Provenance.reasonextensiblePurposeOfUse
Provenance.activityextensibleProvenanceActivityType
Provenance.agent.typeextensibleUSCoreProvenancePaticipantTypeCodes
Provenance.agent.roleexampleSecurityRoleType
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
Provenance.agent:ProvenanceAuthor.roleexampleSecurityRoleType
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
Provenance.agent:ProvenanceTransmitter.roleexampleSecurityRoleType
Provenance.agent:assembler.typeextensiblePattern: assembler
Provenance.agent:assembler.roleexampleSecurityRoleType
Provenance.entity.rolerequiredProvenanceEntityRole

Constraints

IdPathDetailsRequirements
provenance-1Provenance.agent.onBehalfOfonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: ((%resource.agent.who.resolve() is Practitioner) or (%resource.agent.who.resolve() is Device)) implies exists()
provenance-1Provenance.agent:assembler.onBehalfOfonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: ((%resource.agent.who.resolve() is Practitioner) or (%resource.agent.who.resolve() is Device)) implies exists()