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 Communication

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

An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was 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-Communication.html

Formal Views of Profile Content

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

This structure is derived from Communication

Summary

Mandatory: 1 element (1 nested mandatory element)

Maturity: 0

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender to a receiver
... identifier Σ0..*IdentifierUnique identifier
... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... partOf Σ0..*Reference(Resource)Part of this action
... inResponseTo 0..*Reference(Communication)Reply to
... status ?!Σ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.

... statusReason Σ0..1CodeableConceptReason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.

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


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

... 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
... topic 0..1CodeableConceptDescription of the purpose/content
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

... about 0..*Reference(Resource)Resources that pertain to this communication
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... 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..*CodeableConceptIndication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why was communication done?
... payload 0..*BackboneElementMessage payload
.... content[x] 1..1Message part content
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Resource)
... note 0..*AnnotationComments made about the communication

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender 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
... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(Resource)Request fulfilled by this communication
... partOf Σ0..*Reference(Resource)Part of this action
... inResponseTo 0..*Reference(Communication)Reply to
... status ?!Σ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.

... statusReason Σ0..1CodeableConceptReason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.

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


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

... 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
... topic 0..1CodeableConceptDescription of the purpose/content
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

... about 0..*Reference(Resource)Resources that pertain to this communication
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... 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..*CodeableConceptIndication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why was communication done?
... 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)
... note 0..*AnnotationComments made about the communication

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender to a receiver

doco Documentation for this format

This structure is derived from Communication

Summary

Mandatory: 1 element (1 nested mandatory element)

Maturity: 0

Differential View

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender to a receiver
... identifier Σ0..*IdentifierUnique identifier
... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... partOf Σ0..*Reference(Resource)Part of this action
... inResponseTo 0..*Reference(Communication)Reply to
... status ?!Σ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.

... statusReason Σ0..1CodeableConceptReason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.

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


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

... 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
... topic 0..1CodeableConceptDescription of the purpose/content
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

... about 0..*Reference(Resource)Resources that pertain to this communication
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... 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..*CodeableConceptIndication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why was communication done?
... payload 0..*BackboneElementMessage payload
.... content[x] 1..1Message part content
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Resource)
... note 0..*AnnotationComments made about the communication

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender 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
... instantiatesCanonical Σ0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn Σ0..*Reference(Resource)Request fulfilled by this communication
... partOf Σ0..*Reference(Resource)Part of this action
... inResponseTo 0..*Reference(Communication)Reply to
... status ?!Σ1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.

... statusReason Σ0..1CodeableConceptReason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.

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


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

... 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
... topic 0..1CodeableConceptDescription of the purpose/content
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

... about 0..*Reference(Resource)Resources that pertain to this communication
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... 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..*CodeableConceptIndication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why was communication done?
... 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)
... note 0..*AnnotationComments made about the communication

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Communication.statusrequiredEventStatus
Communication.statusReasonexampleCommunicationNotDoneReason
Communication.categoryexampleCommunicationCategory
Communication.priorityrequiredRequestPriority
Communication.mediumexampleParticipationMode
Communication.topicexampleCommunicationTopic
Communication.reasonCodeexampleSNOMEDCTClinicalFindings

Constraints

IdGradePathDetailsRequirements
dom-2errorCommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationIf 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-4errorCommunicationIf 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-5errorCommunicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeCommunicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorCommunication.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.inResponseToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.mediumAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.topicAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.aboutAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.sentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.receivedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.recipientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.senderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payloadAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.payload.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorCommunication.payload.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorCommunication.payload.content[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorCommunication.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())