FHIR Implementation Guide for HCX
0.7.0 - CI Build

FHIR Implementation Guide for HCX - Local Development build (v0.7.0). See the Directory of published versions

Resource Profile: HCX CoverageEligibility CommunicationRequest

Defining URL:https://swasth-digital-health-foundation.github.io/standards/v0.7/StructureDefinition-CommunicationRequest.html
Version:0.7.0
Name:CommunicationRequest
Status:Draft as of 2019-11-01 09:29:23+1100 (Standards Status: Trial Use)
Definition:

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.

Publisher:HCX Open Community
Committee:Patient Care
Maturity:0
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

https://swasth-digital-health-foundation.github.io/standards/v0.7/StructureDefinition-CommunicationRequest.html

Formal Views of Profile Content

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

This structure is derived from CommunicationRequest

Summary

Mandatory: 1 element (1 nested mandatory element)

Maturity: 0

This structure is derived from CommunicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... identifier Σ0..*IdentifierUnique identifier
... basedOn Σ0..*Reference(Resource)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
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
.... 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(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?
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
NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... 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
.... 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(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?
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

This structure is derived from CommunicationRequest

Summary

Mandatory: 1 element (1 nested mandatory element)

Maturity: 0

Differential View

This structure is derived from CommunicationRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... identifier Σ0..*IdentifierUnique identifier
... basedOn Σ0..*Reference(Resource)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
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
.... 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(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?
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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CommunicationRequest 0..*CommunicationRequestA request for information to be sent to a receiver
... 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
.... 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(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?
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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
CommunicationRequest.languagepreferredCommonLanguages
Max Binding: AllLanguages
CommunicationRequest.statusrequiredRequestStatus
CommunicationRequest.statusReasonexample
CommunicationRequest.categoryexampleCommunicationCategory
CommunicationRequest.priorityrequiredRequestPriority
CommunicationRequest.mediumexampleParticipationMode
CommunicationRequest.reasonCodeexampleActReason

Constraints

IdGradePathDetailsRequirements
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-1errorCommunicationRequest.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunicationRequest.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunicationRequest.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunicationRequest.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunicationRequest.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.replacesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.groupIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.doNotPerformAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.mediumAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.aboutAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.payloadAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.payload.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunicationRequest.payload.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunicationRequest.payload.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunicationRequest.payload.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunicationRequest.payload.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.occurrence[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.authoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.requesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.recipientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.senderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunicationRequest.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())