eHealth Infrastructure (v2020.2)

StructureDefinition: ehealth-communication

Introduction

The FHIR resource Communication is a record of a communication. A communication is a conveyance of information from one entity, a sender, to another entity, a receiver.

This profile, the ehealth-communication, is intended for use of the FHIR Communication for capturing an annotation about a measurement. Such an annotation could for example describe circumstances about a particular Observation, QuestionnaireResponse or Media submitted by a Patient.

Scope and Usage

In the eHealth infrastructure, the annotation is defined using the following elements:

  • sender refers to the creator and owner of the annotation
  • ehealth-communication-senderCareTeam has same function as sender but is used where the creator and owner is one or more CareTeams
  • recipient refers to the entities allowed to read the annotation
  • ehealth-communication-recipientCareTeam has same function as recipient but is used where the allowed reading entity is one or more CareTeams
  • ehealth-restriction-category indicates, when ehealth-communication-senderCareTeam and/or ehealth-communication-recipientCareTeam refer to one or more CareTeams, what workflow areas/responsibilities of members of those CareTeams that the annotation is relevant for.
  • topic refers to the measurement which the annotation is about. This can be zero or more Observation, zero or more QuestionnaireResponse and zero or more Media. At least one of Observation, QuestionnaireResponse or Media should be referred for the annotation to make sense.
  • payload contains the annotation text itself

Boundaries and Relationships

In scope of the eHealth infrastructure, FHIR Communication is also used in the profile ehealth-message where a FHIR Communication captures written communication in the form of messages, notifications and advises. The ehealth-message profile is also used for personal notes.

A personal note differ from an annotation in that the latter is specific for measurements where the former has broader scope.

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication

This profile builds on Communication.

This profile was published on Tue Mar 31 08:26:16 UTC 2020 as a draft by ehealth.sundhed.dk.

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

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA communication is a conveyance of information from a sender to a receiver.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-communication-recipientCareTeam 0..*Reference()CareTeam message recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam
... ehealth-communication-senderCareTeam 0..*Reference()CareTeam message sender
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam
... ehealth-restriction-category 1..*CodeableConceptRestriction category
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category
... definition 0..*Reference(eHealth PlanDefinition | eHealth ActivityDefinition) {r}
... basedOn 0..*Reference(Resource) {r}
... partOf 0..*Reference(Resource) {r}
... category 1..*CodeableConceptBinding: Communication Category (required)
... subject 1..1Reference(eHealth Patient) {r}
... recipient 0..*Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | Group) {r}
... topic 1..*Reference(Resource) {r}
... context 1..1Reference(Encounter | eHealth EpisodeOfCare) {r}
... sender 0..1Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}
... reasonReference 0..*Reference(eHealth Condition | eHealth Observation) {r}
... payload
.... contentString:contentString 1..1string

doco Documentation for this format

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication I0..*CommunicationA communication is a conveyance of information from a sender 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: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-communication-recipientCareTeam I0..*Reference()CareTeam message recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam
... ehealth-communication-senderCareTeam I0..*Reference()CareTeam message sender
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam
... ehealth-restriction-category I1..*CodeableConceptRestriction category
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierUnique identifier
... definition Σ0..*Reference(eHealth PlanDefinition | eHealth ActivityDefinition) {r}Instantiates protocol or definition
... basedOn Σ0..*Reference(Resource) {r}Request fulfilled by this communication
... partOf Σ0..*Reference(Resource) {r}Part of this action
... status ?!Σ1..1codepreparation | in-progress | suspended | aborted | completed | entered-in-error
Binding: EventStatus (required)
... notDone ?!Σ0..1booleanCommunication did not occur
... notDoneReason ΣI0..1CodeableConceptWhy communication did not occur
Binding: CommunicationNotDoneReason (example)
... category 1..*CodeableConceptMessage category
Binding: Communication Category (required)
... medium 0..*CodeableConceptA channel of communication
Binding: ParticipationMode (example)
... subject Σ1..1Reference(eHealth Patient) {r}Focus of message
... recipient 0..*Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | Group) {r}Message recipient
... topic 1..*Reference(Resource) {r}Focal resources
... context Σ1..1Reference(Encounter | eHealth EpisodeOfCare) {r}Encounter or episode leading to message
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... sender 0..1Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Message sender
... reasonCode Σ0..*CodeableConceptIndication for message
Binding: SNOMED CT Clinical Findings (example)
... reasonReference Σ0..*Reference(eHealth Condition | eHealth Observation) {r}Why was communication done?
... payload I0..*BackboneElementMessage payload
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1(Slice Definition)Message part content
Slice: Unordered, Closed by type:$this
..... content[x]:contentString 1..1stringMessage part content
... note 0..*AnnotationComments made about the communication

doco Documentation for this format

Differential View

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication 0..*CommunicationA communication is a conveyance of information from a sender to a receiver.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-communication-recipientCareTeam 0..*Reference()CareTeam message recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam
... ehealth-communication-senderCareTeam 0..*Reference()CareTeam message sender
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam
... ehealth-restriction-category 1..*CodeableConceptRestriction category
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category
... definition 0..*Reference(eHealth PlanDefinition | eHealth ActivityDefinition) {r}
... basedOn 0..*Reference(Resource) {r}
... partOf 0..*Reference(Resource) {r}
... category 1..*CodeableConceptBinding: Communication Category (required)
... subject 1..1Reference(eHealth Patient) {r}
... recipient 0..*Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | Group) {r}
... topic 1..*Reference(Resource) {r}
... context 1..1Reference(Encounter | eHealth EpisodeOfCare) {r}
... sender 0..1Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}
... reasonReference 0..*Reference(eHealth Condition | eHealth Observation) {r}
... payload
.... contentString:contentString 1..1string

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication I0..*CommunicationA communication is a conveyance of information from a sender 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: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-communication-recipientCareTeam I0..*Reference()CareTeam message recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam
... ehealth-communication-senderCareTeam I0..*Reference()CareTeam message sender
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam
... ehealth-restriction-category I1..*CodeableConceptRestriction category
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierUnique identifier
... definition Σ0..*Reference(eHealth PlanDefinition | eHealth ActivityDefinition) {r}Instantiates protocol or definition
... basedOn Σ0..*Reference(Resource) {r}Request fulfilled by this communication
... partOf Σ0..*Reference(Resource) {r}Part of this action
... status ?!Σ1..1codepreparation | in-progress | suspended | aborted | completed | entered-in-error
Binding: EventStatus (required)
... notDone ?!Σ0..1booleanCommunication did not occur
... notDoneReason ΣI0..1CodeableConceptWhy communication did not occur
Binding: CommunicationNotDoneReason (example)
... category 1..*CodeableConceptMessage category
Binding: Communication Category (required)
... medium 0..*CodeableConceptA channel of communication
Binding: ParticipationMode (example)
... subject Σ1..1Reference(eHealth Patient) {r}Focus of message
... recipient 0..*Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson | Group) {r}Message recipient
... topic 1..*Reference(Resource) {r}Focal resources
... context Σ1..1Reference(Encounter | eHealth EpisodeOfCare) {r}Encounter or episode leading to message
... sent 0..1dateTimeWhen sent
... received 0..1dateTimeWhen received
... sender 0..1Reference(eHealth Device | eHealth Patient | eHealth Practitioner | eHealth RelatedPerson) {r}Message sender
... reasonCode Σ0..*CodeableConceptIndication for message
Binding: SNOMED CT Clinical Findings (example)
... reasonReference Σ0..*Reference(eHealth Condition | eHealth Observation) {r}Why was communication done?
... payload I0..*BackboneElementMessage payload
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... content[x] 1..1(Slice Definition)Message part content
Slice: Unordered, Closed by type:$this
..... content[x]:contentString 1..1stringMessage part content
... note 0..*AnnotationComments made about the communication

doco Documentation for this format

 

Terminology Bindings

PathConformanceValueSet
Communication.languageextensibleCommon Languages
Max Binding: All Languages
Communication.statusrequiredEventStatus
Communication.notDoneReasonexampleCommunicationNotDoneReason
Communication.categoryrequiredCommunicationCategory
Communication.mediumexamplev3 Code System ParticipationMode
Communication.reasonCodeexampleSNOMED CT Clinical Findings

Constraints

IdPathDetailsRequirements
dom-2CommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1CommunicationIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.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-3CommunicationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
com-1CommunicationNot Done Reason can only be specified if NotDone is "true"
: notDone or notDoneReason.exists().not()
ele-1Communication.extension:recipientCareTeamAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Communication.extension:recipientCareTeamMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Communication.extension:senderCareTeamAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Communication.extension:senderCareTeamMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Communication.extension:restrictionCategoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Communication.extension:restrictionCategoryMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Communication.payloadAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.