Communication — Trace of a clinical exchange
A communication has happened: notification, instruction, clinical alert, doctor-to-doctor message. Communication records the past event; CommunicationRequest asks for it to happen.
Purpose
Communication records that information was exchanged between care actors. Do not confuse with MessageHeader (FHIR technical exchange) or DocumentReference (document transport). Communication is care semantics: "Dr Smith informed the coordinating nurse that the patient was discharging tomorrow".
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
status | code | 1..1 | preparation, in-progress, completed, stopped, entered-in-error… |
category | CodeableConcept[] | 0..* | Category: alert, notification, reminder, instruction. |
priority | code | 0..1 | routine, urgent, asap, stat. |
subject | Reference(Patient | Group) | 0..1 | Message subject (often Patient). |
sender | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService | Endpoint) | 0..1 | Sender. |
recipient | Reference(...)[] | 0..* | Recipients. |
sent / received | dateTime | 0..1 | Send/receive timestamps. |
payload | BackboneElement[] | 0..* | Content: contentString, contentAttachment, contentReference. |
JSON example
Discharge notification sent to the primary care physician:
{
"resourceType": "Communication",
"id": "example",
"status": "completed",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/communication-category",
"code": "alert",
"display": "Alert"
}]
}],
"priority": "routine",
"subject": { "reference": "Patient/example" },
"sent": "2026-05-16T14:35:00Z",
"recipient": [{ "reference": "Practitioner/gp-lefevre" }],
"sender": { "reference": "Practitioner/dr-smith" },
"payload": [{ "contentString": "Patient has been discharged. Follow-up appointment recommended in 2 weeks." }]
} Common pitfalls
- Confusion with CommunicationRequest: Communication is PAST ("happened"), Request is FUTURE ("should happen").
- Sent vs received empty: for audit both timestamps matter. Always provide
sentat minimum. - No category: alert, reminder, notification have very different EHR UX.
Related resources
- CommunicationRequest — request to send.
- MessageHeader — FHIR Messaging technical send.
- Task — operational task (can reference Communication).
- DocumentReference — attached document.
See also: CommunicationRequest, Task.