Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). 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

8.20 Resource Communication - Content

Patient Care Work GroupMaturity Level: 2 Trial UseSecurity Category: Patient Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson

A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition.

The purpose of a Communication resource is to surface that data was shared to track adherence to guidelines or protocols or to provide business documentation of actions taken. Communication can also be used as part of an information exchange to provide context about the information sharing occurring.

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 record of the 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:

  • A reminder or alert delivered to a responsible provider
  • A recorded notification from the nurse to the on-call physician (or any other specified person) that a patient's temperature exceeds a value
  • A response from a public health agency to a provider caring for a patient presenting with a communicable disease reportable to the public health agency
  • Patient educational material sent by a provider to a patient
  • Unable to deliver lab results to ordering physician
  • Submission of supplementary health information to a payer in support of a claim

Non-patient specific communication use cases may include:

  • A nurse call from a hall bathroom
  • Advisory for battery service from a pump

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.

When there is a need to organize clinical and administrative content into sections, the Composition resource should be used instead. For example, an initial case report to a public health agency may include organized sections for vital signs, immunizations, social history, etc.

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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication TUDomainResourceA clinical or business level record of information being transmitted or shared

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique identifier

... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

... partOf Σ0..*Reference(Any)Part of referenced event (e.g. Communication, Procedure)

... inResponseTo 0..*Reference(Communication)Reply to

... status ?!Σ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
EventStatus (Required)
... statusReason Σ0..1CodeableConceptReason for current status
CommunicationNotDoneReason (Example)
... category 0..*CodeableConceptMessage category
CommunicationCategory (Example)

... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... medium 0..*CodeableConceptA channel of communication
ParticipationMode (Example)

... subject Σ0..1Reference(Patient | Group)Focus of message
... topic 0..1CodeableConceptDescription of the purpose/content
CommunicationTopic (Example)
... about 0..*Reference(Any)Resources that pertain to this communication

... encounter Σ0..1Reference(Encounter)The Encounter during which this Communication was created
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... recipient 0..*Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Endpoint)Who the information is shared with

... sender 0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService | Endpoint | CareTeam)Who shares the information
... reason Σ0..*CodeableReference(Any)Indication for message
SNOMED CT Clinical Findings (Example)

... payload 0..*BackboneElementMessage payload

.... content[x] 1..1Message part content
..... contentAttachmentAttachment
..... contentReferenceReference(Any)
..... contentCodeableConceptCodeableConcept
... note 0..*AnnotationComments made about the communication


doco Documentation for this format

See the Extensions for this resource

UML Diagram (Legend)

Communication (DomainResource)Business identifiers assigned to this communication by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this CommunicationinstantiatesCanonical : canonical [0..*] « PlanDefinition| ActivityDefinition|Measure|OperationDefinition|Questionnaire »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this CommunicationinstantiatesUri : uri [0..*]An order, proposal or plan fulfilled in whole or in part by this CommunicationbasedOn : Reference [0..*] « Any »A larger event (e.g. Communication, Procedure) of which this particular communication is a component or steppartOf : Reference [0..*] « Any »Prior communication that this communication is in response toinResponseTo : Reference [0..*] « Communication »The status of the transmission (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)EventStatus! »Captures the reason for the current state of the CommunicationstatusReason : CodeableConcept [0..1] « null (Strength=Example)CommunicationNotDoneReason?? »The type of message conveyed such as alert, notification, reminder, instruction, etccategory : CodeableConcept [0..*] « null (Strength=Example)CommunicationCategory?? »Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routinepriority : code [0..1] « null (Strength=Required)RequestPriority! »A channel that was used for this communication (e.g. email, fax)medium : CodeableConcept [0..*] « null (Strength=Example)ParticipationMode?? »The patient or group that was the focus of this communicationsubject : Reference [0..1] « Patient|Group »Description of the purpose/content, similar to a subject line in an emailtopic : CodeableConcept [0..1] « null (Strength=Example)CommunicationTopic?? »Other resources that pertain to this communication and to which this communication should be associatedabout : Reference [0..*] « Any »The Encounter during which this Communication was created or to which the creation of this record is tightly associatedencounter : Reference [0..1] « Encounter »The time when this communication was sentsent : dateTime [0..1]The time when this communication arrived at the destinationreceived : dateTime [0..1]The entity (e.g. person, organization, clinical information system, care team or device) which is the target of the communicationrecipient : Reference [0..*] « CareTeam|Device|Group| HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Endpoint »The entity (e.g. person, organization, clinical information system, or device) which is the source of the communicationsender : Reference [0..1] « Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService|Endpoint| CareTeam »The reason or justification for the communicationreason : CodeableReference [0..*] « Any; null (Strength=Example)SNOMEDCTClinicalFindings?? »Additional notes or commentary about the communication by the sender, receiver or other interested partiesnote : Annotation [0..*]PayloadA communicated content (or for multi-part communications, one portion of the communication)content[x] : DataType [1..1] « Attachment|Reference(Any)| CodeableConcept »Text, attachment(s), or resource(s) that was communicated to the recipientpayload[0..*]

XML Template

<Communication xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Unique identifier --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure|
   OperationDefinition|PlanDefinition|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 referenced event (e.g. Communication, Procedure) --></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(Group|Patient) 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) The Encounter during which this Communication was created --></encounter>
 <sent value="[dateTime]"/><!-- 0..1 When sent -->
 <received value="[dateTime]"/><!-- 0..1 When received -->
 <recipient><!-- 0..* Reference(CareTeam|Device|Endpoint|Group|HealthcareService|
   Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Who the information is shared with --></recipient>
 <sender><!-- 0..1 Reference(CareTeam|Device|Endpoint|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Who shares the information --></sender>
 <reason><!-- 0..* CodeableReference(Any) Indication for message --></reason>
 <payload>  <!-- 0..* Message payload -->
  <content[x]><!-- 1..1 Attachment|Reference(Any)|CodeableConcept Message part content --></content[x]>
 </payload>
 <note><!-- 0..* Annotation Comments made about the communication --></note>
</Communication>

JSON Template

{doco
  "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 referenced event (e.g. Communication, Procedure)
  "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(Group|Patient) }, // Focus of message
  "topic" : { CodeableConcept }, // Description of the purpose/content
  "about" : [{ Reference(Any) }], // Resources that pertain to this communication
  "encounter" : { Reference(Encounter) }, // The Encounter during which this Communication was created
  "sent" : "<dateTime>", // When sent
  "received" : "<dateTime>", // When received
  "recipient" : [{ Reference(CareTeam|Device|Endpoint|Group|HealthcareService|
   Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Who the information is shared with
  "sender" : { Reference(CareTeam|Device|Endpoint|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // Who shares the information
  "reason" : [{ CodeableReference(Any) }], // Indication for message
  "payload" : [{ // Message payload
    // content[x]: Message part content. One of these 3:
    "contentAttachment" : { Attachment },
    "contentReference" : { Reference(Any) },
    "contentCodeableConcept" : { CodeableConcept }
  }],
  "note" : [{ Annotation }] // Comments made about the communication
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|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 referenced event (e.g. Communication, Procedure)
  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(Group|Patient) ]; # 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 The Encounter during which this Communication was created
  fhir:Communication.sent [ dateTime ]; # 0..1 When sent
  fhir:Communication.received [ dateTime ]; # 0..1 When received
  fhir:Communication.recipient [ Reference(CareTeam|Device|Endpoint|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson) ], ... ; # 0..* Who the information is shared with
  fhir:Communication.sender [ Reference(CareTeam|Device|Endpoint|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ]; # 0..1 Who shares the information
  fhir:Communication.reason [ CodeableReference(Any) ], ... ; # 0..* Indication for message
  fhir:Communication.payload [ # 0..* Message payload
    # Communication.payload.content[x] : 1..1 Message part content. One of these 3
      fhir:Communication.payload.contentAttachment [ Attachment ]
      fhir:Communication.payload.contentReference [ Reference(Any) ]
      fhir:Communication.payload.contentCodeableConcept [ CodeableConcept ]
  ], ...;
  fhir:Communication.note [ Annotation ], ... ; # 0..* Comments made about the communication
]

Changes since R4

Communication
Communication.recipient
  • Type Reference: Added Target Types Location, Endpoint
  • Type Reference: Added Target Types Location, Endpoint
Communication.sender
  • Type Reference: Added Target Types Endpoint, CareTeam
  • Type Reference: Added Target Types Endpoint, CareTeam
Communication.reason
  • Added Element
Communication.payload.content[x]
  • Add Type CodeableConcept, CodeableConcept
  • Remove Type string, string
  • Remove Type string, string
Communication.reasonCode
  • deleted
Communication.reasonReference
  • deleted

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication TUDomainResourceA clinical or business level record of information being transmitted or shared

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique identifier

... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition

... instantiatesUri Σ0..*uriInstantiates external protocol or definition

... partOf Σ0..*Reference(Any)Part of referenced event (e.g. Communication, Procedure)

... inResponseTo 0..*Reference(Communication)Reply to

... status ?!Σ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
EventStatus (Required)
... statusReason Σ0..1CodeableConceptReason for current status
CommunicationNotDoneReason (Example)
... category 0..*CodeableConceptMessage category
CommunicationCategory (Example)

... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... medium 0..*CodeableConceptA channel of communication
ParticipationMode (Example)

... subject Σ0..1Reference(Patient | Group)Focus of message
... topic 0..1CodeableConceptDescription of the purpose/content
CommunicationTopic (Example)
... about 0..*Reference(Any)Resources that pertain to this communication

... encounter Σ0..1Reference(Encounter)The Encounter during which this Communication was created
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... recipient 0..*Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Endpoint)Who the information is shared with

... sender 0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService | Endpoint | CareTeam)Who shares the information
... reason Σ0..*CodeableReference(Any)Indication for message
SNOMED CT Clinical Findings (Example)

... payload 0..*BackboneElementMessage payload

.... content[x] 1..1Message part content
..... contentAttachmentAttachment
..... contentReferenceReference(Any)
..... contentCodeableConceptCodeableConcept
... note 0..*AnnotationComments made about the communication


doco Documentation for this format

See the Extensions for this resource

UML Diagram (Legend)

Communication (DomainResource)Business identifiers assigned to this communication by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this CommunicationinstantiatesCanonical : canonical [0..*] « PlanDefinition| ActivityDefinition|Measure|OperationDefinition|Questionnaire »The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this CommunicationinstantiatesUri : uri [0..*]An order, proposal or plan fulfilled in whole or in part by this CommunicationbasedOn : Reference [0..*] « Any »A larger event (e.g. Communication, Procedure) of which this particular communication is a component or steppartOf : Reference [0..*] « Any »Prior communication that this communication is in response toinResponseTo : Reference [0..*] « Communication »The status of the transmission (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)EventStatus! »Captures the reason for the current state of the CommunicationstatusReason : CodeableConcept [0..1] « null (Strength=Example)CommunicationNotDoneReason?? »The type of message conveyed such as alert, notification, reminder, instruction, etccategory : CodeableConcept [0..*] « null (Strength=Example)CommunicationCategory?? »Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routinepriority : code [0..1] « null (Strength=Required)RequestPriority! »A channel that was used for this communication (e.g. email, fax)medium : CodeableConcept [0..*] « null (Strength=Example)ParticipationMode?? »The patient or group that was the focus of this communicationsubject : Reference [0..1] « Patient|Group »Description of the purpose/content, similar to a subject line in an emailtopic : CodeableConcept [0..1] « null (Strength=Example)CommunicationTopic?? »Other resources that pertain to this communication and to which this communication should be associatedabout : Reference [0..*] « Any »The Encounter during which this Communication was created or to which the creation of this record is tightly associatedencounter : Reference [0..1] « Encounter »The time when this communication was sentsent : dateTime [0..1]The time when this communication arrived at the destinationreceived : dateTime [0..1]The entity (e.g. person, organization, clinical information system, care team or device) which is the target of the communicationrecipient : Reference [0..*] « CareTeam|Device|Group| HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Endpoint »The entity (e.g. person, organization, clinical information system, or device) which is the source of the communicationsender : Reference [0..1] « Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService|Endpoint| CareTeam »The reason or justification for the communicationreason : CodeableReference [0..*] « Any; null (Strength=Example)SNOMEDCTClinicalFindings?? »Additional notes or commentary about the communication by the sender, receiver or other interested partiesnote : Annotation [0..*]PayloadA communicated content (or for multi-part communications, one portion of the communication)content[x] : DataType [1..1] « Attachment|Reference(Any)| CodeableConcept »Text, attachment(s), or resource(s) that was communicated to the recipientpayload[0..*]

XML Template

<Communication xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Unique identifier --></identifier>
 <instantiatesCanonical><!-- 0..* canonical(ActivityDefinition|Measure|
   OperationDefinition|PlanDefinition|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 referenced event (e.g. Communication, Procedure) --></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(Group|Patient) 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) The Encounter during which this Communication was created --></encounter>
 <sent value="[dateTime]"/><!-- 0..1 When sent -->
 <received value="[dateTime]"/><!-- 0..1 When received -->
 <recipient><!-- 0..* Reference(CareTeam|Device|Endpoint|Group|HealthcareService|
   Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Who the information is shared with --></recipient>
 <sender><!-- 0..1 Reference(CareTeam|Device|Endpoint|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Who shares the information --></sender>
 <reason><!-- 0..* CodeableReference(Any) Indication for message --></reason>
 <payload>  <!-- 0..* Message payload -->
  <content[x]><!-- 1..1 Attachment|Reference(Any)|CodeableConcept Message part content --></content[x]>
 </payload>
 <note><!-- 0..* Annotation Comments made about the communication --></note>
</Communication>

JSON Template

{doco
  "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 referenced event (e.g. Communication, Procedure)
  "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(Group|Patient) }, // Focus of message
  "topic" : { CodeableConcept }, // Description of the purpose/content
  "about" : [{ Reference(Any) }], // Resources that pertain to this communication
  "encounter" : { Reference(Encounter) }, // The Encounter during which this Communication was created
  "sent" : "<dateTime>", // When sent
  "received" : "<dateTime>", // When received
  "recipient" : [{ Reference(CareTeam|Device|Endpoint|Group|HealthcareService|
   Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Who the information is shared with
  "sender" : { Reference(CareTeam|Device|Endpoint|HealthcareService|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // Who shares the information
  "reason" : [{ CodeableReference(Any) }], // Indication for message
  "payload" : [{ // Message payload
    // content[x]: Message part content. One of these 3:
    "contentAttachment" : { Attachment },
    "contentReference" : { Reference(Any) },
    "contentCodeableConcept" : { CodeableConcept }
  }],
  "note" : [{ Annotation }] // Comments made about the communication
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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(ActivityDefinition|Measure|OperationDefinition|PlanDefinition|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 referenced event (e.g. Communication, Procedure)
  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(Group|Patient) ]; # 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 The Encounter during which this Communication was created
  fhir:Communication.sent [ dateTime ]; # 0..1 When sent
  fhir:Communication.received [ dateTime ]; # 0..1 When received
  fhir:Communication.recipient [ Reference(CareTeam|Device|Endpoint|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson) ], ... ; # 0..* Who the information is shared with
  fhir:Communication.sender [ Reference(CareTeam|Device|Endpoint|HealthcareService|Organization|Patient|Practitioner|
  PractitionerRole|RelatedPerson) ]; # 0..1 Who shares the information
  fhir:Communication.reason [ CodeableReference(Any) ], ... ; # 0..* Indication for message
  fhir:Communication.payload [ # 0..* Message payload
    # Communication.payload.content[x] : 1..1 Message part content. One of these 3
      fhir:Communication.payload.contentAttachment [ Attachment ]
      fhir:Communication.payload.contentReference [ Reference(Any) ]
      fhir:Communication.payload.contentCodeableConcept [ CodeableConcept ]
  ], ...;
  fhir:Communication.note [ Annotation ], ... ; # 0..* Comments made about the communication
]

Changes since Release 4

Communication
Communication.recipient
  • Type Reference: Added Target Types Location, Endpoint
  • Type Reference: Added Target Types Location, Endpoint
Communication.sender
  • Type Reference: Added Target Types Endpoint, CareTeam
  • Type Reference: Added Target Types Endpoint, CareTeam
Communication.reason
  • Added Element
Communication.payload.content[x]
  • Add Type CodeableConcept, CodeableConcept
  • Remove Type string, string
  • Remove Type string, string
Communication.reasonCode
  • deleted
Communication.reasonReference
  • deleted

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).)

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

PathDefinitionTypeReference
Communication.status

Codes identifying the lifecycle stage of an event.

RequiredEventStatus
Communication.statusReason

Codes for the reason why a communication did not happen.

ExampleCommunicationNotDoneReason
Communication.category

Codes for general categories of communications such as alerts, instructions, etc.

ExampleCommunicationCategory
Communication.priority

Identifies the level of importance to be assigned to actioning the request.

RequiredRequestPriority
Communication.medium

Identifies the primary means by which an Entity participates in an Act.

ExampleParticipationMode
Communication.topic

Codes describing the purpose or content of the communication.

ExampleCommunicationTopic
Communication.reason

This value set includes all the "Clinical finding" SNOMED CT codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

ExampleSNOMEDCTClinicalFindings

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.

In FHIR, data is typically shared between systems without any need for the Communication resource to accompany or contain the data being shared, i.e. all FHIR exchanges are communications of some form, but that doesn't mean they need the Communication resource. However, in some cases, when data is shared there is a need to provide context about why the data is being conveyed and Communication is one of the mechanisms that FHIR provides that can share this context. Specifically, Communication allows conveying information about reasons for sharing, encounter that provides context for sharing, order or protocol that drove the need to share, etc. Note that some contextual information is expected to be captured by most FHIR systems even in absence of Communication, such as where did the data come from and when was the data received. This metadata is generally captured in Provenance. In addition to Communication, MessageHeader can capture similar metadata and Composition in FHIR documents can also serve a similar purpose. If mixing multiple mechanisms to convey communication metadata, care should be taken to ensure that each mechanism is necessary and the information conveyed in each layer is appropriately consistent.

There is no requirement that Communication and CommunicationRequest always go together. Communication can exist without there having been a CommunicationRequest. For example, a practitioner might capture that they have provided a smoking cessation pamphlet to a patient that would be a Communication instance, but there would have been no "request" that led to the action (unsolicited). As well, a CommunicationRequest can be fulfilled in many ways, e.g. by phone call, email, system to system data sharing and there might not be a requirement to surface this data sharing at the clinical / business level, i.e. no need for a Communication instance.

Where there is a need to explicitly track fulfillment of a CommunicationRequest, Communication is the most natural resource to establish this linkage. The event can be tied to the request using Communication.basedOn.

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
based-onreferenceRequest fulfilled by this communicationCommunication.basedOn
(Any)
categorytokenMessage categoryCommunication.category
encounterreferenceThe Encounter during which this Communication was createdCommunication.encounter
(Encounter)
identifiertokenUnique identifierCommunication.identifier
instantiates-canonical NreferenceInstantiates FHIR protocol or definitionCommunication.instantiatesCanonical
(Questionnaire, Measure, PlanDefinition, OperationDefinition, ActivityDefinition)
instantiates-uri NuriInstantiates external protocol or definitionCommunication.instantiatesUri
mediumtokenA channel of communicationCommunication.medium
part-ofreferencePart of referenced event (e.g. Communication, Procedure)Communication.partOf
(Any)
patientreferenceFocus of messageCommunication.subject.where(resolve() is Patient)
(Patient)
received NdateWhen receivedCommunication.received
recipientreferenceWho the information is shared withCommunication.recipient
(Practitioner, Group, Organization, CareTeam, Endpoint, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Location)
senderreferenceWho shares the informationCommunication.sender
(Practitioner, Organization, Endpoint, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
sent NdateWhen sentCommunication.sent
status Ntokenpreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknownCommunication.status
subjectreferenceFocus of messageCommunication.subject
(Group, Patient)
topictokenDescription of the purpose/contentCommunication.topic