This page is part of the FUT Infrastructure (v5.0.1: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions
Official URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-message | Version: 5.0.1 | |||
Active as of 2025-08-12 | Computable Name: ehealth-message |
An ehealth-message defines written communication and comes in four flavours depending on the "category" of the message:
An ehealth-message may refer related resources (eg. Device, CarePlan, Appointment etc) using the "about" field, no matter which category it is. Different instances of ehealth-message may be logically organized into "threads" by assigning the same thread-id in the provided extension. Similarly, they may be organized in a group (eg. group messages) by assigning the same group-id in that extension. The message subject may be provided in the title extension, and an optional priority may be provided in the ehealth-priority extension.
The ehealth-message profile contains two status fields:
Some fields are filled in automatically on message creation, eg. if a sound default value makes sense. These fields are:
The following custom search parameters may be used when searching for ehealth-message instances:
In the eHealth Infrastructure the ehealth-message resource is used in conjunction with the following resources:
The following rules apply for the ehealth-message profile:
The Patient service will forward ehealth-messages to the public Danish NemSMS service given the following conditions:
The message is forwarded asynchronously. To track the progress of the NemSMS, the status
and statusReason
code is used:
Automatic NemSMS notifications is a toggleable feature at the service level. If enabled, the Patient service will generate NemSMS ehealth-messages, notifying the recipient that they have received a message, given the following conditions:
The Patient service will generate NemSMS ehealth-messages, notifying patients that they have an appointment or video appointment scheduled for de following day, given the following conditions:
An ehealth-message may not have its category changed, eg. from 'note' to 'message'.
An ehealth-message may be PATCH updated on paths complying with the regular expressions below (provided that security and status transition rules are obeyed)
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: nemsms-invariant, note-invariant, notification-invariant, message-invariant, advice-invariant |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..1 | (Complex) | Associated Encounter episode of care URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare | |
![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare" | |
![]() ![]() ![]() ![]() ![]() |
1..1 | Reference(EpisodeOfCare) {r} | Value of extension | |
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam | |
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message sender URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam | |
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | Restriction category URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category Binding: Restriction Category (required) | |
![]() ![]() ![]() ![]() |
0..1 | string | Thread id URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-thread-id | |
![]() ![]() ![]() ![]() |
0..* | Period | Specifies the temporal validity of an ehealth/message instance URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-period | |
![]() ![]() ![]() ![]() |
1..1 | Coding | The administrative status of how a message recipient has handled a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-administrative-status Binding: Administrative Status (required) | |
![]() ![]() ![]() ![]() |
0..1 | string | Message title URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-title | |
![]() ![]() ![]() ![]() |
0..1 | code | The priority of a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-priority Binding: Priority (required) | |
![]() ![]() ![]() ![]() |
0..1 | string | Logical id identifying a set of messages with the same recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id | |
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(ehealth-careteam) {r} | On behalf of URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-on-behalf-of |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() |
Σ | 0..* | Reference(CarePlan) {r} | Part of this action |
![]() ![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
![]() ![]() ![]() |
1..* | CodeableConcept | Message category Slice: Unordered, Open by value:coding.system Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |
![]() ![]() ![]() |
0..* | CodeableConcept | A channel of communication Slice: Unordered, Open by value:coding.system Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
![]() ![]() ![]() |
0..1 | Reference(Patient | Practitioner) {r} | Message recipient | |
![]() ![]() ![]() |
0..1 | Reference(Device | Patient | Practitioner) {r, c} | Message sender | |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Indication for message Binding: eHealth Message Reason Code (required) |
![]() ![]() ![]() |
Σ | 0..* | Reference(Condition | Observation) {r} | Why was communication done? |
![]() ![]() ![]() |
0..1 | BackboneElement | Message payload | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Message part content | |
![]() |
Path | Conformance | ValueSet | URI |
Communication.status | required | EventStatushttp://hl7.org/fhir/ValueSet/event-status|4.0.1 From the FHIR Standard | |
Communication.category | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | |
Communication.category:DkTmCategory | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | |
Communication.medium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | |
Communication.medium:DkTmMedium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | |
Communication.reasonCode | required | eHealth Message Reason Codehttp://ehealth.sundhed.dk/vs/message-reasonCode From this IG |
Id | Grade | Path(s) | Details | Requirements |
advice-invariant | error | Communication | Category advice invariant : category.coding.code contains 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) | |
dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | 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 | error | 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 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Communication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
message-invariant | error | Communication | Category message invariant : category.coding.code contains 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists() )) | |
nemsms-invariant | error | Communication | If communication resource is a NemSMS payload cannot exceed 160 : medium.coding.where(code = 'nemsms').exists() implies payload.content.ofType(string).length() <= 160 | |
note-invariant | error | Communication | Category note invariant : category.coding.code contains 'note' implies (recipient.reference contains sender.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) | |
notification-invariant | error | Communication | Category notification invariant : category.coding.code contains 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) |
This structure is derived from Communication
Path | Conformance | ValueSet | URI |
Communication.category:DkTmCategory.coding.code | required | MessageCategoryhttp://ehealth.sundhed.dk/vs/message-category From this IG | |
Communication.medium:DkTmMedium.coding.code | required | MessageMediumhttp://ehealth.sundhed.dk/vs/message-medium From this IG | |
Communication.reasonCode | required | eHealth Message Reason Codehttp://ehealth.sundhed.dk/vs/message-reasonCode From this IG |
Id | Grade | Path(s) | Details | Requirements |
advice-invariant | error | Communication | Category advice invariant : category.coding.code contains 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) | |
message-invariant | error | Communication | Category message invariant : category.coding.code contains 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists() )) | |
nemsms-invariant | error | Communication | If communication resource is a NemSMS payload cannot exceed 160 : medium.coding.where(code = 'nemsms').exists() implies payload.content.ofType(string).length() <= 160 | |
note-invariant | error | Communication | Category note invariant : category.coding.code contains 'note' implies (recipient.reference contains sender.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) | |
notification-invariant | error | Communication | Category notification invariant : category.coding.code contains 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) |
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: nemsms-invariant, note-invariant, notification-invariant, message-invariant, advice-invariant | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..1 | (Complex) | Associated Encounter episode of care URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare" | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Reference(EpisodeOfCare) {r} | Value of extension | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message sender URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam | |||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | Restriction category URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category Binding: Restriction Category (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Thread id URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-thread-id | |||||
![]() ![]() ![]() ![]() |
0..* | Period | Specifies the temporal validity of an ehealth/message instance URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-period | |||||
![]() ![]() ![]() ![]() |
1..1 | Coding | The administrative status of how a message recipient has handled a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-administrative-status Binding: Administrative Status (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Message title URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-title | |||||
![]() ![]() ![]() ![]() |
0..1 | code | The priority of a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-priority Binding: Priority (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Logical id identifying a set of messages with the same recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(ehealth-careteam) {r} | On behalf of URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-on-behalf-of | ||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Unique identifier | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Resource) | Request fulfilled by this communication | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(CarePlan) {r} | Part of this action | ||||
![]() ![]() ![]() |
0..* | Reference(Communication) | Reply to | |||||
![]() ![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. | ||||
![]() ![]() ![]() |
1..* | CodeableConcept | Message category Slice: Unordered, Open by value:coding.system Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://ehealth.sundhed.dk/cs/message-category | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Binding: MessageCategory (required) | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | A channel of communication Slice: Unordered, Open by value:coding.system Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://ehealth.sundhed.dk/cs/message-medium | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Binding: MessageMedium (required) | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Patient | Group) | Focus of message | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |||||
![]() ![]() ![]() |
0..* | Reference(Resource) | Resources that pertain to this communication | |||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() ![]() |
0..1 | dateTime | When sent | |||||
![]() ![]() ![]() |
0..1 | dateTime | When received | |||||
![]() ![]() ![]() |
0..1 | Reference(Patient | Practitioner) {r} | Message recipient | |||||
![]() ![]() ![]() |
0..1 | Reference(Device | Patient | Practitioner) {r, c} | Message sender | |||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Indication for message Binding: eHealth Message Reason Code (required) | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Condition | Observation) {r} | Why was communication done? | ||||
![]() ![]() ![]() |
0..1 | BackboneElement | Message payload | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Message part content | |||||
![]() ![]() ![]() |
0..* | Annotation | Comments made about the communication | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Individual responsible for the annotation Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() |
Reference(Practitioner | Patient | RelatedPerson | Organization) | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson) | Individual responsible for the annotation | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Individual responsible for the annotation | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | dateTime | When the annotation was made | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | markdown | The annotation - text content (as markdown) | ||||
![]() |
Path | Conformance | ValueSet | URI | |||
Communication.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Communication.status | required | EventStatushttp://hl7.org/fhir/ValueSet/event-status|4.0.1 From the FHIR Standard | ||||
Communication.statusReason | example | CommunicationNotDoneReasonhttp://hl7.org/fhir/ValueSet/communication-not-done-reason From the FHIR Standard | ||||
Communication.category | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | ||||
Communication.category:DkTmCategory | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | ||||
Communication.category:DkTmCategory.coding.code | required | MessageCategoryhttp://ehealth.sundhed.dk/vs/message-category From this IG | ||||
Communication.priority | required | RequestPriorityhttp://hl7.org/fhir/ValueSet/request-priority|4.0.1 From the FHIR Standard | ||||
Communication.medium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | ||||
Communication.medium:DkTmMedium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | ||||
Communication.medium:DkTmMedium.coding.code | required | MessageMediumhttp://ehealth.sundhed.dk/vs/message-medium From this IG | ||||
Communication.topic | example | CommunicationTopichttp://hl7.org/fhir/ValueSet/communication-topic From the FHIR Standard | ||||
Communication.reasonCode | required | eHealth Message Reason Codehttp://ehealth.sundhed.dk/vs/message-reasonCode From this IG |
Id | Grade | Path(s) | Details | Requirements |
advice-invariant | error | Communication | Category advice invariant : category.coding.code contains 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) | |
dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | 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 | error | 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 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Communication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
message-invariant | error | Communication | Category message invariant : category.coding.code contains 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists() )) | |
nemsms-invariant | error | Communication | If communication resource is a NemSMS payload cannot exceed 160 : medium.coding.where(code = 'nemsms').exists() implies payload.content.ofType(string).length() <= 160 | |
note-invariant | error | Communication | Category note invariant : category.coding.code contains 'note' implies (recipient.reference contains sender.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) | |
notification-invariant | error | Communication | Category notification invariant : category.coding.code contains 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) |
This structure is derived from Communication
Summary
Mandatory: 4 elements(3 nested mandatory elements)
Must-Support: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: nemsms-invariant, note-invariant, notification-invariant, message-invariant, advice-invariant |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..1 | (Complex) | Associated Encounter episode of care URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare | |
![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare" | |
![]() ![]() ![]() ![]() ![]() |
1..1 | Reference(EpisodeOfCare) {r} | Value of extension | |
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam | |
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message sender URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam | |
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | Restriction category URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category Binding: Restriction Category (required) | |
![]() ![]() ![]() ![]() |
0..1 | string | Thread id URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-thread-id | |
![]() ![]() ![]() ![]() |
0..* | Period | Specifies the temporal validity of an ehealth/message instance URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-period | |
![]() ![]() ![]() ![]() |
1..1 | Coding | The administrative status of how a message recipient has handled a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-administrative-status Binding: Administrative Status (required) | |
![]() ![]() ![]() ![]() |
0..1 | string | Message title URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-title | |
![]() ![]() ![]() ![]() |
0..1 | code | The priority of a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-priority Binding: Priority (required) | |
![]() ![]() ![]() ![]() |
0..1 | string | Logical id identifying a set of messages with the same recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id | |
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(ehealth-careteam) {r} | On behalf of URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-on-behalf-of |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() |
Σ | 0..* | Reference(CarePlan) {r} | Part of this action |
![]() ![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. |
![]() ![]() ![]() |
1..* | CodeableConcept | Message category Slice: Unordered, Open by value:coding.system Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |
![]() ![]() ![]() |
0..* | CodeableConcept | A channel of communication Slice: Unordered, Open by value:coding.system Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
![]() ![]() ![]() |
0..1 | Reference(Patient | Practitioner) {r} | Message recipient | |
![]() ![]() ![]() |
0..1 | Reference(Device | Patient | Practitioner) {r, c} | Message sender | |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Indication for message Binding: eHealth Message Reason Code (required) |
![]() ![]() ![]() |
Σ | 0..* | Reference(Condition | Observation) {r} | Why was communication done? |
![]() ![]() ![]() |
0..1 | BackboneElement | Message payload | |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Message part content | |
![]() |
Path | Conformance | ValueSet | URI |
Communication.status | required | EventStatushttp://hl7.org/fhir/ValueSet/event-status|4.0.1 From the FHIR Standard | |
Communication.category | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | |
Communication.category:DkTmCategory | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | |
Communication.medium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | |
Communication.medium:DkTmMedium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | |
Communication.reasonCode | required | eHealth Message Reason Codehttp://ehealth.sundhed.dk/vs/message-reasonCode From this IG |
Id | Grade | Path(s) | Details | Requirements |
advice-invariant | error | Communication | Category advice invariant : category.coding.code contains 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) | |
dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | 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 | error | 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 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Communication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
message-invariant | error | Communication | Category message invariant : category.coding.code contains 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists() )) | |
nemsms-invariant | error | Communication | If communication resource is a NemSMS payload cannot exceed 160 : medium.coding.where(code = 'nemsms').exists() implies payload.content.ofType(string).length() <= 160 | |
note-invariant | error | Communication | Category note invariant : category.coding.code contains 'note' implies (recipient.reference contains sender.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) | |
notification-invariant | error | Communication | Category notification invariant : category.coding.code contains 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) |
Differential View
This structure is derived from Communication
Path | Conformance | ValueSet | URI |
Communication.category:DkTmCategory.coding.code | required | MessageCategoryhttp://ehealth.sundhed.dk/vs/message-category From this IG | |
Communication.medium:DkTmMedium.coding.code | required | MessageMediumhttp://ehealth.sundhed.dk/vs/message-medium From this IG | |
Communication.reasonCode | required | eHealth Message Reason Codehttp://ehealth.sundhed.dk/vs/message-reasonCode From this IG |
Id | Grade | Path(s) | Details | Requirements |
advice-invariant | error | Communication | Category advice invariant : category.coding.code contains 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) | |
message-invariant | error | Communication | Category message invariant : category.coding.code contains 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists() )) | |
nemsms-invariant | error | Communication | If communication resource is a NemSMS payload cannot exceed 160 : medium.coding.where(code = 'nemsms').exists() implies payload.content.ofType(string).length() <= 160 | |
note-invariant | error | Communication | Category note invariant : category.coding.code contains 'note' implies (recipient.reference contains sender.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) | |
notification-invariant | error | Communication | Category notification invariant : category.coding.code contains 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | Communication | A record of information transmitted from a sender to a receiver Constraints: nemsms-invariant, note-invariant, notification-invariant, message-invariant, advice-invariant | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..1 | (Complex) | Associated Encounter episode of care URL: http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/StructureDefinition/workflow-episodeOfCare" | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Reference(EpisodeOfCare) {r} | Value of extension | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam | |||||
![]() ![]() ![]() ![]() |
0..1 | Reference(ehealth-careteam) {r} | CareTeam message sender URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam | |||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | Restriction category URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-restriction-category Binding: Restriction Category (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Thread id URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-thread-id | |||||
![]() ![]() ![]() ![]() |
0..* | Period | Specifies the temporal validity of an ehealth/message instance URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-period | |||||
![]() ![]() ![]() ![]() |
1..1 | Coding | The administrative status of how a message recipient has handled a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-administrative-status Binding: Administrative Status (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Message title URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-title | |||||
![]() ![]() ![]() ![]() |
0..1 | code | The priority of a message URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-priority Binding: Priority (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Logical id identifying a set of messages with the same recipient URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id | |||||
![]() ![]() ![]() ![]() |
S | 0..1 | Reference(ehealth-careteam) {r} | On behalf of URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-on-behalf-of | ||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Unique identifier | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Resource) | Request fulfilled by this communication | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(CarePlan) {r} | Part of this action | ||||
![]() ![]() ![]() |
0..* | Reference(Communication) | Reply to | |||||
![]() ![]() ![]() |
?!Σ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): The status of the communication. | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. | ||||
![]() ![]() ![]() |
1..* | CodeableConcept | Message category Slice: Unordered, Open by value:coding.system Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() ![]() ![]() |
1..1 | CodeableConcept | Message category Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://ehealth.sundhed.dk/cs/message-category | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Binding: MessageCategory (required) | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | A channel of communication Slice: Unordered, Open by value:coding.system Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | A channel of communication Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://ehealth.sundhed.dk/cs/message-medium | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Binding: MessageMedium (required) | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Patient | Group) | Focus of message | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |||||
![]() ![]() ![]() |
0..* | Reference(Resource) | Resources that pertain to this communication | |||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() ![]() |
0..1 | dateTime | When sent | |||||
![]() ![]() ![]() |
0..1 | dateTime | When received | |||||
![]() ![]() ![]() |
0..1 | Reference(Patient | Practitioner) {r} | Message recipient | |||||
![]() ![]() ![]() |
0..1 | Reference(Device | Patient | Practitioner) {r, c} | Message sender | |||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Indication for message Binding: eHealth Message Reason Code (required) | ||||
![]() ![]() ![]() |
Σ | 0..* | Reference(Condition | Observation) {r} | Why was communication done? | ||||
![]() ![]() ![]() |
0..1 | BackboneElement | Message payload | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Message part content | |||||
![]() ![]() ![]() |
0..* | Annotation | Comments made about the communication | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Individual responsible for the annotation Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() |
Reference(Practitioner | Patient | RelatedPerson | Organization) | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(ehealth-practitioner | ehealth-patient | ehealth-relatedperson) | Individual responsible for the annotation | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Individual responsible for the annotation | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | dateTime | When the annotation was made | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | markdown | The annotation - text content (as markdown) | ||||
![]() |
Path | Conformance | ValueSet | URI | |||
Communication.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Communication.status | required | EventStatushttp://hl7.org/fhir/ValueSet/event-status|4.0.1 From the FHIR Standard | ||||
Communication.statusReason | example | CommunicationNotDoneReasonhttp://hl7.org/fhir/ValueSet/communication-not-done-reason From the FHIR Standard | ||||
Communication.category | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | ||||
Communication.category:DkTmCategory | example | CommunicationCategoryhttp://hl7.org/fhir/ValueSet/communication-category From the FHIR Standard | ||||
Communication.category:DkTmCategory.coding.code | required | MessageCategoryhttp://ehealth.sundhed.dk/vs/message-category From this IG | ||||
Communication.priority | required | RequestPriorityhttp://hl7.org/fhir/ValueSet/request-priority|4.0.1 From the FHIR Standard | ||||
Communication.medium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | ||||
Communication.medium:DkTmMedium | example | ParticipationModehttp://terminology.hl7.org/ValueSet/v3-ParticipationMode | ||||
Communication.medium:DkTmMedium.coding.code | required | MessageMediumhttp://ehealth.sundhed.dk/vs/message-medium From this IG | ||||
Communication.topic | example | CommunicationTopichttp://hl7.org/fhir/ValueSet/communication-topic From the FHIR Standard | ||||
Communication.reasonCode | required | eHealth Message Reason Codehttp://ehealth.sundhed.dk/vs/message-reasonCode From this IG |
Id | Grade | Path(s) | Details | Requirements |
advice-invariant | error | Communication | Category advice invariant : category.coding.code contains 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) | |
dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | 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 | error | 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 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Communication | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
message-invariant | error | Communication | Category message invariant : category.coding.code contains 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').value.as(Reference).exists() )) | |
nemsms-invariant | error | Communication | If communication resource is a NemSMS payload cannot exceed 160 : medium.coding.where(code = 'nemsms').exists() implies payload.content.ofType(string).length() <= 160 | |
note-invariant | error | Communication | Category note invariant : category.coding.code contains 'note' implies (recipient.reference contains sender.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) | |
notification-invariant | error | Communication | Category notification invariant : category.coding.code contains 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').value.as(Reference).exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()) |
This structure is derived from Communication
Summary
Mandatory: 4 elements(3 nested mandatory elements)
Must-Support: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron