FHIR Implementation Guide for ABDM
5.0.0 - active India

Banner

FHIR Implementation Guide for ABDM - Local Development build (v5.0.0). See the Directory of published versions

Resource Profile: StructureDefinition/CommunicationRequest

Official URL: https://nrces.in/ndhm/fhir/r4/StructureDefinition/CommunicationRequest Version: 5.0.0
Draft as of 2023-12-22 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.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... replaces Σ0..*Reference(CommunicationRequest)Request(s) replaced by this request
... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... requester Σ0..1Reference(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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CommunicationRequest.statusrequiredRequestStatus

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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierUnique identifier
... basedOn Σ0..*Reference(Resource)Fulfills plan or proposal
... replaces Σ0..*Reference(CommunicationRequest)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of the communication request.

... statusReason 0..1CodeableConceptReason for current status
Binding: (unbound) (example): Codes identifying the reason for the current state of a request.

... category 0..*CodeableConceptMessage category
Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc.


... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Codes indicating the relative importance of a communication request.

... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... medium 0..*CodeableConceptA channel of communication
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.


... subject 0..1Reference(Patient | Group)Focus of message
... about 0..*Reference(Resource)Resources that pertain to this communication request
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... payload 0..*BackboneElementMessage payload
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... content[x] 1..1Message part content
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Resource)
... occurrence[x] Σ0..1When scheduled
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
... authoredOn Σ0..1dateTimeWhen request transitioned to being actionable
... requester Σ0..1Reference(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..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService)Message sender
... reasonCode Σ0..*CodeableConceptWhy is communication needed?
Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why is communication needed?
... note 0..*AnnotationComments made about communication request

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CommunicationRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
CommunicationRequest.statusrequiredRequestStatus
CommunicationRequest.statusReasonexample
CommunicationRequest.categoryexampleCommunicationCategory
CommunicationRequest.priorityrequiredRequestPriority
CommunicationRequest.mediumexampleParticipationMode
CommunicationRequest.reasonCodeexampleActReason

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

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... replaces Σ0..*Reference(CommunicationRequest)Request(s) replaced by this request
... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... requester Σ0..1Reference(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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CommunicationRequest.statusrequiredRequestStatus

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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierUnique identifier
... basedOn Σ0..*Reference(Resource)Fulfills plan or proposal
... replaces Σ0..*Reference(CommunicationRequest)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): The status of the communication request.

... statusReason 0..1CodeableConceptReason for current status
Binding: (unbound) (example): Codes identifying the reason for the current state of a request.

... category 0..*CodeableConceptMessage category
Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc.


... priority Σ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Codes indicating the relative importance of a communication request.

... doNotPerform ?!Σ0..1booleanTrue if request is prohibiting action
... medium 0..*CodeableConceptA channel of communication
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.


... subject 0..1Reference(Patient | Group)Focus of message
... about 0..*Reference(Resource)Resources that pertain to this communication request
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... payload 0..*BackboneElementMessage payload
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... content[x] 1..1Message part content
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Resource)
... occurrence[x] Σ0..1When scheduled
.... occurrenceDateTimedateTime
.... occurrencePeriodPeriod
... authoredOn Σ0..1dateTimeWhen request transitioned to being actionable
... requester Σ0..1Reference(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..1Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService)Message sender
... reasonCode Σ0..*CodeableConceptWhy is communication needed?
Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why is communication needed?
... note 0..*AnnotationComments made about communication request

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
CommunicationRequest.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
CommunicationRequest.statusrequiredRequestStatus
CommunicationRequest.statusReasonexample
CommunicationRequest.categoryexampleCommunicationCategory
CommunicationRequest.priorityrequiredRequestPriority
CommunicationRequest.mediumexampleParticipationMode
CommunicationRequest.reasonCodeexampleActReason

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