This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). 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 | Security Category: Patient | 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 that 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 even if it is planned or has failed. 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 might not be known. Furthermore, 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 might or might 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.
This resource is referenced by itself
Structure
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> <instantiatesCanonical><!-- 0..* canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(Any) Request fulfilled by this communication --></basedOn> <partOf><!-- 0..* Reference(Any) Part of this action --></partOf> <inResponseTo><!-- 0..* Reference(Communication) Reply to --></inResponseTo> <status value="[code]"/><!-- 1..1 preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <category><!-- 0..* CodeableConcept Message category --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <medium><!-- 0..* CodeableConcept A channel of communication --></medium> <subject><!-- 0..1 Reference(Patient|Group) Focus of message --></subject> <topic><!-- 0..1 CodeableConcept Description of the purpose/content --></topic> <about><!-- 0..* Reference(Any) Resources that pertain to this communication --></about> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <sent value="[dateTime]"/><!-- 0..1 When sent --> <received value="[dateTime]"/><!-- 0..1 When received --> <recipient><!-- 0..* Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Group|CareTeam|HealthcareService) Message recipient --></recipient> <sender><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService) Message sender --></sender> <reasonCode><!-- 0..* CodeableConcept Indication for message --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport| DocumentReference) 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 "instantiatesCanonical" : [{ canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(Any) }], // Request fulfilled by this communication "partOf" : [{ Reference(Any) }], // Part of this action "inResponseTo" : [{ Reference(Communication) }], // Reply to "status" : "<code>", // R! preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown "statusReason" : { CodeableConcept }, // Reason for current status "category" : [{ CodeableConcept }], // Message category "priority" : "<code>", // routine | urgent | asap | stat "medium" : [{ CodeableConcept }], // A channel of communication "subject" : { Reference(Patient|Group) }, // Focus of message "topic" : { CodeableConcept }, // Description of the purpose/content "about" : [{ Reference(Any) }], // Resources that pertain to this communication "encounter" : { Reference(Encounter) }, // Encounter created as part of "sent" : "<dateTime>", // When sent "received" : "<dateTime>", // When received "recipient" : [{ Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Group|CareTeam|HealthcareService) }], // Message recipient "sender" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService) }, // Message sender "reasonCode" : [{ CodeableConcept }], // Indication for message "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport| DocumentReference) }], // 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.instantiatesCanonical [ canonical(PlanDefinition|ActivityDefinition|Measure|OperationDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:Communication.instantiatesUri [ uri ], ... ; # 0..* Instantiates external 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.inResponseTo [ Reference(Communication) ], ... ; # 0..* Reply to fhir:Communication.status [ code ]; # 1..1 preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown fhir:Communication.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:Communication.category [ CodeableConcept ], ... ; # 0..* Message category fhir:Communication.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:Communication.medium [ CodeableConcept ], ... ; # 0..* A channel of communication fhir:Communication.subject [ Reference(Patient|Group) ]; # 0..1 Focus of message fhir:Communication.topic [ CodeableConcept ]; # 0..1 Description of the purpose/content fhir:Communication.about [ Reference(Any) ], ... ; # 0..* Resources that pertain to this communication fhir:Communication.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of fhir:Communication.sent [ dateTime ]; # 0..1 When sent fhir:Communication.received [ dateTime ]; # 0..1 When received fhir:Communication.recipient [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Group| CareTeam|HealthcareService) ], ... ; # 0..* Message recipient fhir:Communication.sender [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson| HealthcareService) ]; # 0..1 Message sender fhir:Communication.reasonCode [ CodeableConcept ], ... ; # 0..* Indication for message fhir:Communication.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 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 R3
Communication | |
Communication.instantiatesCanonical |
|
Communication.instantiatesUri |
|
Communication.inResponseTo |
|
Communication.status |
|
Communication.statusReason |
|
Communication.priority |
|
Communication.topic |
|
Communication.about |
|
Communication.encounter |
|
Communication.recipient |
|
Communication.sender |
|
Communication.reasonReference |
|
Communication.definition |
|
Communication.notDone |
|
Communication.notDoneReason |
|
Communication.context |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and 2 r3 resources are invalid (0 errors).)
Structure
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> <instantiatesCanonical><!-- 0..* canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) Instantiates FHIR protocol or definition --></instantiatesCanonical> <instantiatesUri value="[uri]"/><!-- 0..* Instantiates external protocol or definition --> <basedOn><!-- 0..* Reference(Any) Request fulfilled by this communication --></basedOn> <partOf><!-- 0..* Reference(Any) Part of this action --></partOf> <inResponseTo><!-- 0..* Reference(Communication) Reply to --></inResponseTo> <status value="[code]"/><!-- 1..1 preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown --> <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason> <category><!-- 0..* CodeableConcept Message category --></category> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <medium><!-- 0..* CodeableConcept A channel of communication --></medium> <subject><!-- 0..1 Reference(Patient|Group) Focus of message --></subject> <topic><!-- 0..1 CodeableConcept Description of the purpose/content --></topic> <about><!-- 0..* Reference(Any) Resources that pertain to this communication --></about> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <sent value="[dateTime]"/><!-- 0..1 When sent --> <received value="[dateTime]"/><!-- 0..1 When received --> <recipient><!-- 0..* Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Group|CareTeam|HealthcareService) Message recipient --></recipient> <sender><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService) Message sender --></sender> <reasonCode><!-- 0..* CodeableConcept Indication for message --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport| DocumentReference) 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 "instantiatesCanonical" : [{ canonical(PlanDefinition|ActivityDefinition| Measure|OperationDefinition|Questionnaire) }], // Instantiates FHIR protocol or definition "instantiatesUri" : ["<uri>"], // Instantiates external protocol or definition "basedOn" : [{ Reference(Any) }], // Request fulfilled by this communication "partOf" : [{ Reference(Any) }], // Part of this action "inResponseTo" : [{ Reference(Communication) }], // Reply to "status" : "<code>", // R! preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown "statusReason" : { CodeableConcept }, // Reason for current status "category" : [{ CodeableConcept }], // Message category "priority" : "<code>", // routine | urgent | asap | stat "medium" : [{ CodeableConcept }], // A channel of communication "subject" : { Reference(Patient|Group) }, // Focus of message "topic" : { CodeableConcept }, // Description of the purpose/content "about" : [{ Reference(Any) }], // Resources that pertain to this communication "encounter" : { Reference(Encounter) }, // Encounter created as part of "sent" : "<dateTime>", // When sent "received" : "<dateTime>", // When received "recipient" : [{ Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Group|CareTeam|HealthcareService) }], // Message recipient "sender" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService) }, // Message sender "reasonCode" : [{ CodeableConcept }], // Indication for message "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport| DocumentReference) }], // 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.instantiatesCanonical [ canonical(PlanDefinition|ActivityDefinition|Measure|OperationDefinition|Questionnaire) ], ... ; # 0..* Instantiates FHIR protocol or definition fhir:Communication.instantiatesUri [ uri ], ... ; # 0..* Instantiates external 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.inResponseTo [ Reference(Communication) ], ... ; # 0..* Reply to fhir:Communication.status [ code ]; # 1..1 preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown fhir:Communication.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:Communication.category [ CodeableConcept ], ... ; # 0..* Message category fhir:Communication.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:Communication.medium [ CodeableConcept ], ... ; # 0..* A channel of communication fhir:Communication.subject [ Reference(Patient|Group) ]; # 0..1 Focus of message fhir:Communication.topic [ CodeableConcept ]; # 0..1 Description of the purpose/content fhir:Communication.about [ Reference(Any) ], ... ; # 0..* Resources that pertain to this communication fhir:Communication.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of fhir:Communication.sent [ dateTime ]; # 0..1 When sent fhir:Communication.received [ dateTime ]; # 0..1 When received fhir:Communication.recipient [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Group| CareTeam|HealthcareService) ], ... ; # 0..* Message recipient fhir:Communication.sender [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson| HealthcareService) ]; # 0..1 Message sender fhir:Communication.reasonCode [ CodeableConcept ], ... ; # 0..* Indication for message fhir:Communication.reasonReference [ Reference(Condition|Observation|DiagnosticReport|DocumentReference) ], ... ; # 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 Release 3
Communication | |
Communication.instantiatesCanonical |
|
Communication.instantiatesUri |
|
Communication.inResponseTo |
|
Communication.status |
|
Communication.statusReason |
|
Communication.priority |
|
Communication.topic |
|
Communication.about |
|
Communication.encounter |
|
Communication.recipient |
|
Communication.sender |
|
Communication.reasonReference |
|
Communication.definition |
|
Communication.notDone |
|
Communication.notDoneReason |
|
Communication.context |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and 2 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
Communication.status | The status of the communication. | Required | EventStatus |
Communication.statusReason | Codes for the reason why a communication did not happen. | Example | CommunicationNotDoneReason |
Communication.category | Codes for general categories of communications such as alerts, instructions, etc. | Example | CommunicationCategory |
Communication.priority | Codes indicating the relative importance of a communication. | Required | RequestPriority |
Communication.medium | Codes for communication mediums such as phone, fax, email, in person, etc. | Example | v3.ParticipationMode |
Communication.topic | Codes describing the purpose or content of the communication. | Example | CommunicationTopic |
Communication.reasonCode | Codes for describing reasons for the occurrence of a communication. | Example | SNOMEDCTClinicalFindings |
Notes to reviewers:
At this time, the code bindings are placeholders to be fleshed out upon further review by the community.
Communication.sender allows Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService and Communication.recipient allows Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService - 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 | |
encounter | reference | Encounter created as part of | Communication.encounter (Encounter) | |
identifier | token | Unique identifier | Communication.identifier | |
instantiates-canonical | reference | Instantiates FHIR protocol or definition | Communication.instantiatesCanonical (Questionnaire, Measure, PlanDefinition, OperationDefinition, ActivityDefinition) | |
instantiates-uri | uri | Instantiates external protocol or definition | Communication.instantiatesUri | |
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.where(resolve() is Patient) (Patient) | |
received | date | When received | Communication.received | |
recipient | reference | Message recipient | Communication.recipient (Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
sender | reference | Message sender | Communication.sender (Practitioner, Organization, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
sent | date | When sent | Communication.sent | |
status | token | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown | Communication.status | |
subject | reference | Focus of message | Communication.subject (Group, Patient) |