eHealth Infrastructure - Local Development build (v2021.3.0). See the Directory of published versions
Defining URL: | http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication |
Version: | 2021.3.0 |
Name: | ehealth-communication |
Status: | Active as of 2021-11-25T09:32:14+00:00 |
Publisher: | Systematic | Trifork |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication
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.
In the eHealth infrastructure, the annotation is defined using the following elements:
sender
refers to the creator and owner of the annotationehealth-communication-senderCareTeam
has same function as sender
but is used where the creator and owner is one or more CareTeamsrecipient
refers to the entities allowed to read the annotationehealth-communication-recipientCareTeam
has same function as recipient
but is used where the allowed reading entity is one or more CareTeamsehealth-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 itselfIn 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.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Communication
Summary
Mandatory: 4 elements (1 nested mandatory element)
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
This structure is derived from Communication
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
Slices for extension | 2..* | Extension | Extension Slice: Unordered, Open by value:url | |
workflow-episodeOfCare | 1..1 | Reference(EpisodeOfCare) | Associated Encounter episode of care URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare | |
ehealth-communication-recipientCareTeam | 0..* | Reference() | CareTeam message recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam | |
ehealth-communication-senderCareTeam | 0..* | Reference(ehealth-careteam) {r} | CareTeam message sender URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam | |
ehealth-restriction-category | 1..* | CodeableConcept | Restriction category URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category Binding: Restriction Category (required) | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Unique identifier |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(Resource) {r} | Request fulfilled by this communication |
partOf | Σ | 0..* | Reference(Resource) {r} | Part of this action |
inResponseTo | 0..* | Reference(Communication) | Reply to | |
status | ?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. |
category | 1..* | CodeableConcept | Message category Binding: Communication Category (required) | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. |
medium | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
subject | Σ | 1..1 | Reference(ehealth-patient) {r} | Focus of message |
topic | 0..1 | CodeableConcept | Description 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..1 | Reference(Encounter) | Encounter created as part of |
sent | 0..1 | dateTime | When sent | |
received | 0..1 | dateTime | When received | |
recipient | 0..* | Reference(ehealth-device | ehealth-patient | ehealth-practitioner | ehealth-relatedperson) {r} | Message recipient | |
sender | 0..1 | Reference(ehealth-device | ehealth-patient | ehealth-practitioner | ehealth-relatedperson) {r} | Message sender | |
reasonCode | Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. |
reasonReference | Σ | 0..* | Reference(ehealth-condition | ehealth-observation) {r} | Why was communication done? |
payload | 0..* | BackboneElement | Message payload | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
Slices for content[x] | 1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |
content[x]:contentString | 1..1 | string | Message part content | |
note | 0..* | Annotation | Comments made about the communication | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
Documentation for this format |
This structure is derived from Communication
Summary
Mandatory: 4 elements (1 nested mandatory element)
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from Communication
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Communication | 0..* | Communication | A record of information transmitted from a sender to a receiver | |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
Slices for extension | 2..* | Extension | Extension Slice: Unordered, Open by value:url | |
workflow-episodeOfCare | 1..1 | Reference(EpisodeOfCare) | Associated Encounter episode of care URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare | |
ehealth-communication-recipientCareTeam | 0..* | Reference() | CareTeam message recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam | |
ehealth-communication-senderCareTeam | 0..* | Reference(ehealth-careteam) {r} | CareTeam message sender URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam | |
ehealth-restriction-category | 1..* | CodeableConcept | Restriction category URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category Binding: Restriction Category (required) | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Unique identifier |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(Resource) {r} | Request fulfilled by this communication |
partOf | Σ | 0..* | Reference(Resource) {r} | Part of this action |
inResponseTo | 0..* | Reference(Communication) | Reply to | |
status | ?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. |
category | 1..* | CodeableConcept | Message category Binding: Communication Category (required) | |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. |
medium | 0..* | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
subject | Σ | 1..1 | Reference(ehealth-patient) {r} | Focus of message |
topic | 0..1 | CodeableConcept | Description 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..1 | Reference(Encounter) | Encounter created as part of |
sent | 0..1 | dateTime | When sent | |
received | 0..1 | dateTime | When received | |
recipient | 0..* | Reference(ehealth-device | ehealth-patient | ehealth-practitioner | ehealth-relatedperson) {r} | Message recipient | |
sender | 0..1 | Reference(ehealth-device | ehealth-patient | ehealth-practitioner | ehealth-relatedperson) {r} | Message sender | |
reasonCode | Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. |
reasonReference | Σ | 0..* | Reference(ehealth-condition | ehealth-observation) {r} | Why was communication done? |
payload | 0..* | BackboneElement | Message payload | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
Slices for content[x] | 1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |
content[x]:contentString | 1..1 | string | Message part content | |
note | 0..* | Annotation | Comments made about the communication | |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Communication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Communication.status | required | EventStatus |
Communication.statusReason | example | CommunicationNotDoneReason |
Communication.category | required | CommunicationCategory |
Communication.priority | required | RequestPriority |
Communication.medium | example | ParticipationMode |
Communication.topic | example | CommunicationTopic |
Communication.reasonCode | example | SNOMEDCTClinicalFindings |
Id | Path | Details | Requirements |
dom-2 | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Communication | If 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-4 | Communication | If 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-5 | Communication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Communication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Communication.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.extension:episodeOfCare | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.extension:episodeOfCare | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.extension:recipientCareTeam | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.extension:recipientCareTeam | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.extension:senderCareTeam | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.extension:senderCareTeam | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.extension:restrictionCategory | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.extension:restrictionCategory | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.instantiatesCanonical | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.instantiatesUri | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.inResponseTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.priority | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.medium | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.topic | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.about | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.sent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.received | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.recipient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.sender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.reasonCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.reasonReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.payload | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.payload.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.payload.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.payload.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Communication.payload.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Communication.payload.content[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.payload.content[x]:contentString | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Communication.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |