Belgium eHealth FHIR Core specifications
1.2.2 - CI Build

This page is part of the Belgium eHealth FHIR Core specifications (v1.2.2: Trial Use) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: BeCommunication

Defining URL:https://www.ehealth.fgov.be/standards/fhir/StructureDefinition/be-communication
Version:1.2.2
Name:BeCommunication
Status:Active as of 2021-01-18T09:02:46+00:00
Definition:

This is the technical specification for the Communication resource, as it is used in Belgium. This specification is compatible with the current version of KMEHR Diary Note, namely the selection of attributes that are supported, and the maximum length of the payload (320 characters). It also relies on the foundation Belgium resources, for example the Belgian Patient, Practitioner and other resources.

Publisher:eHealth
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

https://www.ehealth.fgov.be/standards/fhir/StructureDefinition/be-communication

Formal Views of Profile Content

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

This structure is derived from Communication

Summary

Must-Support: 10 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Communication.payload.content[x] is sliced based on the value of type:$this

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender to a receiver
... identifier S0..*IdentifierUnique identifier for this communication
... status S1..1codeStatus of this communication: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... category S0..*CodeableConceptMessage category
... subject S0..1Reference(BePatient | Group)Subject of the communication - typically Patient
... topic S0..1CodeableConceptTopic of the communication
Binding: BeVSDiaryTopic (preferred)
... sent S0..1dateTimeDate and Time that the communication has been sent
... recipient S0..*Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService | BeOrganization)Intended receiver of the communication
... sender S0..1Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | HealthcareService | BeOrganization)The actual sender of the communication
... payload S0..*BackboneElementThe content of the communication or diary note. Text (up to 320 characters), Attachments (base-64 encoded) or References.
.... Slices for content[x] 1..1string, Attachment, Reference(Resource)Communication content
Slice: Unordered, Open by type:$this
..... content[x]:contentString 1..1stringMessage part content

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender to a receiver
... id Σ0..1stringLogical 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)
Max Binding: AllLanguages: A human language.

... 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 SΣ0..*IdentifierUnique identifier for this communication
... 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 ?!SΣ1..1codeStatus of this communication: preparation | 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 S0..*CodeableConceptMessage category
Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc.


... priority SΣ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 SΣ0..1Reference(BePatient | Group)Subject of the communication - typically Patient
... topic S0..1CodeableConceptTopic of the communication
Binding: BeVSDiaryTopic (preferred)
... about 0..*Reference(Resource)Resources that pertain to this communication
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... sent S0..1dateTimeDate and Time that the communication has been sent
... received 0..1dateTimeWhen received
... recipient S0..*Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService | BeOrganization)Intended receiver of the communication
... sender S0..1Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | HealthcareService | BeOrganization)The actual sender of the communication
... 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 S0..*BackboneElementThe content of the communication or diary note. Text (up to 320 characters), Attachments (base-64 encoded) or References.
.... 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
.... Slices for content[x] 1..1Communication content
Slice: Unordered, Open by type:$this
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Resource)
..... content[x]:contentString 1..1stringMessage part content
... 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
... identifier Σ0..*IdentifierUnique identifier for this communication
... status ?!Σ1..1codeStatus of this communication: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.

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


... subject Σ0..1Reference(BePatient | Group)Subject of the communication - typically Patient
... topic 0..1CodeableConceptTopic of the communication
Binding: BeVSDiaryTopic (preferred)
... sent 0..1dateTimeDate and Time that the communication has been sent
... recipient 0..*Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService | BeOrganization)Intended receiver of the communication
... sender 0..1Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | HealthcareService | BeOrganization)The actual sender of the communication
... payload 0..*BackboneElementThe content of the communication or diary note. Text (up to 320 characters), Attachments (base-64 encoded) or References.

doco Documentation for this format

This structure is derived from Communication

Summary

Must-Support: 10 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Communication.payload.content[x] is sliced based on the value of type:$this

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 S0..*IdentifierUnique identifier for this communication
... status S1..1codeStatus of this communication: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... category S0..*CodeableConceptMessage category
... subject S0..1Reference(BePatient | Group)Subject of the communication - typically Patient
... topic S0..1CodeableConceptTopic of the communication
Binding: BeVSDiaryTopic (preferred)
... sent S0..1dateTimeDate and Time that the communication has been sent
... recipient S0..*Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService | BeOrganization)Intended receiver of the communication
... sender S0..1Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | HealthcareService | BeOrganization)The actual sender of the communication
... payload S0..*BackboneElementThe content of the communication or diary note. Text (up to 320 characters), Attachments (base-64 encoded) or References.
.... Slices for content[x] 1..1string, Attachment, Reference(Resource)Communication content
Slice: Unordered, Open by type:$this
..... content[x]:contentString 1..1stringMessage part content

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA record of information transmitted from a sender to a receiver
... id Σ0..1stringLogical 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)
Max Binding: AllLanguages: A human language.

... 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 SΣ0..*IdentifierUnique identifier for this communication
... 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 ?!SΣ1..1codeStatus of this communication: preparation | 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 S0..*CodeableConceptMessage category
Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc.


... priority SΣ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 SΣ0..1Reference(BePatient | Group)Subject of the communication - typically Patient
... topic S0..1CodeableConceptTopic of the communication
Binding: BeVSDiaryTopic (preferred)
... about 0..*Reference(Resource)Resources that pertain to this communication
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... sent S0..1dateTimeDate and Time that the communication has been sent
... received 0..1dateTimeWhen received
... recipient S0..*Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService | BeOrganization)Intended receiver of the communication
... sender S0..1Reference(Device | BePatient | BePractitioner | BePractitionerRole | RelatedPerson | HealthcareService | BeOrganization)The actual sender of the communication
... 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 S0..*BackboneElementThe content of the communication or diary note. Text (up to 320 characters), Attachments (base-64 encoded) or References.
.... 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
.... Slices for content[x] 1..1Communication content
Slice: Unordered, Open by type:$this
..... contentStringstring
..... contentAttachmentAttachment
..... contentReferenceReference(Resource)
..... content[x]:contentString 1..1stringMessage part content
... 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.topicpreferredBeVSDiaryTopic
Communication.reasonCodeexampleSNOMEDCTClinicalFindings

Constraints

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