QI-Core Implementation Guide
4.1.1 - STU 4.1.1
US
This page is part of the Quality Improvement Core Framework (v4.1.1: STU 4) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-communication | Version: 4.1.1 | |||
Draft as of 2018-08-22 | 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.
See the patterns page for implementation and usage patterns.
To create an expression specifically requesting information that a communication intentionally did not occur for a medical, patient or system reason, use the profile QICore-communicationnotdone.
The Communication and CommunicationNotDone profiles represent the positive and negative statements for a communication event. To ensure instances retrieved meet positive intent, applications should check the status as illustrated in this example:
define Communication:
[Communication] C
where C.status in { 'preparation', 'in-progress', 'on-hold', 'completed' }
Written Alert Example |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Communication
Summary
Must-Support: 11 elements
Structures
This structure refers to these other structures:
This structure is derived from Communication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
status | S | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown |
statusReason | S | 0..1 | CodeableConcept | Reason for current status |
category | S | 0..* | CodeableConcept | Message category |
medium | S | 0..* | CodeableConcept | A channel of communication |
subject | S | 0..1 | Reference(QICorePatient | Group) | Focus of message |
encounter | S | 0..1 | Reference(QICoreEncounter) | Encounter created as part of |
sent | S | 0..1 | dateTime | When sent |
received | S | 0..1 | dateTime | When received |
recipient | S | 0..* | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson | Group) | Message recipient |
sender | S | 0..1 | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Message sender |
reasonCode | S | 0..* | CodeableConcept | Indication for message |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
id | Σ | 0..1 | string | 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) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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 | ?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
statusReason | SΣ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. |
category | S | 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 | S | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. |
subject | SΣ | 0..1 | Reference(QICorePatient | Group) | Focus of message |
topic | 0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |
about | 0..* | Reference(Resource) | Resources that pertain to this communication | |
encounter | SΣ | 0..1 | Reference(QICoreEncounter) | Encounter created as part of |
sent | S | 0..1 | dateTime | When sent |
received | S | 0..1 | dateTime | When received |
recipient | S | 0..* | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson | Group) | Message recipient |
sender | S | 0..1 | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Message sender |
reasonCode | SΣ | 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 |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
status | ?!Σ | 1..1 | code | 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. | |
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(QICorePatient | Group) | Focus of message |
encounter | Σ | 0..1 | Reference(QICoreEncounter) | Encounter created as part of |
sent | 0..1 | dateTime | When sent | |
received | 0..1 | dateTime | When received | |
recipient | 0..* | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson | Group) | Message recipient | |
sender | 0..1 | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Message sender | |
reasonCode | Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. |
Documentation for this format |
This structure is derived from Communication
Summary
Must-Support: 11 elements
Structures
This structure refers to these other structures:
Differential View
This structure is derived from Communication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
status | S | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown |
statusReason | S | 0..1 | CodeableConcept | Reason for current status |
category | S | 0..* | CodeableConcept | Message category |
medium | S | 0..* | CodeableConcept | A channel of communication |
subject | S | 0..1 | Reference(QICorePatient | Group) | Focus of message |
encounter | S | 0..1 | Reference(QICoreEncounter) | Encounter created as part of |
sent | S | 0..1 | dateTime | When sent |
received | S | 0..1 | dateTime | When received |
recipient | S | 0..* | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson | Group) | Message recipient |
sender | S | 0..1 | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Message sender |
reasonCode | S | 0..* | CodeableConcept | Indication for message |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
id | Σ | 0..1 | string | 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) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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 | ?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
statusReason | SΣ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. |
category | S | 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 | S | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. |
subject | SΣ | 0..1 | Reference(QICorePatient | Group) | Focus of message |
topic | 0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |
about | 0..* | Reference(Resource) | Resources that pertain to this communication | |
encounter | SΣ | 0..1 | Reference(QICoreEncounter) | Encounter created as part of |
sent | S | 0..1 | dateTime | When sent |
received | S | 0..1 | dateTime | When received |
recipient | S | 0..* | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson | Group) | Message recipient |
sender | S | 0..1 | Reference(QICoreDevice | QICoreOrganization | QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Message sender |
reasonCode | SΣ | 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 |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Communication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Communication.status | required | EventStatus |
Communication.statusReason | example | CommunicationNotDoneReason |
Communication.category | example | CommunicationCategory |
Communication.priority | required | RequestPriority |
Communication.medium | example | ParticipationMode |
Communication.topic | example | CommunicationTopic |
Communication.reasonCode | example | SNOMEDCTClinicalFindings |
Id | Grade | Path | Details | Requirements |
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 | Communication.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Communication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Communication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Communication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Communication.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.instantiatesCanonical | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.instantiatesUri | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.inResponseTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.priority | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.medium | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.topic | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.about | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.sent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.received | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.recipient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.sender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.reasonCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.reasonReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.payload | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.payload.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Communication.payload.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Communication.payload.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Communication.payload.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Communication.payload.content[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Communication.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |