This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Patient Care Work Group | Maturity Level: 2 | Trial Use | Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson |
An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.
Communication is one of the event resources in the FHIR workflow specification.
This resource is a record of a communication. A communication is a conveyance of information from one entity, a sender, to another entity, a receiver. The sender and receivers may be patients, practitioners, related persons, organizations, or devices. Communication use cases include:
Non-patient specific communication use cases may include:
This resource is a record of a communication that has occurred. It does not represent the actual flow of communication. While AuditEvent can track electronic disclosures of information, it cannot track conversations, phone calls, letters and other interactions that are not system-to-system. And even for system-to-system communications, the specific end recipients may not be known. As well, AuditEvents are not considered to be "part" of the patient record, while Communication instances are. The Communication resource is not used as a general audit mechanism to track every disclosure of every record. Rather, it is used when a clinician or other user wants to ensure a record of a particular communication is itself maintained as part of the reviewable health record.
Flag resources represent a continuous ongoing "communication" alerting anyone dealing with the patient of certain precautions to take or issues to be aware of. The flags are continuously present as an ongoing reminder. This is distinct from Communication where there is a specific intended sender and receiver and the information is delivered only once.
Communication and Encounter
The Communication is about the transfer of information (which may or may not occur as part of an encounter), while Encounter is about the coming together (in person or virtually) of a Patient with a Practitioner. Communication does not deal with the duration of a call, it represents the fact that information was transferred at a particular point in time.
The phone calls involving the Patient should be handled using Encounter. Phone calls not involving the patient (e.g. between practitioners or practitioner to relative) that are tracked for billing or other purposes can use Communication to represent the information transferred, but are not ideal to represent the call itself. A better mechanism for handling such calls will be explored in a future release.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | I | DomainResource | A record of information transmitted from a sender to a receiver + Not Done Reason can only be specified if NotDone is "true" Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Unique identifier |
definition | Σ | 0..* | Reference(PlanDefinition | ActivityDefinition) | Instantiates protocol or definition |
basedOn | Σ | 0..* | Reference(Any) | Request fulfilled by this communication |
partOf | Σ | 0..* | Reference(Any) | Part of this action |
status | ?!Σ | 1..1 | code | preparation | in-progress | suspended | aborted | completed | entered-in-error EventStatus (Required) |
notDone | ?!Σ | 0..1 | boolean | Communication did not occur |
notDoneReason | ΣI | 0..1 | CodeableConcept | Why communication did not occur CommunicationNotDoneReason (Example) |
category | 0..* | CodeableConcept | Message category CommunicationCategory (Example) | |
medium | 0..* | CodeableConcept | A channel of communication v3 Code System ParticipationMode (Example) | |
subject | Σ | 0..1 | Reference(Patient | Group) | Focus of message |
recipient | 0..* | Reference(Device | Organization | Patient | Practitioner | RelatedPerson | Group) | Message recipient | |
topic | 0..* | Reference(Any) | Focal resources | |
context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or episode leading to message |
sent | 0..1 | dateTime | When sent | |
received | 0..1 | dateTime | When received | |
sender | 0..1 | Reference(Device | Organization | Patient | Practitioner | RelatedPerson) | Message sender | |
reasonCode | Σ | 0..* | CodeableConcept | Indication for message SNOMED CT Clinical Findings (Example) |
reasonReference | Σ | 0..* | Reference(Condition | Observation) | Why was communication done? |
payload | 0..* | BackboneElement | Message payload | |
content[x] | 1..1 | Message part content | ||
contentString | string | |||
contentAttachment | Attachment | |||
contentReference | Reference(Any) | |||
note | 0..* | Annotation | Comments made about the communication | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<Communication xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique identifier --></identifier> <definition><!-- 0..* Reference(PlanDefinition|ActivityDefinition) Instantiates protocol or definition --></definition> <basedOn><!-- 0..* Reference(Any) Request fulfilled by this communication --></basedOn> <partOf><!-- 0..* Reference(Any) Part of this action --></partOf> <status value="[code]"/><!-- 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error --> <notDone value="[boolean]"/><!-- 0..1 Communication did not occur --> <notDoneReason><!-- 0..1 CodeableConcept Why communication did not occur --></notDoneReason> <category><!-- 0..* CodeableConcept Message category --></category> <medium><!-- 0..* CodeableConcept A channel of communication --></medium> <subject><!-- 0..1 Reference(Patient|Group) Focus of message --></subject> <recipient><!-- 0..* Reference(Device|Organization|Patient|Practitioner| RelatedPerson|Group) Message recipient --></recipient> <topic><!-- 0..* Reference(Any) Focal resources --></topic> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or episode leading to message --></context> <sent value="[dateTime]"/><!-- 0..1 When sent --> <received value="[dateTime]"/><!-- 0..1 When received --> <sender><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| RelatedPerson) Message sender --></sender> <reasonCode><!-- 0..* CodeableConcept Indication for message --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation) Why was communication done? --></reasonReference> <payload> <!-- 0..* Message payload --> <content[x]><!-- 1..1 string|Attachment|Reference(Any) Message part content --></content[x]> </payload> <note><!-- 0..* Annotation Comments made about the communication --></note> </Communication>
JSON Template
{ "resourceType" : "Communication", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "definition" : [{ Reference(PlanDefinition|ActivityDefinition) }], // Instantiates protocol or definition "basedOn" : [{ Reference(Any) }], // Request fulfilled by this communication "partOf" : [{ Reference(Any) }], // Part of this action "status" : "<code>", // R! preparation | in-progress | suspended | aborted | completed | entered-in-error "notDone" : <boolean>, // Communication did not occur "notDoneReason" : { CodeableConcept }, // C? Why communication did not occur "category" : [{ CodeableConcept }], // Message category "medium" : [{ CodeableConcept }], // A channel of communication "subject" : { Reference(Patient|Group) }, // Focus of message "recipient" : [{ Reference(Device|Organization|Patient|Practitioner| RelatedPerson|Group) }], // Message recipient "topic" : [{ Reference(Any) }], // Focal resources "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode leading to message "sent" : "<dateTime>", // When sent "received" : "<dateTime>", // When received "sender" : { Reference(Device|Organization|Patient|Practitioner| RelatedPerson) }, // Message sender "reasonCode" : [{ CodeableConcept }], // Indication for message "reasonReference" : [{ Reference(Condition|Observation) }], // Why was communication done? "payload" : [{ // Message payload // content[x]: Message part content. One of these 3: "contentString" : "<string>" "contentAttachment" : { Attachment } "contentReference" : { Reference(Any) } }], "note" : [{ Annotation }] // Comments made about the communication }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Communication; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Communication.identifier [ Identifier ], ... ; # 0..* Unique identifier fhir:Communication.definition [ Reference(PlanDefinition|ActivityDefinition) ], ... ; # 0..* Instantiates protocol or definition fhir:Communication.basedOn [ Reference(Any) ], ... ; # 0..* Request fulfilled by this communication fhir:Communication.partOf [ Reference(Any) ], ... ; # 0..* Part of this action fhir:Communication.status [ code ]; # 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error fhir:Communication.notDone [ boolean ]; # 0..1 Communication did not occur fhir:Communication.notDoneReason [ CodeableConcept ]; # 0..1 Why communication did not occur fhir:Communication.category [ CodeableConcept ], ... ; # 0..* Message category fhir:Communication.medium [ CodeableConcept ], ... ; # 0..* A channel of communication fhir:Communication.subject [ Reference(Patient|Group) ]; # 0..1 Focus of message fhir:Communication.recipient [ Reference(Device|Organization|Patient|Practitioner|RelatedPerson|Group) ], ... ; # 0..* Message recipient fhir:Communication.topic [ Reference(Any) ], ... ; # 0..* Focal resources fhir:Communication.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or episode leading to message fhir:Communication.sent [ dateTime ]; # 0..1 When sent fhir:Communication.received [ dateTime ]; # 0..1 When received fhir:Communication.sender [ Reference(Device|Organization|Patient|Practitioner|RelatedPerson) ]; # 0..1 Message sender fhir:Communication.reasonCode [ CodeableConcept ], ... ; # 0..* Indication for message fhir:Communication.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Why was communication done? fhir:Communication.payload [ # 0..* Message payload # Communication.payload.content[x] : 1..1 Message part content. One of these 3 fhir:Communication.payload.contentString [ string ] fhir:Communication.payload.contentAttachment [ Attachment ] fhir:Communication.payload.contentReference [ Reference(Any) ] ], ...; fhir:Communication.note [ Annotation ], ... ; # 0..* Comments made about the communication ]
Changes since DSTU2
Communication | |
Communication.definition |
|
Communication.basedOn |
|
Communication.partOf |
|
Communication.status |
|
Communication.notDone |
|
Communication.notDoneReason |
|
Communication.category |
|
Communication.subject |
|
Communication.topic |
|
Communication.context |
|
Communication.reasonCode |
|
Communication.reasonReference |
|
Communication.note |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | I | DomainResource | A record of information transmitted from a sender to a receiver + Not Done Reason can only be specified if NotDone is "true" Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Unique identifier |
definition | Σ | 0..* | Reference(PlanDefinition | ActivityDefinition) | Instantiates protocol or definition |
basedOn | Σ | 0..* | Reference(Any) | Request fulfilled by this communication |
partOf | Σ | 0..* | Reference(Any) | Part of this action |
status | ?!Σ | 1..1 | code | preparation | in-progress | suspended | aborted | completed | entered-in-error EventStatus (Required) |
notDone | ?!Σ | 0..1 | boolean | Communication did not occur |
notDoneReason | ΣI | 0..1 | CodeableConcept | Why communication did not occur CommunicationNotDoneReason (Example) |
category | 0..* | CodeableConcept | Message category CommunicationCategory (Example) | |
medium | 0..* | CodeableConcept | A channel of communication v3 Code System ParticipationMode (Example) | |
subject | Σ | 0..1 | Reference(Patient | Group) | Focus of message |
recipient | 0..* | Reference(Device | Organization | Patient | Practitioner | RelatedPerson | Group) | Message recipient | |
topic | 0..* | Reference(Any) | Focal resources | |
context | Σ | 0..1 | Reference(Encounter | EpisodeOfCare) | Encounter or episode leading to message |
sent | 0..1 | dateTime | When sent | |
received | 0..1 | dateTime | When received | |
sender | 0..1 | Reference(Device | Organization | Patient | Practitioner | RelatedPerson) | Message sender | |
reasonCode | Σ | 0..* | CodeableConcept | Indication for message SNOMED CT Clinical Findings (Example) |
reasonReference | Σ | 0..* | Reference(Condition | Observation) | Why was communication done? |
payload | 0..* | BackboneElement | Message payload | |
content[x] | 1..1 | Message part content | ||
contentString | string | |||
contentAttachment | Attachment | |||
contentReference | Reference(Any) | |||
note | 0..* | Annotation | Comments made about the communication | |
Documentation for this format |
XML Template
<Communication xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique identifier --></identifier> <definition><!-- 0..* Reference(PlanDefinition|ActivityDefinition) Instantiates protocol or definition --></definition> <basedOn><!-- 0..* Reference(Any) Request fulfilled by this communication --></basedOn> <partOf><!-- 0..* Reference(Any) Part of this action --></partOf> <status value="[code]"/><!-- 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error --> <notDone value="[boolean]"/><!-- 0..1 Communication did not occur --> <notDoneReason><!-- 0..1 CodeableConcept Why communication did not occur --></notDoneReason> <category><!-- 0..* CodeableConcept Message category --></category> <medium><!-- 0..* CodeableConcept A channel of communication --></medium> <subject><!-- 0..1 Reference(Patient|Group) Focus of message --></subject> <recipient><!-- 0..* Reference(Device|Organization|Patient|Practitioner| RelatedPerson|Group) Message recipient --></recipient> <topic><!-- 0..* Reference(Any) Focal resources --></topic> <context><!-- 0..1 Reference(Encounter|EpisodeOfCare) Encounter or episode leading to message --></context> <sent value="[dateTime]"/><!-- 0..1 When sent --> <received value="[dateTime]"/><!-- 0..1 When received --> <sender><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| RelatedPerson) Message sender --></sender> <reasonCode><!-- 0..* CodeableConcept Indication for message --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation) Why was communication done? --></reasonReference> <payload> <!-- 0..* Message payload --> <content[x]><!-- 1..1 string|Attachment|Reference(Any) Message part content --></content[x]> </payload> <note><!-- 0..* Annotation Comments made about the communication --></note> </Communication>
JSON Template
{ "resourceType" : "Communication", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "definition" : [{ Reference(PlanDefinition|ActivityDefinition) }], // Instantiates protocol or definition "basedOn" : [{ Reference(Any) }], // Request fulfilled by this communication "partOf" : [{ Reference(Any) }], // Part of this action "status" : "<code>", // R! preparation | in-progress | suspended | aborted | completed | entered-in-error "notDone" : <boolean>, // Communication did not occur "notDoneReason" : { CodeableConcept }, // C? Why communication did not occur "category" : [{ CodeableConcept }], // Message category "medium" : [{ CodeableConcept }], // A channel of communication "subject" : { Reference(Patient|Group) }, // Focus of message "recipient" : [{ Reference(Device|Organization|Patient|Practitioner| RelatedPerson|Group) }], // Message recipient "topic" : [{ Reference(Any) }], // Focal resources "context" : { Reference(Encounter|EpisodeOfCare) }, // Encounter or episode leading to message "sent" : "<dateTime>", // When sent "received" : "<dateTime>", // When received "sender" : { Reference(Device|Organization|Patient|Practitioner| RelatedPerson) }, // Message sender "reasonCode" : [{ CodeableConcept }], // Indication for message "reasonReference" : [{ Reference(Condition|Observation) }], // Why was communication done? "payload" : [{ // Message payload // content[x]: Message part content. One of these 3: "contentString" : "<string>" "contentAttachment" : { Attachment } "contentReference" : { Reference(Any) } }], "note" : [{ Annotation }] // Comments made about the communication }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Communication; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Communication.identifier [ Identifier ], ... ; # 0..* Unique identifier fhir:Communication.definition [ Reference(PlanDefinition|ActivityDefinition) ], ... ; # 0..* Instantiates protocol or definition fhir:Communication.basedOn [ Reference(Any) ], ... ; # 0..* Request fulfilled by this communication fhir:Communication.partOf [ Reference(Any) ], ... ; # 0..* Part of this action fhir:Communication.status [ code ]; # 1..1 preparation | in-progress | suspended | aborted | completed | entered-in-error fhir:Communication.notDone [ boolean ]; # 0..1 Communication did not occur fhir:Communication.notDoneReason [ CodeableConcept ]; # 0..1 Why communication did not occur fhir:Communication.category [ CodeableConcept ], ... ; # 0..* Message category fhir:Communication.medium [ CodeableConcept ], ... ; # 0..* A channel of communication fhir:Communication.subject [ Reference(Patient|Group) ]; # 0..1 Focus of message fhir:Communication.recipient [ Reference(Device|Organization|Patient|Practitioner|RelatedPerson|Group) ], ... ; # 0..* Message recipient fhir:Communication.topic [ Reference(Any) ], ... ; # 0..* Focal resources fhir:Communication.context [ Reference(Encounter|EpisodeOfCare) ]; # 0..1 Encounter or episode leading to message fhir:Communication.sent [ dateTime ]; # 0..1 When sent fhir:Communication.received [ dateTime ]; # 0..1 When received fhir:Communication.sender [ Reference(Device|Organization|Patient|Practitioner|RelatedPerson) ]; # 0..1 Message sender fhir:Communication.reasonCode [ CodeableConcept ], ... ; # 0..* Indication for message fhir:Communication.reasonReference [ Reference(Condition|Observation) ], ... ; # 0..* Why was communication done? fhir:Communication.payload [ # 0..* Message payload # Communication.payload.content[x] : 1..1 Message part content. One of these 3 fhir:Communication.payload.contentString [ string ] fhir:Communication.payload.contentAttachment [ Attachment ] fhir:Communication.payload.contentReference [ Reference(Any) ] ], ...; fhir:Communication.note [ Annotation ], ... ; # 0..* Comments made about the communication ]
Changes since DSTU2
Communication | |
Communication.definition |
|
Communication.basedOn |
|
Communication.partOf |
|
Communication.status |
|
Communication.notDone |
|
Communication.notDoneReason |
|
Communication.category |
|
Communication.subject |
|
Communication.topic |
|
Communication.context |
|
Communication.reasonCode |
|
Communication.reasonReference |
|
Communication.note |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)
Path | Definition | Type | Reference |
---|---|---|---|
Communication.status | The status of the communication. | Required | EventStatus |
Communication.notDoneReason | Codes for the reason why a communication was not done. | Example | CommunicationNotDoneReason |
Communication.category | Codes for general categories of communications such as alerts, instruction, etc. | Example | CommunicationCategory |
Communication.medium | Codes for communication mediums such as phone, fax, email, in person, etc. | Example | v3 Code System ParticipationMode |
Communication.reasonCode | Codes for describing reasons for the occurrence of a communication. | Example | SNOMED CT Clinical Findings |
Notes to reviewers:
At this time, the code bindings are placeholders to be fleshed out upon further review by the community.
Communication.sender and Communication.recipient allow Patient|Practitioner|RelatedPerson - but it is not unusual to have a communication target - even a defined one - where it is unknown what kind of role the person is playing.
If the communication is to or from an individual, whose role is not known (practitioner, patient or related person), - for example, only email address is captured in the system; then RelatedPerson should be used by default.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
based-on | reference | Request fulfilled by this communication | Communication.basedOn (Any) | |
category | token | Message category | Communication.category | |
context | reference | Encounter or episode leading to message | Communication.context (EpisodeOfCare, Encounter) | |
definition | reference | Instantiates protocol or definition | Communication.definition (PlanDefinition, ActivityDefinition) | |
encounter | reference | Encounter leading to message | Communication.context (Encounter) | |
identifier | token | Unique identifier | Communication.identifier | |
medium | token | A channel of communication | Communication.medium | |
part-of | reference | Part of this action | Communication.partOf (Any) | |
patient | reference | Focus of message | Communication.subject (Patient) | |
received | date | When received | Communication.received | |
recipient | reference | Message recipient | Communication.recipient (Practitioner, Group, Organization, Device, Patient, RelatedPerson) | |
sender | reference | Message sender | Communication.sender (Practitioner, Organization, Device, Patient, RelatedPerson) | |
sent | date | When sent | Communication.sent | |
status | token | preparation | in-progress | suspended | aborted | completed | entered-in-error | Communication.status | |
subject | reference | Focus of message | Communication.subject (Group, Patient) |