QI-Core Implementation Guide
8.0.0-ballot - STU 8 - ballot

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 8.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

## Resource Profile: QICore Communication

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-communication | Version: 8.0.0-ballot
Standards status: Trial-use Active as of 2023-08-01 | Maturity Level: 4 | Computable Name: QICoreCommunication

Profile of Communication for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

"Must Have", "QI Elements" and "primary code path" are defined in the QI-Core Must Support section.
QI Elements:

- topic.extension(codeOptions): (QI) Url of a value set of candidate topics
- sender: (QI) Message sender
- sent: (QI) When sent
- topic: (QI) Description of the purpose/content
- subject: (QI) Focus of message
- received: (QI) When received
- status: (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
- recipient: (QI) Message recipient

Primary code path: topic
(PCPath) This element is the primary code path for this resource CQL Retrieve
Usage

The Communication profile defines the conformance expectations for a Communication event, regardless of whether it is a positive or negative statement. To ensure instances retrieved meet positive intent, applications should check the status as illustrated in this example:

    define "Lab results communicated":
       ["Communication": "report-labs"] LabReport
           where LabReport.topic = 'report-labs'
           and LabReport.status = 'completed'
           and LabReport.reasonCode = 'Serum pregnancy test negative (finding)'

Alternatively, applications may make use of the positive and negative profiles to address status. The CommunicationDone and CommunicationNotDone profiles represent the positive and negative statements for a communication event.

To create an expression indicating existence of a communication, use the profile QICoreCommunicationDone; to specifically request information that a communication intentionally did not occur for a medical, patient or system reason, use the profile QICoreCommunicationNotDone.

See the patterns page for implementation and usage patterns.

### Examples

Written Alert Example

Usages:

- Derived from this Profile: QICore CommunicationDone and QICore Communication Not Done
- Examples for this Profile: Communication/example

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Communication | C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: com-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication.
subject | Σ | 0..1 | Reference(QICore Patient | Group) | (QI) Focus of message
topic | C | 0..1 | CodeableConcept | (QI) Description of the purpose/content Binding: CommunicationTopic (1.0.0) (preferred)
Slices for extension |  |  |  | Content/Rules for all slices
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate topics URL: http://hl7.org/fhir/StructureDefinition/codeOptions
sent |  | 0..1 | dateTime | (QI) When sent
received |  | 0..1 | dateTime | (QI) When received
recipient |  | 0..* | Reference(QICore CareTeam | QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson | Group) | (QI) Message recipient
sender |  | 0..1 | Reference(QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson) | (QI) Message sender
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std.
Communication.topic | Base | preferred | CommunicationTopic | 📍1.0.0 | THO v5.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
com-1 | error | Communication | to indicate what communication, either at least one coding in the topic or a codeOptions extension shall be provided | `topic.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor (topic.coding.exists() or topic.text.exists())`
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().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 | 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()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Communication | C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: com-1
status |  | 1..1 | code | (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
subject |  | 0..1 | Reference(QICore Patient | Group) | (QI) Focus of message
topic | C | 0..1 | CodeableConcept | (QI) Description of the purpose/content Binding: CommunicationTopic (1.0.0) (preferred)
Slices for extension |  |  |  | Content/Rules for all slices
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate topics URL: http://hl7.org/fhir/StructureDefinition/codeOptions
sent |  | 0..1 | dateTime | (QI) When sent
received |  | 0..1 | dateTime | (QI) When received
recipient |  | 0..* | Reference(QICore CareTeam | QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson | Group) | (QI) Message recipient
sender |  | 0..1 | Reference(QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson) | (QI) Message sender
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Communication.topic | Base | preferred | CommunicationTopic | 📍1.0.0 | THO v5.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
com-1 | error | Communication | to indicate what communication, either at least one coding in the topic or a codeOptions extension shall be provided | `topic.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor (topic.coding.exists() or topic.text.exists())`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Communication | C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: com-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Unique identifier
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(Resource) | Request fulfilled by this communication
partOf | Σ | 0..* | Reference(Resource) | Part of this action
inResponseTo |  | 0..* | Reference(Communication) | Reply to
status | ?!Σ | 1..1 | code | (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication.
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.
category |  | 0..* | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc.
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication.
medium |  | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.
subject | Σ | 0..1 | Reference(QICore Patient | Group) | (QI) Focus of message
topic | C | 0..1 | CodeableConcept | (QI) Description of the purpose/content Binding: CommunicationTopic (1.0.0) (preferred)
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate topics URL: http://hl7.org/fhir/StructureDefinition/codeOptions
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | Σ | 0..1 | string | Plain text representation of the concept
about |  | 0..* | Reference(Resource) | Resources that pertain to this communication
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
sent |  | 0..1 | dateTime | (QI) When sent
received |  | 0..1 | dateTime | (QI) When received
recipient |  | 0..* | Reference(QICore CareTeam | QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson | Group) | (QI) Message recipient
sender |  | 0..1 | Reference(QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson) | (QI) Message sender
reasonCode | Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.
reasonReference | Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why was communication done?
payload |  | 0..* | BackboneElement | Message payload
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
content[x] |  | 1..1 |  | Message part content
contentString |  |  | string |
contentAttachment |  |  | Attachment |
contentReference |  |  | Reference(Resource) |
note |  | 0..* | Annotation | Comments made about the communication
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std.
Communication.statusReason | Base | example | CommunicationNotDoneReason | 📍4.0.1 | FHIR Std.
Communication.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std.
Communication.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5
Communication.topic | Base | preferred | CommunicationTopic | 📍1.0.0 | THO v5.5
Communication.reasonCode | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
com-1 | error | Communication | to indicate what communication, either at least one coding in the topic or a codeOptions extension shall be provided | `topic.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor (topic.coding.exists() or topic.text.exists())`
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().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 | 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()`

Summary

Structures

This structure refers to these other structures:

- QICore Patient (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient)
- QICore CareTeam (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-careteam)
- QICore Device (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-device)
- US Core Implantable Device Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device)
- QICore Organization (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-organization)
- QICore Practitioner (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitioner)
- QICore RelatedPerson (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-relatedperson)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/codeOptions|8.0.0-ballot

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Communication | C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: com-1
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication.
subject | Σ | 0..1 | Reference(QICore Patient | Group) | (QI) Focus of message
topic | C | 0..1 | CodeableConcept | (QI) Description of the purpose/content Binding: CommunicationTopic (1.0.0) (preferred)
Slices for extension |  |  |  | Content/Rules for all slices
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate topics URL: http://hl7.org/fhir/StructureDefinition/codeOptions
sent |  | 0..1 | dateTime | (QI) When sent
received |  | 0..1 | dateTime | (QI) When received
recipient |  | 0..* | Reference(QICore CareTeam | QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson | Group) | (QI) Message recipient
sender |  | 0..1 | Reference(QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson) | (QI) Message sender
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std.
Communication.topic | Base | preferred | CommunicationTopic | 📍1.0.0 | THO v5.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
com-1 | error | Communication | to indicate what communication, either at least one coding in the topic or a codeOptions extension shall be provided | `topic.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor (topic.coding.exists() or topic.text.exists())`
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().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 | 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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Communication | C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: com-1
status |  | 1..1 | code | (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
subject |  | 0..1 | Reference(QICore Patient | Group) | (QI) Focus of message
topic | C | 0..1 | CodeableConcept | (QI) Description of the purpose/content Binding: CommunicationTopic (1.0.0) (preferred)
Slices for extension |  |  |  | Content/Rules for all slices
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate topics URL: http://hl7.org/fhir/StructureDefinition/codeOptions
sent |  | 0..1 | dateTime | (QI) When sent
received |  | 0..1 | dateTime | (QI) When received
recipient |  | 0..* | Reference(QICore CareTeam | QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson | Group) | (QI) Message recipient
sender |  | 0..1 | Reference(QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson) | (QI) Message sender
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Communication.topic | Base | preferred | CommunicationTopic | 📍1.0.0 | THO v5.5

#### Constraints

Id | Grade | Path(s) | Description | Expression
com-1 | error | Communication | to indicate what communication, either at least one coding in the topic or a codeOptions extension shall be provided | `topic.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor (topic.coding.exists() or topic.text.exists())`

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Communication | C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: com-1
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | Σ | 0..* | Identifier | Unique identifier
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition
basedOn | Σ | 0..* | Reference(Resource) | Request fulfilled by this communication
partOf | Σ | 0..* | Reference(Resource) | Part of this action
inResponseTo |  | 0..* | Reference(Communication) | Reply to
status | ?!Σ | 1..1 | code | (QI) preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication.
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.
category |  | 0..* | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc.
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication.
medium |  | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.
subject | Σ | 0..1 | Reference(QICore Patient | Group) | (QI) Focus of message
topic | C | 0..1 | CodeableConcept | (QI) Description of the purpose/content Binding: CommunicationTopic (1.0.0) (preferred)
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate topics URL: http://hl7.org/fhir/StructureDefinition/codeOptions
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | Σ | 0..1 | string | Plain text representation of the concept
about |  | 0..* | Reference(Resource) | Resources that pertain to this communication
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
sent |  | 0..1 | dateTime | (QI) When sent
received |  | 0..1 | dateTime | (QI) When received
recipient |  | 0..* | Reference(QICore CareTeam | QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson | Group) | (QI) Message recipient
sender |  | 0..1 | Reference(QICore Device | US Core Implantable Device Profile | QICore Organization | QICore Patient | QICore Practitioner | QICore RelatedPerson) | (QI) Message sender
reasonCode | Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.
reasonReference | Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why was communication done?
payload |  | 0..* | BackboneElement | Message payload
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
content[x] |  | 1..1 |  | Message part content
contentString |  |  | string |
contentAttachment |  |  | Attachment |
contentReference |  |  | Reference(Resource) |
note |  | 0..* | Annotation | Comments made about the communication
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std.
Communication.statusReason | Base | example | CommunicationNotDoneReason | 📍4.0.1 | FHIR Std.
Communication.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std.
Communication.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5
Communication.topic | Base | preferred | CommunicationTopic | 📍1.0.0 | THO v5.5
Communication.reasonCode | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
com-1 | error | Communication | to indicate what communication, either at least one coding in the topic or a codeOptions extension shall be provided | `topic.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').exists() xor (topic.coding.exists() or topic.text.exists())`
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().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 | 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()`

Summary

Structures

This structure refers to these other structures:

- QICore Patient (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient)
- QICore CareTeam (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-careteam)
- QICore Device (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-device)
- US Core Implantable Device Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device)
- QICore Organization (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-organization)
- QICore Practitioner (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitioner)
- QICore RelatedPerson (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-relatedperson)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/StructureDefinition/codeOptions|8.0.0-ballot

Maturity: 4

Other representations of profile: CSV, Excel, Schematron