AI Transparency on FHIR
1.0.0-current - STU1 Ballot International flag

AI Transparency on FHIR, published by HL7 International / Electronic Health Records. This guide is not an authorized publication; it is the continuous build for version 1.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/aitransparency-ig/ and changes regularly. See the Directory of published versions

Resource Profile: AI Provenance

Official URL: http://hl7.org/fhir/uv/aitransparency/StructureDefinition/AI-Provenance Version: 1.0.0-current
Standards status: Trial-use Maturity Level: 2 Computable Name: AIProvenance
Other Identifiers: OID:2.16.840.1.113883.4.642.40.79.42.4

An AI Provenance is a record of the use of an AI model in generating or enhancing FHIR resources. It captures the details of the AI model used, the input data given to the AI, and the output generated by the AI.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Provenance C 0..* Provenance Who, What, When for a set of resources
Constraints: ai-target-aiast
Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) Target Reference(s) (usually version specific)
Provenance.occurred[x] This element must be supported. 0..1 When the activity occurred
Provenance.occurred[x].occurredPeriod Period
Provenance.occurred[x].occurredDateTime dateTime
Provenance.recorded This element is included in summaries. 1..1 instant When the activity was recorded / updated
Provenance.Slices for reason 1..* CodeableConcept Reason the activity is occurring
Slice: Unordered, Open by value:$this
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for reason.reason:AIReason 1..1 CodeableConcept Reason the activity is occurring
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Required Pattern: At least the following
Provenance.Slices for reason.reason:AIReason.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for reason.reason:AIReason.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
Provenance.Slices for reason.reason:AIReason.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for reason.reason:AIReason.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: AIAST
Provenance.Slices for reason.reason:AIReason.coding.display 0..1 string Representation defined by the system
Provenance.Slices for reason.reason:AIReason.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for reason.reason:AIReason.text 0..1 string Plain text representation of the concept
Provenance.Slices for agent 1..* BackboneElement Actor involved
Slice: Unordered, Open by profile:who.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:All Slices.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
Provenance.Slices for agent.agent:AIagent This element must be supported. 1..* BackboneElement Actor involved
Provenance.Slices for agent.agent:AIagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:AIagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:AIagent.Slices for role 1..* CodeableConcept What the agents role was
Slice: Unordered, Open by value:$this
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent.Slices for role Content/Rules for all slices
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole 1..1 CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Required Pattern: At least the following
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/aitransparency/CodeSystem/AIdeviceTypeCS
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: Artificial-Intelligence
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.display 0..1 string Representation defined by the system
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.text 0..1 string Plain text representation of the concept
Provenance.Slices for agent.agent:AIagent.who This element is included in summaries. 1..1 Reference(AI Device) Who participated
Provenance.Slices for agent.agent:Humanagent This element must be supported. 0..* BackboneElement Actor involved
Provenance.Slices for agent.agent:Humanagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:Humanagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:Humanagent.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient) Who participated
Provenance.Slices for entity This element must be supported. 0..* BackboneElement An entity used in this activity
Slice: Unordered, Open by profile:what.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for entity.entity:All Slices Content/Rules for all slices
Provenance.Slices for entity.entity:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:All Slices.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Provenance.Slices for entity.entity:All Slices.what This element must be supported. This element is included in summaries. 1..1 Reference(Resource) Identity of entity
Provenance.Slices for entity.entity:modelCard This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:modelCard.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:modelCard.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:modelCard.what This element is included in summaries. 1..1 Reference(AI Model-Card DocumentReference) Identity of entity
Provenance.Slices for entity.entity:inputPrompt This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:inputPrompt.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:inputPrompt.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:inputPrompt.what This element is included in summaries. 1..1 Reference(AI Input Prompt DocumentReference) Identity of entity

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Provenance.reason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Provenance.reason:AIReason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Provenance.agent:AIagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role:AIrole Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:Humanagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.entity.role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:modelCard.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:inputPrompt.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ai-target-aiast warning Provenance Every target resource shall be labeled with the AIAST (Artificial Intelligence asserted) security label. target.all(resolve().empty() or resolve().meta.security.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ObservationValue' and code = 'AIAST').exists())
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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Provenance C 0..* Provenance Who, What, When for a set of resources
Constraints: ai-target-aiast
Provenance.target This element must be supported. 1..* Reference(Resource) Target Reference(s) (usually version specific)
Provenance.occurred[x] This element must be supported. 0..1 Period, dateTime When the activity occurred
Provenance.Slices for reason 1..* CodeableConcept Reason the activity is occurring
Slice: Unordered, Open by value:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for reason.reason:AIReason 1..1 CodeableConcept Reason the activity is occurring
Required Pattern: At least the following
Provenance.Slices for reason.reason:AIReason.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for reason.reason:AIReason.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
Provenance.Slices for reason.reason:AIReason.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: AIAST
Provenance.Slices for agent.agent:AIagent This element must be supported. 1..* BackboneElement Actor involved
Provenance.Slices for agent.agent:AIagent.type This element must be supported. 1..1 CodeableConcept How the agent participated
Provenance.Slices for agent.agent:AIagent.Slices for role 1..* CodeableConcept What the agents role was
Slice: Unordered, Open by value:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent.Slices for role Content/Rules for all slices
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole 1..1 CodeableConcept What the agents role was
Required Pattern: At least the following
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/aitransparency/CodeSystem/AIdeviceTypeCS
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: Artificial-Intelligence
Provenance.Slices for agent.agent:AIagent.who 1..1 Reference(AI Device) Who participated
Provenance.Slices for agent.agent:Humanagent This element must be supported. 0..* BackboneElement Actor involved
Provenance.Slices for agent.agent:Humanagent.type This element must be supported. 1..1 CodeableConcept How the agent participated
Provenance.Slices for agent.agent:Humanagent.who 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient) Who participated
Provenance.Slices for entity This element must be supported. 0..* BackboneElement An entity used in this activity
Slice: Unordered, Open by profile:what.resolve()
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for entity.entity:All Slices Content/Rules for all slices
Provenance.Slices for entity.entity:All Slices.what This element must be supported. 1..1 Reference(Resource) Identity of entity
Provenance.Slices for entity.entity:modelCard This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:modelCard.role 1..1 code derivation | revision | quotation | source | removal
Fixed Value: derivation
Provenance.Slices for entity.entity:modelCard.what 1..1 Reference(AI Model-Card DocumentReference) Identity of entity
Provenance.Slices for entity.entity:inputPrompt This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:inputPrompt.role 1..1 code derivation | revision | quotation | source | removal
Fixed Value: derivation
Provenance.Slices for entity.entity:inputPrompt.what 1..1 Reference(AI Input Prompt DocumentReference) Identity of entity

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ai-target-aiast warning Provenance Every target resource shall be labeled with the AIAST (Artificial Intelligence asserted) security label. target.all(resolve().empty() or resolve().meta.security.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ObservationValue' and code = 'AIAST').exists())
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Provenance C 0..* Provenance Who, What, When for a set of resources
Constraints: ai-target-aiast
Provenance.id This element is included in summaries. 0..1 id Logical id of this artifact
Provenance.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Provenance.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Provenance.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
Provenance.contained 0..* Resource Contained, inline Resources
Provenance.extension 0..* Extension Additional content defined by implementations
Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) Target Reference(s) (usually version specific)
Provenance.occurred[x] This element must be supported. 0..1 When the activity occurred
Provenance.occurred[x].occurredPeriod Period
Provenance.occurred[x].occurredDateTime dateTime
Provenance.recorded This element is included in summaries. 1..1 instant When the activity was recorded / updated
Provenance.policy 0..* uri Policy or plan the activity was defined by
Provenance.location 0..1 Reference(Location) Where the activity occurred, if relevant
Provenance.Slices for reason 1..* CodeableConcept Reason the activity is occurring
Slice: Unordered, Open by value:$this
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for reason.reason:AIReason 1..1 CodeableConcept Reason the activity is occurring
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Required Pattern: At least the following
Provenance.Slices for reason.reason:AIReason.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for reason.reason:AIReason.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
Provenance.Slices for reason.reason:AIReason.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for reason.reason:AIReason.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: AIAST
Provenance.Slices for reason.reason:AIReason.coding.display 0..1 string Representation defined by the system
Provenance.Slices for reason.reason:AIReason.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for reason.reason:AIReason.text 0..1 string Plain text representation of the concept
Provenance.activity 0..1 CodeableConcept Activity that occurred
Binding: ProvenanceActivityType (extensible): The activity that took place.
Provenance.Slices for agent 1..* BackboneElement Actor involved
Slice: Unordered, Open by profile:who.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
Provenance.Slices for agent.agent:All Slices.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:All Slices.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:All Slices.type This element is included in summaries. 0..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:All Slices.role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:All Slices.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
Provenance.Slices for agent.agent:All Slices.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
Provenance.Slices for agent.agent:AIagent This element must be supported. 1..* BackboneElement Actor involved
Provenance.Slices for agent.agent:AIagent.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:AIagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:AIagent.Slices for role 1..* CodeableConcept What the agents role was
Slice: Unordered, Open by value:$this
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent.Slices for role Content/Rules for all slices
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole 1..1 CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Required Pattern: At least the following
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/aitransparency/CodeSystem/AIdeviceTypeCS
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: Artificial-Intelligence
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.display 0..1 string Representation defined by the system
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.text 0..1 string Plain text representation of the concept
Provenance.Slices for agent.agent:AIagent.who This element is included in summaries. 1..1 Reference(AI Device) Who participated
Provenance.Slices for agent.agent:AIagent.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
Provenance.Slices for agent.agent:Humanagent This element must be supported. 0..* BackboneElement Actor involved
Provenance.Slices for agent.agent:Humanagent.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:Humanagent.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:Humanagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:Humanagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:Humanagent.role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:Humanagent.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient) Who participated
Provenance.Slices for agent.agent:Humanagent.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
Provenance.Slices for entity This element must be supported. 0..* BackboneElement An entity used in this activity
Slice: Unordered, Open by profile:what.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for entity.entity:All Slices Content/Rules for all slices
Provenance.Slices for entity.entity:All Slices.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for entity.entity:All Slices.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for entity.entity:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:All Slices.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Provenance.Slices for entity.entity:All Slices.what This element must be supported. This element is included in summaries. 1..1 Reference(Resource) Identity of entity
Provenance.Slices for entity.entity:All Slices.agent 0..* See agent (Provenance) Entity is attributed to this agent
Provenance.Slices for entity.entity:modelCard This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:modelCard.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for entity.entity:modelCard.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for entity.entity:modelCard.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:modelCard.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:modelCard.what This element is included in summaries. 1..1 Reference(AI Model-Card DocumentReference) Identity of entity
Provenance.Slices for entity.entity:modelCard.agent 0..* See agent (Provenance) Entity is attributed to this agent
Provenance.Slices for entity.entity:inputPrompt This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:inputPrompt.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for entity.entity:inputPrompt.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for entity.entity:inputPrompt.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:inputPrompt.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:inputPrompt.what This element is included in summaries. 1..1 Reference(AI Input Prompt DocumentReference) Identity of entity
Provenance.Slices for entity.entity:inputPrompt.agent 0..* See agent (Provenance) Entity is attributed to this agent
Provenance.signature 0..* Signature Signature on target

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Provenance.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Provenance.reason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Provenance.reason:AIReason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
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.agent:AIagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role:AIrole Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:Humanagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.agent:Humanagent.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.entity.role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:modelCard.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:inputPrompt.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ai-target-aiast warning Provenance Every target resource shall be labeled with the AIAST (Artificial Intelligence asserted) security label. target.all(resolve().empty() or resolve().meta.security.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ObservationValue' and code = 'AIAST').exists())
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: 6 elements(1 nested mandatory element)
Must-Support: 10 elements
Fixed: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Provenance.reason
  • The element 1 is sliced based on the value of Provenance.agent
  • The element 1 is sliced based on the value of Provenance.agent.role
  • The element 1 is sliced based on the value of Provenance.entity

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Provenance C 0..* Provenance Who, What, When for a set of resources
Constraints: ai-target-aiast
Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) Target Reference(s) (usually version specific)
Provenance.occurred[x] This element must be supported. 0..1 When the activity occurred
Provenance.occurred[x].occurredPeriod Period
Provenance.occurred[x].occurredDateTime dateTime
Provenance.recorded This element is included in summaries. 1..1 instant When the activity was recorded / updated
Provenance.Slices for reason 1..* CodeableConcept Reason the activity is occurring
Slice: Unordered, Open by value:$this
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for reason.reason:AIReason 1..1 CodeableConcept Reason the activity is occurring
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Required Pattern: At least the following
Provenance.Slices for reason.reason:AIReason.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for reason.reason:AIReason.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
Provenance.Slices for reason.reason:AIReason.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for reason.reason:AIReason.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: AIAST
Provenance.Slices for reason.reason:AIReason.coding.display 0..1 string Representation defined by the system
Provenance.Slices for reason.reason:AIReason.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for reason.reason:AIReason.text 0..1 string Plain text representation of the concept
Provenance.Slices for agent 1..* BackboneElement Actor involved
Slice: Unordered, Open by profile:who.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:All Slices.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
Provenance.Slices for agent.agent:AIagent This element must be supported. 1..* BackboneElement Actor involved
Provenance.Slices for agent.agent:AIagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:AIagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:AIagent.Slices for role 1..* CodeableConcept What the agents role was
Slice: Unordered, Open by value:$this
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent.Slices for role Content/Rules for all slices
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole 1..1 CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Required Pattern: At least the following
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/aitransparency/CodeSystem/AIdeviceTypeCS
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: Artificial-Intelligence
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.display 0..1 string Representation defined by the system
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.text 0..1 string Plain text representation of the concept
Provenance.Slices for agent.agent:AIagent.who This element is included in summaries. 1..1 Reference(AI Device) Who participated
Provenance.Slices for agent.agent:Humanagent This element must be supported. 0..* BackboneElement Actor involved
Provenance.Slices for agent.agent:Humanagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:Humanagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:Humanagent.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient) Who participated
Provenance.Slices for entity This element must be supported. 0..* BackboneElement An entity used in this activity
Slice: Unordered, Open by profile:what.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for entity.entity:All Slices Content/Rules for all slices
Provenance.Slices for entity.entity:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:All Slices.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Provenance.Slices for entity.entity:All Slices.what This element must be supported. This element is included in summaries. 1..1 Reference(Resource) Identity of entity
Provenance.Slices for entity.entity:modelCard This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:modelCard.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:modelCard.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:modelCard.what This element is included in summaries. 1..1 Reference(AI Model-Card DocumentReference) Identity of entity
Provenance.Slices for entity.entity:inputPrompt This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:inputPrompt.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:inputPrompt.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:inputPrompt.what This element is included in summaries. 1..1 Reference(AI Input Prompt DocumentReference) Identity of entity

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Provenance.reason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Provenance.reason:AIReason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Provenance.agent:AIagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role:AIrole Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:Humanagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.entity.role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:modelCard.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:inputPrompt.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ai-target-aiast warning Provenance Every target resource shall be labeled with the AIAST (Artificial Intelligence asserted) security label. target.all(resolve().empty() or resolve().meta.security.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ObservationValue' and code = 'AIAST').exists())
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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Provenance C 0..* Provenance Who, What, When for a set of resources
Constraints: ai-target-aiast
Provenance.target This element must be supported. 1..* Reference(Resource) Target Reference(s) (usually version specific)
Provenance.occurred[x] This element must be supported. 0..1 Period, dateTime When the activity occurred
Provenance.Slices for reason 1..* CodeableConcept Reason the activity is occurring
Slice: Unordered, Open by value:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for reason.reason:AIReason 1..1 CodeableConcept Reason the activity is occurring
Required Pattern: At least the following
Provenance.Slices for reason.reason:AIReason.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for reason.reason:AIReason.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
Provenance.Slices for reason.reason:AIReason.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: AIAST
Provenance.Slices for agent 1..* BackboneElement Actor involved
Slice: Unordered, Open by profile:who.resolve()
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent This element must be supported. 1..* BackboneElement Actor involved
Provenance.Slices for agent.agent:AIagent.type This element must be supported. 1..1 CodeableConcept How the agent participated
Provenance.Slices for agent.agent:AIagent.Slices for role 1..* CodeableConcept What the agents role was
Slice: Unordered, Open by value:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent.Slices for role Content/Rules for all slices
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole 1..1 CodeableConcept What the agents role was
Required Pattern: At least the following
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/aitransparency/CodeSystem/AIdeviceTypeCS
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: Artificial-Intelligence
Provenance.Slices for agent.agent:AIagent.who 1..1 Reference(AI Device) Who participated
Provenance.Slices for agent.agent:Humanagent This element must be supported. 0..* BackboneElement Actor involved
Provenance.Slices for agent.agent:Humanagent.type This element must be supported. 1..1 CodeableConcept How the agent participated
Provenance.Slices for agent.agent:Humanagent.who 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient) Who participated
Provenance.Slices for entity This element must be supported. 0..* BackboneElement An entity used in this activity
Slice: Unordered, Open by profile:what.resolve()
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for entity.entity:All Slices Content/Rules for all slices
Provenance.Slices for entity.entity:All Slices.what This element must be supported. 1..1 Reference(Resource) Identity of entity
Provenance.Slices for entity.entity:modelCard This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:modelCard.role 1..1 code derivation | revision | quotation | source | removal
Fixed Value: derivation
Provenance.Slices for entity.entity:modelCard.what 1..1 Reference(AI Model-Card DocumentReference) Identity of entity
Provenance.Slices for entity.entity:inputPrompt This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:inputPrompt.role 1..1 code derivation | revision | quotation | source | removal
Fixed Value: derivation
Provenance.Slices for entity.entity:inputPrompt.what 1..1 Reference(AI Input Prompt DocumentReference) Identity of entity

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ai-target-aiast warning Provenance Every target resource shall be labeled with the AIAST (Artificial Intelligence asserted) security label. target.all(resolve().empty() or resolve().meta.security.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ObservationValue' and code = 'AIAST').exists())

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Provenance C 0..* Provenance Who, What, When for a set of resources
Constraints: ai-target-aiast
Provenance.id This element is included in summaries. 0..1 id Logical id of this artifact
Provenance.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Provenance.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Provenance.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Provenance.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
Provenance.contained 0..* Resource Contained, inline Resources
Provenance.extension 0..* Extension Additional content defined by implementations
Provenance.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Provenance.target This element must be supported. This element is included in summaries. 1..* Reference(Resource) Target Reference(s) (usually version specific)
Provenance.occurred[x] This element must be supported. 0..1 When the activity occurred
Provenance.occurred[x].occurredPeriod Period
Provenance.occurred[x].occurredDateTime dateTime
Provenance.recorded This element is included in summaries. 1..1 instant When the activity was recorded / updated
Provenance.policy 0..* uri Policy or plan the activity was defined by
Provenance.location 0..1 Reference(Location) Where the activity occurred, if relevant
Provenance.Slices for reason 1..* CodeableConcept Reason the activity is occurring
Slice: Unordered, Open by value:$this
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for reason.reason:AIReason 1..1 CodeableConcept Reason the activity is occurring
Binding: PurposeOfUse (3.1.0) (extensible): The reason the activity took place.

Required Pattern: At least the following
Provenance.Slices for reason.reason:AIReason.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for reason.reason:AIReason.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for reason.reason:AIReason.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for reason.reason:AIReason.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
Provenance.Slices for reason.reason:AIReason.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for reason.reason:AIReason.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: AIAST
Provenance.Slices for reason.reason:AIReason.coding.display 0..1 string Representation defined by the system
Provenance.Slices for reason.reason:AIReason.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for reason.reason:AIReason.text 0..1 string Plain text representation of the concept
Provenance.activity 0..1 CodeableConcept Activity that occurred
Binding: ProvenanceActivityType (extensible): The activity that took place.
Provenance.Slices for agent 1..* BackboneElement Actor involved
Slice: Unordered, Open by profile:who.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:All Slices Content/Rules for all slices
Provenance.Slices for agent.agent:All Slices.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:All Slices.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:All Slices.type This element is included in summaries. 0..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:All Slices.role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:All Slices.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who participated
Provenance.Slices for agent.agent:All Slices.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
Provenance.Slices for agent.agent:AIagent This element must be supported. 1..* BackboneElement Actor involved
Provenance.Slices for agent.agent:AIagent.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:AIagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:AIagent.Slices for role 1..* CodeableConcept What the agents role was
Slice: Unordered, Open by value:$this
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for agent.agent:AIagent.Slices for role Content/Rules for all slices
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole 1..1 CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.

Required Pattern: At least the following
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.system 1..1 uri Identity of the terminology system
Fixed Value: http://hl7.org/fhir/uv/aitransparency/CodeSystem/AIdeviceTypeCS
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.version 0..1 string Version of the system - if relevant
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: Artificial-Intelligence
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.display 0..1 string Representation defined by the system
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.coding.userSelected 0..1 boolean If this coding was chosen directly by the user
Provenance.Slices for agent.agent:AIagent.Slices for role.role:AIrole.text 0..1 string Plain text representation of the concept
Provenance.Slices for agent.agent:AIagent.who This element is included in summaries. 1..1 Reference(AI Device) Who participated
Provenance.Slices for agent.agent:AIagent.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
Provenance.Slices for agent.agent:Humanagent This element must be supported. 0..* BackboneElement Actor involved
Provenance.Slices for agent.agent:Humanagent.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for agent.agent:Humanagent.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for agent.agent:Humanagent.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for agent.agent:Humanagent.type This element must be supported. This element is included in summaries. 1..1 CodeableConcept How the agent participated
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:Humanagent.role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
Provenance.Slices for agent.agent:Humanagent.who This element is included in summaries. 1..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient) Who participated
Provenance.Slices for agent.agent:Humanagent.onBehalfOf 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Who the agent is representing
Provenance.Slices for entity This element must be supported. 0..* BackboneElement An entity used in this activity
Slice: Unordered, Open by profile:what.resolve()

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Provenance.Slices for entity.entity:All Slices Content/Rules for all slices
Provenance.Slices for entity.entity:All Slices.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for entity.entity:All Slices.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for entity.entity:All Slices.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:All Slices.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Provenance.Slices for entity.entity:All Slices.what This element must be supported. This element is included in summaries. 1..1 Reference(Resource) Identity of entity
Provenance.Slices for entity.entity:All Slices.agent 0..* See agent (Provenance) Entity is attributed to this agent
Provenance.Slices for entity.entity:modelCard This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:modelCard.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for entity.entity:modelCard.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for entity.entity:modelCard.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:modelCard.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:modelCard.what This element is included in summaries. 1..1 Reference(AI Model-Card DocumentReference) Identity of entity
Provenance.Slices for entity.entity:modelCard.agent 0..* See agent (Provenance) Entity is attributed to this agent
Provenance.Slices for entity.entity:inputPrompt This element must be supported. 0..* BackboneElement An entity used in this activity
Provenance.Slices for entity.entity:inputPrompt.id 0..1 string Unique id for inter-element referencing
Provenance.Slices for entity.entity:inputPrompt.extension 0..* Extension Additional content defined by implementations
Provenance.Slices for entity.entity:inputPrompt.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Provenance.Slices for entity.entity:inputPrompt.role This element is included in summaries. 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.
Fixed Value: derivation
Provenance.Slices for entity.entity:inputPrompt.what This element is included in summaries. 1..1 Reference(AI Input Prompt DocumentReference) Identity of entity
Provenance.Slices for entity.entity:inputPrompt.agent 0..* See agent (Provenance) Entity is attributed to this agent
Provenance.signature 0..* Signature Signature on target

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Provenance.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Provenance.reason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
Provenance.reason:AIReason Base extensible PurposeOfUse 📍3.1.0 THO v7.4
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.agent:AIagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:AIagent.​role:AIrole Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.agent:Humanagent.​type Base extensible Provenance participant type 📍4.0.1 FHIR Std.
Provenance.agent:Humanagent.​role Base example SecurityRoleType 📍4.0.1 FHIR Std.
Provenance.entity.role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:modelCard.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.
Provenance.entity:inputPrompt.​role Base required ProvenanceEntityRole 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ai-target-aiast warning Provenance Every target resource shall be labeled with the AIAST (Artificial Intelligence asserted) security label. target.all(resolve().empty() or resolve().meta.security.where(system = 'http://terminology.hl7.org/CodeSystem/v3-ObservationValue' and code = 'AIAST').exists())
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: 6 elements(1 nested mandatory element)
Must-Support: 10 elements
Fixed: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Provenance.reason
  • The element 1 is sliced based on the value of Provenance.agent
  • The element 1 is sliced based on the value of Provenance.agent.role
  • The element 1 is sliced based on the value of Provenance.entity

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron