0.1.0 - ci-build
TrustAITransparencyIG - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/trust-ai-provenance | Version: 0.1.0 | |||
| Draft as of 2026-10-02 | Computable Name: Trust_AIProvenance | |||
A Provenance profile linking an AI-generated output to the contributing AI system, source data, and relevant processing or governance context.
This profile is part of the AI Output Context layer. It implements the following documentation requirements from the Requirements Traceability analysis.
| Requirement | Law / Source | Metadata Field | Static / Dynamic |
|---|---|---|---|
| SYS-10 | AI Act Art. 12 / EHDS ANNEX II (3) | Audit Trail & Access Logging | Dynamic |
| USE-04 | GDPR Art. 5(1) | Case-Specific Indication | Dynamic |
| LAW-01a | GDPR Art. 6(1) | Legal Basis (General) | Dynamic |
| LAW-01b | GDPR Art. 9(2) | Health Data Exception | Dynamic |
| LAW-02 | GDPR Art. 22 | Automated Decision Flag | Dynamic |
| LAW-03 | EHDS Art. 51 / 52 | Data Provenance (Primary/Secondary) | Dynamic |
| Attribute | Logical Attribute | Card. (matrix) | Element(s) in this profile | Status | Notes |
|---|---|---|---|---|---|
| SYS-10.1 | Execution Period (Start/End) | 1..1 | Provenance.occurredPeriod |
✅ Covered | Also: Trust_AIAuditEvent, Trust_AIObservation. |
| SYS-10.2 | Input Data Reference | 1..* | Provenance.entity |
✅ Covered | entity.role = source. |
| USE-04 | Case-Specific Indication | 1..* | Provenance.extension:caseIndication |
✅ Covered | Extension case-specific-indication. |
| LAW-01a | Legal Basis Code | 1..1 | Provenance.authorization:gdprArt6Basis |
✅ Covered | GDPRArt6LegalBasisVS. |
| LAW-01b | Special Category Exception Code | 1..1 | Provenance.authorization:gdprArt9Condition |
✅ Covered | GDPRArt9ConditionVS. |
| LAW-02 | Automated Decision Flag | 1..1 | Provenance.extension:automatedDecision |
✅ Covered | Extension automated-decision-flag. |
| LAW-03.1 | Provenance Category | 1..1 | Provenance.extension:usageCategory |
✅ Covered | UsageCategoryVS. |
| LAW-03.2 | Data Permit Reference | 0..1 | Provenance.extension:dataPermit |
✅ Covered | Complemented by secondaryUsePurpose. |
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Primary or secondary use category URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/usage-category Binding: Usage Category Value Set (required) |
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Purpose of secondary use, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/secondary-use-purpose Binding: Secondary-Use Purpose Value Set (required) |
![]() ![]() ![]() |
S | 0..1 | Identifier | EHDS data permit, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/data-permit |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Clinical reason for AI use URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/case-specific-indication Binding: Trust AI Case-Specific Indication Value Set (extensible) |
![]() ![]() ![]() |
S | 1..1 | boolean | Automated decision flag URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/automated-decision-flag |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..* | Reference(Resource) | Link to the generated AI clinical result |
![]() ![]() |
S | 1..1 | Period | Period of the activity that generated or influenced the target resource |
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | Start of the AI processing activity |
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | End of the AI processing activity |
![]() ![]() |
SΣ | 1..1 | instant | Time when the provenance record was created |
![]() ![]() |
S | 2..* | CodeableReference() | Authorization (purposeOfUse) related to the event Slice: Unordered, Open by value:concept.coding.system Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. |
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Legal basis under GDPR Article 6 Binding: GDPR Article 6 Legal Basis Value Set (required) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art6-codesystem |
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Condition under GDPR Article 9 for processing health data Binding: GDPR Article 9 Condition Value Set (required) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art9-codesystem |
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Trust AI System Device) | AI system that performed the processing activity |
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
![]() ![]() |
SΣ | 1..* | BackboneElement | Input data used to generate the AI output |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Source data processed by the AI system |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.authorization | Base | example | PurposeOfUse | 📦3.1.0 | THO v7.4 |
| Provenance.authorization:gdprArt6Basis | Base | required | GDPR Article 6 Legal Basis Value Set | 📦0.1.0 | This IG |
| Provenance.authorization:gdprArt9Condition | Base | required | GDPR Article 9 Condition Value Set | 📦0.1.0 | This IG |
| Provenance.entity.role | Base | required | Provenance Entity Role | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()
|
| prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same |
who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
|
| prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner |
who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
|
| prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization |
who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()
|
This structure is derived from Provenance
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Primary or secondary use category URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/usage-category Binding: Usage Category Value Set (required) |
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Purpose of secondary use, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/secondary-use-purpose Binding: Secondary-Use Purpose Value Set (required) |
![]() ![]() ![]() |
S | 0..1 | Identifier | EHDS data permit, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/data-permit |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Clinical reason for AI use URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/case-specific-indication Binding: Trust AI Case-Specific Indication Value Set (extensible) |
![]() ![]() ![]() |
S | 1..1 | boolean | Automated decision flag URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/automated-decision-flag |
![]() ![]() |
S | 1..* | Reference(Resource) | Link to the generated AI clinical result |
![]() ![]() |
S | 1..1 | Period | Period of the activity that generated or influenced the target resource |
![]() ![]() ![]() |
S | 1..1 | dateTime | Start of the AI processing activity |
![]() ![]() ![]() |
S | 1..1 | dateTime | End of the AI processing activity |
![]() ![]() |
S | 1..1 | instant | Time when the provenance record was created |
![]() ![]() |
S | 2..* | CodeableReference() | Authorization (purposeOfUse) related to the event Slice: Unordered, Open by value:concept.coding.system |
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Legal basis under GDPR Article 6 Binding: GDPR Article 6 Legal Basis Value Set (required) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Reference to a concept (by class) | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art6-codesystem | |
![]() ![]() ![]() ![]() |
0..0 | Reference to a resource (by instance) | ||
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Condition under GDPR Article 9 for processing health data Binding: GDPR Article 9 Condition Value Set (required) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Reference to a concept (by class) | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art9-codesystem | |
![]() ![]() ![]() ![]() |
0..0 | Reference to a resource (by instance) | ||
![]() ![]() |
S | 1..* | BackboneElement | Actor involved |
![]() ![]() ![]() |
1..1 | Reference(Trust AI System Device) | AI system that performed the processing activity | |
![]() ![]() |
S | 1..* | BackboneElement | Input data used to generate the AI output |
![]() ![]() ![]() |
1..1 | code | revision | quotation | source | instantiates | removal Required Pattern: source | |
![]() ![]() ![]() |
1..1 | Reference(Resource) | Source data processed by the AI system | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.authorization:gdprArt6Basis | Base | required | GDPR Article 6 Legal Basis Value Set | 📦0.1.0 | This IG |
| Provenance.authorization:gdprArt9Condition | Base | required | GDPR Article 9 Condition Value Set | 📦0.1.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Provenance | Who, What, When for a set of resources | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Primary or secondary use category URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/usage-category Binding: Usage Category Value Set (required) | ||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Purpose of secondary use, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/secondary-use-purpose Binding: Secondary-Use Purpose Value Set (required) | ||||
![]() ![]() ![]() |
S | 0..1 | Identifier | EHDS data permit, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/data-permit | ||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Clinical reason for AI use URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/case-specific-indication Binding: Trust AI Case-Specific Indication Value Set (extensible) | ||||
![]() ![]() ![]() |
S | 1..1 | boolean | Automated decision flag URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/automated-decision-flag | ||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..* | Reference(Resource) | Link to the generated AI clinical result | ||||
![]() ![]() |
S | 1..1 | Period | Period of the activity that generated or influenced the target resource | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | Start of the AI processing activity | ||||
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | End of the AI processing activity | ||||
![]() ![]() |
SΣ | 1..1 | instant | Time when the provenance record was created | ||||
![]() ![]() |
0..* | uri | Policy or plan the activity was defined by | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
![]() ![]() |
S | 2..* | CodeableReference() | Authorization (purposeOfUse) related to the event Slice: Unordered, Open by value:concept.coding.system Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. | ||||
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Legal basis under GDPR Article 6 Binding: GDPR Article 6 Legal Basis Value Set (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art6-codesystem | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Condition under GDPR Article 9 for processing health data Binding: GDPR Article 9 Condition Value Set (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art9-codesystem | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
0..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (example): The activity that took place. | |||||
![]() ![]() |
0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred | |||||
![]() ![]() |
0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated | |||||
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (example): The type of participation that a provenance agent played with respect to the activity. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Trust AI System Device) | AI system that performed the processing activity | ||||
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated | ||||
![]() ![]() |
SΣ | 1..* | BackboneElement | Input data used to generate the AI output | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Source data processed by the AI system | ||||
![]() ![]() ![]() |
0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
![]() ![]() |
0..* | Signature | Signature on target | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Provenance.authorization | Base | example | PurposeOfUse | 📦3.1.0 | THO v7.4 |
| Provenance.authorization:gdprArt6Basis | Base | required | GDPR Article 6 Legal Basis Value Set | 📦0.1.0 | This IG |
| Provenance.authorization:gdprArt9Condition | Base | required | GDPR Article 9 Condition Value Set | 📦0.1.0 | This IG |
| Provenance.activity | Base | example | ValueSet of sample of representative activity type codes. | 📍5.0.0 | FHIR Std. |
| Provenance.agent.type | Base | example | Participation Role Type | 📍5.0.0 | FHIR Std. |
| Provenance.agent.role | Base | example | Security Role Type | 📍5.0.0 | FHIR Std. |
| Provenance.entity.role | Base | required | Provenance Entity Role | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()
|
| prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same |
who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
|
| prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner |
who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
|
| prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization |
who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()
|
This structure is derived from Provenance
Summary
Mandatory: 16 elements
Must-Support: 15 elements
Prohibited: 2 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Primary or secondary use category URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/usage-category Binding: Usage Category Value Set (required) |
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Purpose of secondary use, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/secondary-use-purpose Binding: Secondary-Use Purpose Value Set (required) |
![]() ![]() ![]() |
S | 0..1 | Identifier | EHDS data permit, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/data-permit |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Clinical reason for AI use URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/case-specific-indication Binding: Trust AI Case-Specific Indication Value Set (extensible) |
![]() ![]() ![]() |
S | 1..1 | boolean | Automated decision flag URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/automated-decision-flag |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 1..* | Reference(Resource) | Link to the generated AI clinical result |
![]() ![]() |
S | 1..1 | Period | Period of the activity that generated or influenced the target resource |
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | Start of the AI processing activity |
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | End of the AI processing activity |
![]() ![]() |
SΣ | 1..1 | instant | Time when the provenance record was created |
![]() ![]() |
S | 2..* | CodeableReference() | Authorization (purposeOfUse) related to the event Slice: Unordered, Open by value:concept.coding.system Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. |
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Legal basis under GDPR Article 6 Binding: GDPR Article 6 Legal Basis Value Set (required) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art6-codesystem |
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Condition under GDPR Article 9 for processing health data Binding: GDPR Article 9 Condition Value Set (required) |
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art9-codesystem |
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Trust AI System Device) | AI system that performed the processing activity |
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
![]() ![]() |
SΣ | 1..* | BackboneElement | Input data used to generate the AI output |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Source data processed by the AI system |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.authorization | Base | example | PurposeOfUse | 📦3.1.0 | THO v7.4 |
| Provenance.authorization:gdprArt6Basis | Base | required | GDPR Article 6 Legal Basis Value Set | 📦0.1.0 | This IG |
| Provenance.authorization:gdprArt9Condition | Base | required | GDPR Article 9 Condition Value Set | 📦0.1.0 | This IG |
| Provenance.entity.role | Base | required | Provenance Entity Role | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()
|
| prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same |
who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
|
| prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner |
who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
|
| prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization |
who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()
|
Differential View
This structure is derived from Provenance
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance | Who, What, When for a set of resources | |
![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Primary or secondary use category URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/usage-category Binding: Usage Category Value Set (required) |
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Purpose of secondary use, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/secondary-use-purpose Binding: Secondary-Use Purpose Value Set (required) |
![]() ![]() ![]() |
S | 0..1 | Identifier | EHDS data permit, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/data-permit |
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Clinical reason for AI use URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/case-specific-indication Binding: Trust AI Case-Specific Indication Value Set (extensible) |
![]() ![]() ![]() |
S | 1..1 | boolean | Automated decision flag URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/automated-decision-flag |
![]() ![]() |
S | 1..* | Reference(Resource) | Link to the generated AI clinical result |
![]() ![]() |
S | 1..1 | Period | Period of the activity that generated or influenced the target resource |
![]() ![]() ![]() |
S | 1..1 | dateTime | Start of the AI processing activity |
![]() ![]() ![]() |
S | 1..1 | dateTime | End of the AI processing activity |
![]() ![]() |
S | 1..1 | instant | Time when the provenance record was created |
![]() ![]() |
S | 2..* | CodeableReference() | Authorization (purposeOfUse) related to the event Slice: Unordered, Open by value:concept.coding.system |
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Legal basis under GDPR Article 6 Binding: GDPR Article 6 Legal Basis Value Set (required) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Reference to a concept (by class) | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art6-codesystem | |
![]() ![]() ![]() ![]() |
0..0 | Reference to a resource (by instance) | ||
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Condition under GDPR Article 9 for processing health data Binding: GDPR Article 9 Condition Value Set (required) |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Reference to a concept (by class) | |
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art9-codesystem | |
![]() ![]() ![]() ![]() |
0..0 | Reference to a resource (by instance) | ||
![]() ![]() |
S | 1..* | BackboneElement | Actor involved |
![]() ![]() ![]() |
1..1 | Reference(Trust AI System Device) | AI system that performed the processing activity | |
![]() ![]() |
S | 1..* | BackboneElement | Input data used to generate the AI output |
![]() ![]() ![]() |
1..1 | code | revision | quotation | source | instantiates | removal Required Pattern: source | |
![]() ![]() ![]() |
1..1 | Reference(Resource) | Source data processed by the AI system | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.authorization:gdprArt6Basis | Base | required | GDPR Article 6 Legal Basis Value Set | 📦0.1.0 | This IG |
| Provenance.authorization:gdprArt9Condition | Base | required | GDPR Article 9 Condition Value Set | 📦0.1.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Provenance | Who, What, When for a set of resources | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
3..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Primary or secondary use category URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/usage-category Binding: Usage Category Value Set (required) | ||||
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Purpose of secondary use, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/secondary-use-purpose Binding: Secondary-Use Purpose Value Set (required) | ||||
![]() ![]() ![]() |
S | 0..1 | Identifier | EHDS data permit, where applicable URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/data-permit | ||||
![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Clinical reason for AI use URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/case-specific-indication Binding: Trust AI Case-Specific Indication Value Set (extensible) | ||||
![]() ![]() ![]() |
S | 1..1 | boolean | Automated decision flag URL: http://example.org/fhir/trust-ai-transparency/StructureDefinition/automated-decision-flag | ||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..* | Reference(Resource) | Link to the generated AI clinical result | ||||
![]() ![]() |
S | 1..1 | Period | Period of the activity that generated or influenced the target resource | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | Start of the AI processing activity | ||||
![]() ![]() ![]() |
SΣC | 1..1 | dateTime | End of the AI processing activity | ||||
![]() ![]() |
SΣ | 1..1 | instant | Time when the provenance record was created | ||||
![]() ![]() |
0..* | uri | Policy or plan the activity was defined by | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
![]() ![]() |
S | 2..* | CodeableReference() | Authorization (purposeOfUse) related to the event Slice: Unordered, Open by value:concept.coding.system Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity. | ||||
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Legal basis under GDPR Article 6 Binding: GDPR Article 6 Legal Basis Value Set (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art6-codesystem | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
S | 1..1 | CodeableReference() | Condition under GDPR Article 9 for processing health data Binding: GDPR Article 9 Condition Value Set (required) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Reference to a concept (by class) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://example.org/fhir/trust-ai-transparency/CodeSystem/gdpr-art9-codesystem | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
0..1 | CodeableConcept | Activity that occurred Binding: ProvenanceActivityType (example): The activity that took place. | |||||
![]() ![]() |
0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred | |||||
![]() ![]() |
0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated | |||||
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | How the agent participated Binding: ParticipationRoleType (example): The type of participation that a provenance agent played with respect to the activity. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
![]() ![]() ![]() |
ΣC | 1..1 | Reference(Trust AI System Device) | AI system that performed the processing activity | ||||
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated | ||||
![]() ![]() |
SΣ | 1..* | BackboneElement | Input data used to generate the AI output | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | code | revision | quotation | source | instantiates | removal Binding: ProvenanceEntityRole (required): How an entity was used in an activity. Required Pattern: source | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(Resource) | Source data processed by the AI system | ||||
![]() ![]() ![]() |
0..* | See agent (Provenance) | Entity is attributed to this agent | |||||
![]() ![]() |
0..* | Signature | Signature on target | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Provenance.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Provenance.authorization | Base | example | PurposeOfUse | 📦3.1.0 | THO v7.4 |
| Provenance.authorization:gdprArt6Basis | Base | required | GDPR Article 6 Legal Basis Value Set | 📦0.1.0 | This IG |
| Provenance.authorization:gdprArt9Condition | Base | required | GDPR Article 9 Condition Value Set | 📦0.1.0 | This IG |
| Provenance.activity | Base | example | ValueSet of sample of representative activity type codes. | 📍5.0.0 | FHIR Std. |
| Provenance.agent.type | Base | example | Participation Role Type | 📍5.0.0 | FHIR Std. |
| Provenance.agent.role | Base | example | Security Role Type | 📍5.0.0 | FHIR Std. |
| Provenance.entity.role | Base | required | Provenance Entity Role | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Provenance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Provenance | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()
|
| prov-1 | error | Provenance.agent | Who and onBehalfOf cannot be the same |
who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
|
| prov-2 | error | Provenance.agent | If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner |
who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
|
| prov-3 | error | Provenance.agent | If who is an organization, onBehalfOf can't be a PractitionerRole within that organization |
who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()
|
This structure is derived from Provenance
Summary
Mandatory: 16 elements
Must-Support: 15 elements
Prohibited: 2 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron