Release 4B Ballot #1

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

8.21 Resource CommunicationRequest - Content

Patient Care Work GroupMaturity Level: 2 Trial UseSecurity 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:

  • A computer-based decision-support system requesting a reminder or alert be delivered to a responsible provider
  • A physician requesting notification from the nurse if a patient's temperature exceeds a value
  • A monitoring system or a provider requesting a staff member or department to notify a public health agency of a patient presenting with a communicable disease reportable to the public health agency
  • A computer-based decision-support system proposes to send educational material to a patient

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest TUDomainResourceA request for information to be sent to a receiver
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique identifier
... basedOn Σ0..*Reference(Any)Fulfills plan or proposal
... replaces Σ0..*Reference(CommunicationRequest)Request(s) replaced by this request
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
RequestStatus (Required)
... statusReason 0..1CodeableConceptReason for current status
CommunicationRequestStatusReason (Example)
... category 0..*CodeableConceptMessage category
CommunicationCategory (Example)
... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... medium 0..*CodeableConceptA channel of communication
ParticipationMode (Example)
... subject 0..1Reference(Patient | Group)Focus of message
... about 0..*Reference(Any)Resources that pertain to this communication request
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... payload 0..*BackboneElementMessage payload
.... content[x] 1..1Message part content
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Any)
... occurrence[x] Σ0..1When scheduled
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
... authoredOn Σ0..1dateTimeWhen request transitioned to being actionable
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... recipient 0..*Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService)Message recipient
... sender Σ0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService)Message sender
... reasonCode Σ0..*CodeableConceptWhy is communication needed?
v3 Code System ActReason (Example)
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why is communication needed?
... note 0..*AnnotationComments made about communication request

doco Documentation for this format

UML Diagram (Legend)

CommunicationRequest (DomainResource)Business identifiers assigned to this communication request by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]A plan or proposal that is fulfilled in whole or in part by this requestbasedOn : Reference [0..*] « Any »Completed or terminated request(s) whose function is taken by this new requestreplaces : Reference [0..*] « CommunicationRequest »A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar formgroupIdentifier : Identifier [0..1]The status of the proposal or order (this element modifies the meaning of other elements)status : code [1..1] « The status of the communication request. (Strength=Required)RequestStatus! »Captures the reason for the current state of the CommunicationRequeststatusReason : CodeableConcept [0..1] « Codes identifying the reason for the current state of a request. (Strength=Example) CommunicationRequestStatusRea...?? »The type of message to be sent such as alert, notification, reminder, instruction, etccategory : CodeableConcept [0..*] « Codes for general categories of communications such as alerts, instruction, etc. (Strength=Example)CommunicationCategory?? »Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routinepriority : code [0..1] « Codes indicating the relative importance of a communication request. (Strength=Required)RequestPriority! »If true indicates that the CommunicationRequest is asking for the specified action to *not* occur (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]A channel that was used for this communication (e.g. email, fax)medium : CodeableConcept [0..*] « Codes for communication mediums such as phone, fax, email, in person, etc. (Strength=Example)ParticipationMode?? »The patient or group that is the focus of this communication requestsubject : Reference [0..1] « Patient|Group »Other resources that pertain to this communication request and to which this communication request should be associatedabout : Reference [0..*] « Any »The Encounter during which this CommunicationRequest was created or to which the creation of this record is tightly associatedencounter : Reference [0..1] « Encounter »The time when this communication is to occuroccurrence[x] : Element [0..1] « dateTime|Period »For draft requests, indicates the date of initial creation. For requests with other statuses, indicates the date of activationauthoredOn : dateTime [0..1]The device, individual, or organization who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communicationrecipient : Reference [0..*] « Device|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson|Group|CareTeam| HealthcareService »The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communicationsender : Reference [0..1] « Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService »Describes why the request is being made in coded or textual formreasonCode : CodeableConcept [0..*] « Codes for describing reasons for the occurrence of a communication. (Strength=Example)ActReason?? »Indicates another resource whose existence justifies this requestreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »Comments made about the request by the requester, sender, recipient, subject or other participantsnote : Annotation [0..*]PayloadThe communicated content (or for multi-part communications, one portion of the communication)content[x] : Element [1..1] « string|Attachment|Reference(Any) »Text, attachment(s), or resource(s) to be communicated to the recipientpayload[0..*]

XML Template

<CommunicationRequest 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>
 <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

{doco
  "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/> .doco


[ 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
  • Change value set from http://hl7.org/fhir/ValueSet/request-status|4.0.0 to http://hl7.org/fhir/ValueSet/request-status|4.1.0
CommunicationRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/request-priority|4.0.0 to http://hl7.org/fhir/ValueSet/request-priority|4.1.0

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest TUDomainResourceA request for information to be sent to a receiver
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique identifier
... basedOn Σ0..*Reference(Any)Fulfills plan or proposal
... replaces Σ0..*Reference(CommunicationRequest)Request(s) replaced by this request
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
RequestStatus (Required)
... statusReason 0..1CodeableConceptReason for current status
CommunicationRequestStatusReason (Example)
... category 0..*CodeableConceptMessage category
CommunicationCategory (Example)
... priority Σ0..1coderoutine | urgent | asap | stat
RequestPriority (Required)
... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... medium 0..*CodeableConceptA channel of communication
ParticipationMode (Example)
... subject 0..1Reference(Patient | Group)Focus of message
... about 0..*Reference(Any)Resources that pertain to this communication request
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... payload 0..*BackboneElementMessage payload
.... content[x] 1..1Message part content
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Any)
... occurrence[x] Σ0..1When scheduled
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
... authoredOn Σ0..1dateTimeWhen request transitioned to being actionable
... requester Σ0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)Who/what is requesting service
... recipient 0..*Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService)Message recipient
... sender Σ0..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService)Message sender
... reasonCode Σ0..*CodeableConceptWhy is communication needed?
v3 Code System ActReason (Example)
... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why is communication needed?
... note 0..*AnnotationComments made about communication request

doco Documentation for this format

UML Diagram (Legend)

CommunicationRequest (DomainResource)Business identifiers assigned to this communication request by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]A plan or proposal that is fulfilled in whole or in part by this requestbasedOn : Reference [0..*] « Any »Completed or terminated request(s) whose function is taken by this new requestreplaces : Reference [0..*] « CommunicationRequest »A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar formgroupIdentifier : Identifier [0..1]The status of the proposal or order (this element modifies the meaning of other elements)status : code [1..1] « The status of the communication request. (Strength=Required)RequestStatus! »Captures the reason for the current state of the CommunicationRequeststatusReason : CodeableConcept [0..1] « Codes identifying the reason for the current state of a request. (Strength=Example) CommunicationRequestStatusRea...?? »The type of message to be sent such as alert, notification, reminder, instruction, etccategory : CodeableConcept [0..*] « Codes for general categories of communications such as alerts, instruction, etc. (Strength=Example)CommunicationCategory?? »Characterizes how quickly the proposed act must be initiated. Includes concepts such as stat, urgent, routinepriority : code [0..1] « Codes indicating the relative importance of a communication request. (Strength=Required)RequestPriority! »If true indicates that the CommunicationRequest is asking for the specified action to *not* occur (this element modifies the meaning of other elements)doNotPerform : boolean [0..1]A channel that was used for this communication (e.g. email, fax)medium : CodeableConcept [0..*] « Codes for communication mediums such as phone, fax, email, in person, etc. (Strength=Example)ParticipationMode?? »The patient or group that is the focus of this communication requestsubject : Reference [0..1] « Patient|Group »Other resources that pertain to this communication request and to which this communication request should be associatedabout : Reference [0..*] « Any »The Encounter during which this CommunicationRequest was created or to which the creation of this record is tightly associatedencounter : Reference [0..1] « Encounter »The time when this communication is to occuroccurrence[x] : Element [0..1] « dateTime|Period »For draft requests, indicates the date of initial creation. For requests with other statuses, indicates the date of activationauthoredOn : dateTime [0..1]The device, individual, or organization who initiated the request and has responsibility for its activationrequester : Reference [0..1] « Practitioner|PractitionerRole| Organization|Patient|RelatedPerson|Device »The entity (e.g. person, organization, clinical information system, device, group, or care team) which is the intended target of the communicationrecipient : Reference [0..*] « Device|Organization|Patient| Practitioner|PractitionerRole|RelatedPerson|Group|CareTeam| HealthcareService »The entity (e.g. person, organization, clinical information system, or device) which is to be the source of the communicationsender : Reference [0..1] « Device|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|HealthcareService »Describes why the request is being made in coded or textual formreasonCode : CodeableConcept [0..*] « Codes for describing reasons for the occurrence of a communication. (Strength=Example)ActReason?? »Indicates another resource whose existence justifies this requestreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport|DocumentReference »Comments made about the request by the requester, sender, recipient, subject or other participantsnote : Annotation [0..*]PayloadThe communicated content (or for multi-part communications, one portion of the communication)content[x] : Element [1..1] « string|Attachment|Reference(Any) »Text, attachment(s), or resource(s) to be communicated to the recipientpayload[0..*]

XML Template

<CommunicationRequest 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>
 <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

{doco
  "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/> .doco


[ 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
  • Change value set from http://hl7.org/fhir/ValueSet/request-status|4.0.0 to http://hl7.org/fhir/ValueSet/request-status|4.1.0
CommunicationRequest.priority
  • Change value set from http://hl7.org/fhir/ValueSet/request-priority|4.0.0 to http://hl7.org/fhir/ValueSet/request-priority|4.1.0

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

PathDefinitionTypeReference
CommunicationRequest.status The status of the communication request.RequiredRequestStatus
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.ExampleCommunicationCategory
CommunicationRequest.priority Codes indicating the relative importance of a communication request.RequiredRequestPriority
CommunicationRequest.medium Codes for communication mediums such as phone, fax, email, in person, etc.ExampleParticipationMode
CommunicationRequest.reasonCode Codes for describing reasons for the occurrence of a communication.ExampleActReason

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.

NameTypeDescriptionExpressionIn Common
authoreddateWhen request transitioned to being actionableCommunicationRequest.authoredOn
based-onreferenceFulfills plan or proposalCommunicationRequest.basedOn
(Any)
categorytokenMessage categoryCommunicationRequest.category
encounterreferenceEncounter created as part ofCommunicationRequest.encounter
(Encounter)
group-identifiertokenComposite request this is part ofCommunicationRequest.groupIdentifier
identifiertokenUnique identifierCommunicationRequest.identifier
mediumtokenA channel of communicationCommunicationRequest.medium
occurrencedateWhen scheduled(CommunicationRequest.occurrence as dateTime)
patientreferenceFocus of messageCommunicationRequest.subject.where(resolve() is Patient)
(Group, Patient)
prioritytokenroutine | urgent | asap | statCommunicationRequest.priority
recipientreferenceMessage recipientCommunicationRequest.recipient
(Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
replacesreferenceRequest(s) replaced by this requestCommunicationRequest.replaces
(CommunicationRequest)
requesterreferenceWho/what is requesting serviceCommunicationRequest.requester
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
senderreferenceMessage senderCommunicationRequest.sender
(Practitioner, Organization, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson)
statustokendraft | active | on-hold | revoked | completed | entered-in-error | unknownCommunicationRequest.status
subjectreferenceFocus of messageCommunicationRequest.subject
(Group, Patient)