FHIR Implementation Guide for ABDM
7.0.0 - active India flag

Banner

FHIR Implementation Guide for ABDM - Local Development build (v7.0.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: 7.0.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

Path Status Usage ValueSet Version Source
CommunicationRequest.​status Base required RequestStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error CommunicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CommunicationRequest If 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-4 error CommunicationRequest If 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-5 error CommunicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CommunicationRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must 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

Path Status Usage ValueSet Version Source
CommunicationRequest.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
CommunicationRequest.​status Base required RequestStatus 📍4.0.1 FHIR Std.
CommunicationRequest.​statusReason Base example Not State Unknown
CommunicationRequest.​category Base example CommunicationCategory 📍4.0.1 FHIR Std.
CommunicationRequest.​priority Base required Request priority 📍4.0.1 FHIR Std.
CommunicationRequest.​medium Base example ParticipationMode 📦3.0.0 THO v6.5
CommunicationRequest.​reasonCode Base example v3 Code System ActReason 📦3.0.0 THO v6.5

Constraints

Id Grade Path(s) Description Expression
dom-2 error CommunicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CommunicationRequest If 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-4 error CommunicationRequest If 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-5 error CommunicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CommunicationRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must 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

Path Status Usage ValueSet Version Source
CommunicationRequest.​status Base required RequestStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error CommunicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CommunicationRequest If 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-4 error CommunicationRequest If 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-5 error CommunicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CommunicationRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must 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

Path Status Usage ValueSet Version Source
CommunicationRequest.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
CommunicationRequest.​status Base required RequestStatus 📍4.0.1 FHIR Std.
CommunicationRequest.​statusReason Base example Not State Unknown
CommunicationRequest.​category Base example CommunicationCategory 📍4.0.1 FHIR Std.
CommunicationRequest.​priority Base required Request priority 📍4.0.1 FHIR Std.
CommunicationRequest.​medium Base example ParticipationMode 📦3.0.0 THO v6.5
CommunicationRequest.​reasonCode Base example v3 Code System ActReason 📦3.0.0 THO v6.5

Constraints

Id Grade Path(s) Description Expression
dom-2 error CommunicationRequest If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CommunicationRequest If 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-4 error CommunicationRequest If 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-5 error CommunicationRequest If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CommunicationRequest A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron