FHIR Implementation Guide for ABDM
6.5.0 - active India flag

Banner

FHIR Implementation Guide for ABDM - Local Development build (v6.5.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: CommunicationRequest

Official URL: https://nrces.in/ndhm/fhir/r4/StructureDefinition/CommunicationRequest Version: 6.5.0
Draft as of 2025-03-18 Computable Name: CommunicationRequest

This profile sets the minimum requirement for a communication to be carried out, serving as a record of the communication request. In this context, a communication refers to the transmission of information from a sender to a receiver. The requester initiates the communication by asking the sender to convey the payload to the intended recipient. The sender and receivers involved in this process can encompass patients, practitioners, related persons, organizations, and devices.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CommunicationRequest 0..* CommunicationRequest A request for information to be sent to a receiver
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... replaces Σ 0..* Reference(CommunicationRequest) Request(s) replaced by this request
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... subject 0..1 Reference(Group | Patient) Focus of message
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... requester Σ 0..1 Reference(RelatedPerson | Device | Practitioner | PractitionerRole | Organization | Patient) Who/what is requesting service
... recipient 0..* Reference(Device | RelatedPerson | Group | CareTeam | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message recipient
... sender Σ 0..1 Reference(Device | RelatedPerson | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message sender
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReportImaging | DiagnosticReportLab | DocumentReference) Why is communication needed?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CommunicationRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from CommunicationRequest

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CommunicationRequest 0..* CommunicationRequest A request for information to be sent to a receiver
... replaces 0..* Reference(CommunicationRequest) Request(s) replaced by this request
... subject 0..1 Reference(Group | Patient) Focus of message
... encounter 0..1 Reference(Encounter) Encounter created as part of
... recipient 0..* Reference(Device | RelatedPerson | Group | CareTeam | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message recipient
... sender 0..1 Reference(Device | RelatedPerson | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message sender
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReportImaging | DiagnosticReportLab | DocumentReference) Why is communication needed?

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CommunicationRequest 0..* CommunicationRequest A request for information to be sent to a receiver
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique identifier
... basedOn Σ 0..* Reference(Resource) Fulfills plan or proposal
... replaces Σ 0..* Reference(CommunicationRequest) Request(s) replaced by this request
... groupIdentifier Σ 0..1 Identifier Composite request this is part of
... status ?!Σ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of the communication request.
... statusReason 0..1 CodeableConcept Reason for current status
Binding Description: (example): Codes identifying the reason for the current state of a request.
... category 0..* CodeableConcept Message category
Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc.
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Codes indicating the relative importance of a communication request.
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... medium 0..* CodeableConcept A channel of communication
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.
... subject 0..1 Reference(Group | Patient) Focus of message
... about 0..* Reference(Resource) Resources that pertain to this communication request
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... payload 0..* BackboneElement Message payload
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... content[x] 1..1 Message part content
..... contentString string
..... contentAttachment Attachment
..... contentReference Reference(Resource)
... occurrence[x] Σ 0..1 When scheduled
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
... authoredOn Σ 0..1 dateTime When request transitioned to being actionable
... requester Σ 0..1 Reference(RelatedPerson | Device | Practitioner | PractitionerRole | Organization | Patient) Who/what is requesting service
... recipient 0..* Reference(Device | RelatedPerson | Group | CareTeam | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message recipient
... sender Σ 0..1 Reference(Device | RelatedPerson | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message sender
... reasonCode Σ 0..* CodeableConcept Why is communication needed?
Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication.
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReportImaging | DiagnosticReportLab | DocumentReference) Why is communication needed?
... note 0..* Annotation Comments made about communication request

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CommunicationRequest.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages|4.0.1
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
CommunicationRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
From the FHIR Standard
CommunicationRequest.statusReasonexample
CommunicationRequest.categoryexampleCommunicationCategory
http://hl7.org/fhir/ValueSet/communication-category|4.0.1
From the FHIR Standard
CommunicationRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
From the FHIR Standard
CommunicationRequest.mediumexampleParticipationMode
http://terminology.hl7.org/ValueSet/v3-ParticipationMode
CommunicationRequest.reasonCodeexampleActReason
http://terminology.hl7.org/ValueSet/v3-ActReason

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CommunicationRequest 0..* CommunicationRequest A request for information to be sent to a receiver
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... replaces Σ 0..* Reference(CommunicationRequest) Request(s) replaced by this request
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... subject 0..1 Reference(Group | Patient) Focus of message
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... requester Σ 0..1 Reference(RelatedPerson | Device | Practitioner | PractitionerRole | Organization | Patient) Who/what is requesting service
... recipient 0..* Reference(Device | RelatedPerson | Group | CareTeam | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message recipient
... sender Σ 0..1 Reference(Device | RelatedPerson | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message sender
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReportImaging | DiagnosticReportLab | DocumentReference) Why is communication needed?

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CommunicationRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from CommunicationRequest

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CommunicationRequest 0..* CommunicationRequest A request for information to be sent to a receiver
... replaces 0..* Reference(CommunicationRequest) Request(s) replaced by this request
... subject 0..1 Reference(Group | Patient) Focus of message
... encounter 0..1 Reference(Encounter) Encounter created as part of
... recipient 0..* Reference(Device | RelatedPerson | Group | CareTeam | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message recipient
... sender 0..1 Reference(Device | RelatedPerson | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message sender
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReportImaging | DiagnosticReportLab | DocumentReference) Why is communication needed?

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CommunicationRequest 0..* CommunicationRequest A request for information to be sent to a receiver
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique identifier
... basedOn Σ 0..* Reference(Resource) Fulfills plan or proposal
... replaces Σ 0..* Reference(CommunicationRequest) Request(s) replaced by this request
... groupIdentifier Σ 0..1 Identifier Composite request this is part of
... status ?!Σ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of the communication request.
... statusReason 0..1 CodeableConcept Reason for current status
Binding Description: (example): Codes identifying the reason for the current state of a request.
... category 0..* CodeableConcept Message category
Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc.
... priority Σ 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Codes indicating the relative importance of a communication request.
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
... medium 0..* CodeableConcept A channel of communication
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.
... subject 0..1 Reference(Group | Patient) Focus of message
... about 0..* Reference(Resource) Resources that pertain to this communication request
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... payload 0..* BackboneElement Message payload
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... content[x] 1..1 Message part content
..... contentString string
..... contentAttachment Attachment
..... contentReference Reference(Resource)
... occurrence[x] Σ 0..1 When scheduled
.... occurrenceDateTime dateTime
.... occurrencePeriod Period
... authoredOn Σ 0..1 dateTime When request transitioned to being actionable
... requester Σ 0..1 Reference(RelatedPerson | Device | Practitioner | PractitionerRole | Organization | Patient) Who/what is requesting service
... recipient 0..* Reference(Device | RelatedPerson | Group | CareTeam | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message recipient
... sender Σ 0..1 Reference(Device | RelatedPerson | HealthcareService | Organization | Patient | Practitioner | PractitionerRole) Message sender
... reasonCode Σ 0..* CodeableConcept Why is communication needed?
Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication.
... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReportImaging | DiagnosticReportLab | DocumentReference) Why is communication needed?
... note 0..* Annotation Comments made about communication request

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
CommunicationRequest.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages|4.0.1
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
CommunicationRequest.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
From the FHIR Standard
CommunicationRequest.statusReasonexample
CommunicationRequest.categoryexampleCommunicationCategory
http://hl7.org/fhir/ValueSet/communication-category|4.0.1
From the FHIR Standard
CommunicationRequest.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
From the FHIR Standard
CommunicationRequest.mediumexampleParticipationMode
http://terminology.hl7.org/ValueSet/v3-ParticipationMode
CommunicationRequest.reasonCodeexampleActReason
http://terminology.hl7.org/ValueSet/v3-ActReason

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCommunicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron