This page is part of the FHIR Specification v4.1.0: R4B Ballot. About the R4B version of FHIR. 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 |
A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.
CommunicationRequest is one of the request resources in the FHIR workflow specification.
This resource is a record of a request for a communication to be performed. A communication is a conveyance of information from one entity, a sender, to another entity, a receiver. The requester requests the sender to send the payload to the recipient. The sender and receivers may be patients, practitioners, related persons, organizations, and devices. Uses of communication request include:
This resource is a record of a request. It does not represent the actual flow of communication.
The use of CommunicationRequest excludes requests for referrals and requests for therapy or counseling which would be handled by the ServiceRequest resource. The performance of a CommunicationRequest may result in a Communication resource.
This resource is referenced by CarePlan, ClaimResponse and itself.
This resource implements the Request pattern.
Structure
UML Diagram (Legend)
XML Template
<CommunicationRequest 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> <basedOn><!-- 0..* Reference(Any) Fulfills plan or proposal --></basedOn> <replaces><!-- 0..* Reference(CommunicationRequest) Request(s) replaced by this request --></replaces> <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier> <status value="[code]"/><!-- 1..1 draft | active | on-hold | revoked | 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 --> <doNotPerform value="[boolean]"/><!-- 0..1 True if request is prohibiting action --> <medium><!-- 0..* CodeableConcept A channel of communication --></medium> <subject><!-- 0..1 Reference(Group|Patient) Focus of message --></subject> <about><!-- 0..* Reference(Any) Resources that pertain to this communication request --></about> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <payload> <!-- 0..* Message payload --> <content[x]><!-- 1..1 string|Attachment|Reference(Any) Message part content --></content[x]> </payload> <occurrence[x]><!-- 0..1 dateTime|Period When scheduled --></occurrence[x]> <authoredOn value="[dateTime]"/><!-- 0..1 When request transitioned to being actionable --> <requester><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who/what is requesting service --></requester> <recipient><!-- 0..* Reference(CareTeam|Device|Group|HealthcareService| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Message recipient --></recipient> <sender><!-- 0..1 Reference(Device|HealthcareService|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) Message sender --></sender> <reasonCode><!-- 0..* CodeableConcept Why is communication needed? --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|DiagnosticReport| DocumentReference|Observation) Why is communication needed? --></reasonReference> <note><!-- 0..* Annotation Comments made about communication request --></note> </CommunicationRequest>
JSON Template
{ "resourceType" : "CommunicationRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "basedOn" : [{ Reference(Any) }], // Fulfills plan or proposal "replaces" : [{ Reference(CommunicationRequest) }], // Request(s) replaced by this request "groupIdentifier" : { Identifier }, // Composite request this is part of "status" : "<code>", // R! draft | active | on-hold | revoked | completed | entered-in-error | unknown "statusReason" : { CodeableConcept }, // Reason for current status "category" : [{ CodeableConcept }], // Message category "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if request is prohibiting action "medium" : [{ CodeableConcept }], // A channel of communication "subject" : { Reference(Group|Patient) }, // Focus of message "about" : [{ Reference(Any) }], // Resources that pertain to this communication request "encounter" : { Reference(Encounter) }, // Encounter created as part of "payload" : [{ // Message payload // content[x]: Message part content. One of these 3: "contentString" : "<string>" "contentAttachment" : { Attachment } "contentReference" : { Reference(Any) } }], // occurrence[x]: When scheduled. One of these 2: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "authoredOn" : "<dateTime>", // When request transitioned to being actionable "requester" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who/what is requesting service "recipient" : [{ Reference(CareTeam|Device|Group|HealthcareService| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Message recipient "sender" : { Reference(Device|HealthcareService|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) }, // Message sender "reasonCode" : [{ CodeableConcept }], // Why is communication needed? "reasonReference" : [{ Reference(Condition|DiagnosticReport| DocumentReference|Observation) }], // Why is communication needed? "note" : [{ Annotation }] // Comments made about communication request }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:CommunicationRequest; 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:CommunicationRequest.identifier [ Identifier ], ... ; # 0..* Unique identifier fhir:CommunicationRequest.basedOn [ Reference(Any) ], ... ; # 0..* Fulfills plan or proposal fhir:CommunicationRequest.replaces [ Reference(CommunicationRequest) ], ... ; # 0..* Request(s) replaced by this request fhir:CommunicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of fhir:CommunicationRequest.status [ code ]; # 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown fhir:CommunicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:CommunicationRequest.category [ CodeableConcept ], ... ; # 0..* Message category fhir:CommunicationRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:CommunicationRequest.doNotPerform [ boolean ]; # 0..1 True if request is prohibiting action fhir:CommunicationRequest.medium [ CodeableConcept ], ... ; # 0..* A channel of communication fhir:CommunicationRequest.subject [ Reference(Group|Patient) ]; # 0..1 Focus of message fhir:CommunicationRequest.about [ Reference(Any) ], ... ; # 0..* Resources that pertain to this communication request fhir:CommunicationRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of fhir:CommunicationRequest.payload [ # 0..* Message payload # CommunicationRequest.payload.content[x] : 1..1 Message part content. One of these 3 fhir:CommunicationRequest.payload.contentString [ string ] fhir:CommunicationRequest.payload.contentAttachment [ Attachment ] fhir:CommunicationRequest.payload.contentReference [ Reference(Any) ] ], ...; # CommunicationRequest.occurrence[x] : 0..1 When scheduled. One of these 2 fhir:CommunicationRequest.occurrenceDateTime [ dateTime ] fhir:CommunicationRequest.occurrencePeriod [ Period ] fhir:CommunicationRequest.authoredOn [ dateTime ]; # 0..1 When request transitioned to being actionable fhir:CommunicationRequest.requester [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who/what is requesting service fhir:CommunicationRequest.recipient [ Reference(CareTeam|Device|Group|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ], ... ; # 0..* Message recipient fhir:CommunicationRequest.sender [ Reference(Device|HealthcareService|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson) ]; # 0..1 Message sender fhir:CommunicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Why is communication needed? fhir:CommunicationRequest.reasonReference [ Reference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why is communication needed? fhir:CommunicationRequest.note [ Annotation ], ... ; # 0..* Comments made about communication request ]
Changes since R3
CommunicationRequest | |
CommunicationRequest.status |
|
CommunicationRequest.priority |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)
Structure
XML Template
<CommunicationRequest 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> <basedOn><!-- 0..* Reference(Any) Fulfills plan or proposal --></basedOn> <replaces><!-- 0..* Reference(CommunicationRequest) Request(s) replaced by this request --></replaces> <groupIdentifier><!-- 0..1 Identifier Composite request this is part of --></groupIdentifier> <status value="[code]"/><!-- 1..1 draft | active | on-hold | revoked | 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 --> <doNotPerform value="[boolean]"/><!-- 0..1 True if request is prohibiting action --> <medium><!-- 0..* CodeableConcept A channel of communication --></medium> <subject><!-- 0..1 Reference(Group|Patient) Focus of message --></subject> <about><!-- 0..* Reference(Any) Resources that pertain to this communication request --></about> <encounter><!-- 0..1 Reference(Encounter) Encounter created as part of --></encounter> <payload> <!-- 0..* Message payload --> <content[x]><!-- 1..1 string|Attachment|Reference(Any) Message part content --></content[x]> </payload> <occurrence[x]><!-- 0..1 dateTime|Period When scheduled --></occurrence[x]> <authoredOn value="[dateTime]"/><!-- 0..1 When request transitioned to being actionable --> <requester><!-- 0..1 Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who/what is requesting service --></requester> <recipient><!-- 0..* Reference(CareTeam|Device|Group|HealthcareService| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) Message recipient --></recipient> <sender><!-- 0..1 Reference(Device|HealthcareService|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) Message sender --></sender> <reasonCode><!-- 0..* CodeableConcept Why is communication needed? --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|DiagnosticReport| DocumentReference|Observation) Why is communication needed? --></reasonReference> <note><!-- 0..* Annotation Comments made about communication request --></note> </CommunicationRequest>
JSON Template
{ "resourceType" : "CommunicationRequest", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "basedOn" : [{ Reference(Any) }], // Fulfills plan or proposal "replaces" : [{ Reference(CommunicationRequest) }], // Request(s) replaced by this request "groupIdentifier" : { Identifier }, // Composite request this is part of "status" : "<code>", // R! draft | active | on-hold | revoked | completed | entered-in-error | unknown "statusReason" : { CodeableConcept }, // Reason for current status "category" : [{ CodeableConcept }], // Message category "priority" : "<code>", // routine | urgent | asap | stat "doNotPerform" : <boolean>, // True if request is prohibiting action "medium" : [{ CodeableConcept }], // A channel of communication "subject" : { Reference(Group|Patient) }, // Focus of message "about" : [{ Reference(Any) }], // Resources that pertain to this communication request "encounter" : { Reference(Encounter) }, // Encounter created as part of "payload" : [{ // Message payload // content[x]: Message part content. One of these 3: "contentString" : "<string>" "contentAttachment" : { Attachment } "contentReference" : { Reference(Any) } }], // occurrence[x]: When scheduled. One of these 2: "occurrenceDateTime" : "<dateTime>", "occurrencePeriod" : { Period }, "authoredOn" : "<dateTime>", // When request transitioned to being actionable "requester" : { Reference(Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who/what is requesting service "recipient" : [{ Reference(CareTeam|Device|Group|HealthcareService| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }], // Message recipient "sender" : { Reference(Device|HealthcareService|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson) }, // Message sender "reasonCode" : [{ CodeableConcept }], // Why is communication needed? "reasonReference" : [{ Reference(Condition|DiagnosticReport| DocumentReference|Observation) }], // Why is communication needed? "note" : [{ Annotation }] // Comments made about communication request }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:CommunicationRequest; 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:CommunicationRequest.identifier [ Identifier ], ... ; # 0..* Unique identifier fhir:CommunicationRequest.basedOn [ Reference(Any) ], ... ; # 0..* Fulfills plan or proposal fhir:CommunicationRequest.replaces [ Reference(CommunicationRequest) ], ... ; # 0..* Request(s) replaced by this request fhir:CommunicationRequest.groupIdentifier [ Identifier ]; # 0..1 Composite request this is part of fhir:CommunicationRequest.status [ code ]; # 1..1 draft | active | on-hold | revoked | completed | entered-in-error | unknown fhir:CommunicationRequest.statusReason [ CodeableConcept ]; # 0..1 Reason for current status fhir:CommunicationRequest.category [ CodeableConcept ], ... ; # 0..* Message category fhir:CommunicationRequest.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:CommunicationRequest.doNotPerform [ boolean ]; # 0..1 True if request is prohibiting action fhir:CommunicationRequest.medium [ CodeableConcept ], ... ; # 0..* A channel of communication fhir:CommunicationRequest.subject [ Reference(Group|Patient) ]; # 0..1 Focus of message fhir:CommunicationRequest.about [ Reference(Any) ], ... ; # 0..* Resources that pertain to this communication request fhir:CommunicationRequest.encounter [ Reference(Encounter) ]; # 0..1 Encounter created as part of fhir:CommunicationRequest.payload [ # 0..* Message payload # CommunicationRequest.payload.content[x] : 1..1 Message part content. One of these 3 fhir:CommunicationRequest.payload.contentString [ string ] fhir:CommunicationRequest.payload.contentAttachment [ Attachment ] fhir:CommunicationRequest.payload.contentReference [ Reference(Any) ] ], ...; # CommunicationRequest.occurrence[x] : 0..1 When scheduled. One of these 2 fhir:CommunicationRequest.occurrenceDateTime [ dateTime ] fhir:CommunicationRequest.occurrencePeriod [ Period ] fhir:CommunicationRequest.authoredOn [ dateTime ]; # 0..1 When request transitioned to being actionable fhir:CommunicationRequest.requester [ Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who/what is requesting service fhir:CommunicationRequest.recipient [ Reference(CareTeam|Device|Group|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ], ... ; # 0..* Message recipient fhir:CommunicationRequest.sender [ Reference(Device|HealthcareService|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson) ]; # 0..1 Message sender fhir:CommunicationRequest.reasonCode [ CodeableConcept ], ... ; # 0..* Why is communication needed? fhir:CommunicationRequest.reasonReference [ Reference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why is communication needed? fhir:CommunicationRequest.note [ Annotation ], ... ; # 0..* Comments made about communication request ]
Changes since Release 3
CommunicationRequest | |
CommunicationRequest.status |
|
CommunicationRequest.priority |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and 1 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 |
---|---|---|---|
CommunicationRequest.status | The status of the communication request. | Required | RequestStatus |
CommunicationRequest.statusReason | Codes identifying the reason for the current state of a request. | Example | ?? |
CommunicationRequest.category | Codes for general categories of communications such as alerts, instruction, etc. | Example | CommunicationCategory |
CommunicationRequest.priority | Codes indicating the relative importance of a communication request. | Required | RequestPriority |
CommunicationRequest.medium | Codes for communication mediums such as phone, fax, email, in person, etc. | Example | ParticipationMode |
CommunicationRequest.reasonCode | Codes for describing reasons for the occurrence of a communication. | Example | ActReason |
Notes to reviewers:
At this time, the code bindings are placeholders to be fleshed out upon further review by the community.
CommunicationRequest.sender allows Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService and CommunicationRequest.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 request 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 |
authored | date | When request transitioned to being actionable | CommunicationRequest.authoredOn | |
based-on | reference | Fulfills plan or proposal | CommunicationRequest.basedOn (Any) | |
category | token | Message category | CommunicationRequest.category | |
encounter | reference | Encounter created as part of | CommunicationRequest.encounter (Encounter) | |
group-identifier | token | Composite request this is part of | CommunicationRequest.groupIdentifier | |
identifier | token | Unique identifier | CommunicationRequest.identifier | |
medium | token | A channel of communication | CommunicationRequest.medium | |
occurrence | date | When scheduled | (CommunicationRequest.occurrence as dateTime) | |
patient | reference | Focus of message | CommunicationRequest.subject.where(resolve() is Patient) (Group, Patient) | |
priority | token | routine | urgent | asap | stat | CommunicationRequest.priority | |
recipient | reference | Message recipient | CommunicationRequest.recipient (Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
replaces | reference | Request(s) replaced by this request | CommunicationRequest.replaces (CommunicationRequest) | |
requester | reference | Who/what is requesting service | CommunicationRequest.requester (Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson) | |
sender | reference | Message sender | CommunicationRequest.sender (Practitioner, Organization, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
status | token | draft | active | on-hold | revoked | completed | entered-in-error | unknown | CommunicationRequest.status | |
subject | reference | Focus of message | CommunicationRequest.subject (Group, Patient) |