0.1.0 - ci-build
EUAITransparencyIG - 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/eu-ai-transparency/StructureDefinition/eu-ai-patient-explanation | Version: 0.1.0 | |||
| Draft as of 2026-07-31 | Computable Name: EU_AIPatientExplanation | |||
A Communication profile documenting that an explanation regarding an AI-supported clinical decision was provided to a patient. The explanation may describe the role of the AI system, the related human oversight, and the key elements of the resulting clinical decision in accordance with Article 86 of the EU AI Act.
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..* | Communication | A clinical or business level record of information being transmitted or shared | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | The patient who received the explanation |
![]() ![]() |
S | 1..* | Reference(Resource) | The specific decision the patient wants to have explained |
![]() ![]() |
S | 1..1 | dateTime | Date and time the explanation was provided |
![]() ![]() |
S | 1..1 | Reference(PractitionerRole) | The human-in-the-loop providing the explanation |
![]() ![]() |
S | 1..* | BackboneElement | Patient-facing explanation or reference to an explanation document |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Message part content | ||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(DocumentReference) | |||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.status | Base | required | EventStatus | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | 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 | Communication | 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 | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | 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 Communication
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | A clinical or business level record of information being transmitted or shared | |
![]() ![]() |
S | 1..1 | Reference(Patient) | The patient who received the explanation |
![]() ![]() |
S | 1..* | Reference(Resource) | The specific decision the patient wants to have explained |
![]() ![]() |
S | 1..1 | dateTime | Date and time the explanation was provided |
![]() ![]() |
S | 1..1 | Reference(PractitionerRole) | The human-in-the-loop providing the explanation |
![]() ![]() |
S | 1..* | BackboneElement | Patient-facing explanation or reference to an explanation document |
![]() ![]() ![]() |
1..1 | Message part content | ||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(DocumentReference) | |||
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Communication | A clinical or business level record of information being transmitted or shared | |||||
![]() ![]() |
Σ | 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 | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Unique identifier | ||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Request fulfilled by this communication | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Part of referenced event (e.g. Communication, Procedure) | ||||
![]() ![]() |
0..* | Reference(Communication) | Reply to | |||||
![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. | ||||
![]() ![]() |
0..* | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. | ||||
![]() ![]() |
0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | The patient who received the explanation | ||||
![]() ![]() |
0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |||||
![]() ![]() |
S | 1..* | Reference(Resource) | The specific decision the patient wants to have explained | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | The Encounter during which this Communication was created | ||||
![]() ![]() |
S | 1..1 | dateTime | Date and time the explanation was provided | ||||
![]() ![]() |
0..1 | dateTime | When received | |||||
![]() ![]() |
0..* | Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Endpoint) | Who the information is shared with | |||||
![]() ![]() |
S | 1..1 | Reference(PractitionerRole) | The human-in-the-loop providing the explanation | ||||
![]() ![]() |
Σ | 0..* | CodeableReference(Resource) | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. | ||||
![]() ![]() |
S | 1..* | BackboneElement | Patient-facing explanation or reference to an explanation document | ||||
![]() ![]() ![]() |
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 | Message part content | ||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() |
Reference(DocumentReference) | |||||||
![]() ![]() |
0..* | Annotation | Comments made about the communication | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Communication.status | Base | required | EventStatus | 📍5.0.0 | FHIR Std. |
| Communication.statusReason | Base | example | Communication Not Done Reason | 📍5.0.0 | FHIR Std. |
| Communication.category | Base | example | Communication Category | 📍5.0.0 | FHIR Std. |
| Communication.priority | Base | required | RequestPriority | 📍5.0.0 | FHIR Std. |
| Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v7.3 |
| Communication.topic | Base | example | Communication Topic | 📍5.0.0 | FHIR Std. |
| Communication.reason | Base | example | SNOMED CT Clinical Findings | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | 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 | Communication | 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 | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | 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 Communication
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | A clinical or business level record of information being transmitted or shared | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | The patient who received the explanation |
![]() ![]() |
S | 1..* | Reference(Resource) | The specific decision the patient wants to have explained |
![]() ![]() |
S | 1..1 | dateTime | Date and time the explanation was provided |
![]() ![]() |
S | 1..1 | Reference(PractitionerRole) | The human-in-the-loop providing the explanation |
![]() ![]() |
S | 1..* | BackboneElement | Patient-facing explanation or reference to an explanation document |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Message part content | ||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(DocumentReference) | |||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.status | Base | required | EventStatus | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | 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 | Communication | 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 | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | 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 Communication
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | A clinical or business level record of information being transmitted or shared | |
![]() ![]() |
S | 1..1 | Reference(Patient) | The patient who received the explanation |
![]() ![]() |
S | 1..* | Reference(Resource) | The specific decision the patient wants to have explained |
![]() ![]() |
S | 1..1 | dateTime | Date and time the explanation was provided |
![]() ![]() |
S | 1..1 | Reference(PractitionerRole) | The human-in-the-loop providing the explanation |
![]() ![]() |
S | 1..* | BackboneElement | Patient-facing explanation or reference to an explanation document |
![]() ![]() ![]() |
1..1 | Message part content | ||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(DocumentReference) | |||
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Communication | A clinical or business level record of information being transmitted or shared | |||||
![]() ![]() |
Σ | 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 | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Unique identifier | ||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Request fulfilled by this communication | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Part of referenced event (e.g. Communication, Procedure) | ||||
![]() ![]() |
0..* | Reference(Communication) | Reply to | |||||
![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. | ||||
![]() ![]() |
0..* | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. | ||||
![]() ![]() |
0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient) | The patient who received the explanation | ||||
![]() ![]() |
0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |||||
![]() ![]() |
S | 1..* | Reference(Resource) | The specific decision the patient wants to have explained | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | The Encounter during which this Communication was created | ||||
![]() ![]() |
S | 1..1 | dateTime | Date and time the explanation was provided | ||||
![]() ![]() |
0..1 | dateTime | When received | |||||
![]() ![]() |
0..* | Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Endpoint) | Who the information is shared with | |||||
![]() ![]() |
S | 1..1 | Reference(PractitionerRole) | The human-in-the-loop providing the explanation | ||||
![]() ![]() |
Σ | 0..* | CodeableReference(Resource) | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. | ||||
![]() ![]() |
S | 1..* | BackboneElement | Patient-facing explanation or reference to an explanation document | ||||
![]() ![]() ![]() |
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 | Message part content | ||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() |
Reference(DocumentReference) | |||||||
![]() ![]() |
0..* | Annotation | Comments made about the communication | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Communication.status | Base | required | EventStatus | 📍5.0.0 | FHIR Std. |
| Communication.statusReason | Base | example | Communication Not Done Reason | 📍5.0.0 | FHIR Std. |
| Communication.category | Base | example | Communication Category | 📍5.0.0 | FHIR Std. |
| Communication.priority | Base | required | RequestPriority | 📍5.0.0 | FHIR Std. |
| Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v7.3 |
| Communication.topic | Base | example | Communication Topic | 📍5.0.0 | FHIR Std. |
| Communication.reason | Base | example | SNOMED CT Clinical Findings | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | 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 | Communication | 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 | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | 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 Communication
Other representations of profile: CSV, Excel, Schematron