eHealth Infrastructure
3.0.0 - release

eHealth Infrastructure - Local Development build (v3.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: ehealth-message - Detailed Descriptions

Active as of 2024-05-16

Definitions for the ehealth-message resource profile.

Guidance on how to interpret the contents of this table can be found here

0. Communication
Invariantsnemsms-invariant: If communication resource is a NemSMS payload cannot exceed 160 (medium.coding.where(code = 'nemsms').exists() implies payload.contentString.length() <= 160)
note-invariant: Category note invariant (category.coding.code = 'note' implies (sender.reference = recipient.reference) or (recipient.reference.exists().not() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').valueReference.exists()))
notification-invariant: Category notification invariant (category.coding.code = 'notification' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').valueReference.exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()))
message-invariant: Category message invariant (category.coding.code = 'message' implies (recipient.reference.contains('Patient/') and ( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').valueReference.exists())) or (( extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').valueReference.exists()) and (sender.reference.contains('Patient/')) or (extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').valueReference.exists() and extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-senderCareTeam').valueReference.exists() )))
advice-invariant: Category advice invariant (category.coding.code = 'advice' implies (recipient.reference.contains('Patient/') or extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-communication-recipientCareTeam').valueReference.exists()) and ( sender.reference.contains('Device/') or contained.ofType(Device).where('#' + id = %resource.sender.reference).empty().not()))
2. Communication.extension
Control1..?
SlicingThis element introduces a set of slices on Communication.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
4. Communication.extension:episodeOfCare
Slice NameepisodeOfCare
Control0..1
TypeExtension(Episode of care) (Extension Type: Reference(EpisodeOfCare))
6. Communication.extension:recipientCareTeam
Slice NamerecipientCareTeam
Control0..1
TypeExtension(Recipient careteam) (Extension Type: Reference(ehealth-careteam)referenced)
8. Communication.extension:senderCareTeam
Slice NamesenderCareTeam
Control0..1
TypeExtension(Sender careteam) (Extension Type: Reference(ehealth-careteam)referenced)
10. Communication.extension:restrictionCategory
Slice NamerestrictionCategory
Control0..*
TypeExtension(Restriction category) (Extension Type: CodeableConcept)
12. Communication.extension:threadId
Slice NamethreadId
Control0..1
TypeExtension(Thread id) (Extension Type: string)
14. Communication.extension:period
Slice Nameperiod
Control0..*
TypeExtension(Period) (Extension Type: Period)
16. Communication.extension:administrativeStatus
Slice NameadministrativeStatus
Control1..1
TypeExtension(Administrative status) (Extension Type: Coding)
18. Communication.extension:title
Slice Nametitle
Control0..1
TypeExtension(Title) (Extension Type: string)
20. Communication.extension:priority
Slice Namepriority
Control0..1
TypeExtension(Priority) (Extension Type: code)
22. Communication.extension:groupId
Slice NamegroupId
Control0..1
TypeExtension(Group id) (Extension Type: string)
24. Communication.extension:onBehalfOf
Slice NameonBehalfOf
Control0..1
TypeExtension(On behalf of) (Extension Type: Reference(ehealth-careteam)referenced)
Must Supporttrue
26. Communication.partOf
TypeReference(CarePlan)referenced
28. Communication.category
Control1..?
SlicingThis element introduces a set of slices on Communication.category. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ coding.system
30. Communication.category:DkTmCategory
Slice NameDkTmCategory
Control1..1
32. Communication.category:DkTmCategory.coding
34. Communication.category:DkTmCategory.coding.system
Control1..?
Pattern Valuehttp://ehealth.sundhed.dk/cs/message-category
36. Communication.category:DkTmCategory.coding.code
BindingThe codes SHALL be taken from MessageCategory
(required to http://ehealth.sundhed.dk/vs/message-category
38. Communication.medium
SlicingThis element introduces a set of slices on Communication.medium. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ coding.system
40. Communication.medium:DkTmMedium
Slice NameDkTmMedium
Control0..1
42. Communication.medium:DkTmMedium.coding
44. Communication.medium:DkTmMedium.coding.system
Control1..?
Pattern Valuehttp://ehealth.sundhed.dk/cs/message-medium
46. Communication.medium:DkTmMedium.coding.code
BindingThe codes SHALL be taken from MessageMedium
(required to http://ehealth.sundhed.dk/vs/message-medium
48. Communication.recipient
Control0..1
TypeReference(Patient, Practitioner)referenced
50. Communication.sender
TypeReference(Device, Patient, Practitioner)referenced, contained
52. Communication.reasonCode
BindingThe codes SHALL be taken from eHealth Message Reason Code
(required to http://ehealth.sundhed.dk/vs/message-reasonCode
54. Communication.reasonReference
TypeReference(Condition, Observation)referenced
56. Communication.payload
Control0..1
58. Communication.payload.content[x]
[x] NoteSee Choice of Data Types for further information about how to use [x]
SlicingThis element introduces a set of slices on Communication.payload.content[x]. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • type @ $this
60. Communication.payload.content[x]:contentString
Slice NamecontentString
Control1..1
Typestring
[x] NoteSee Choice of Data Types for further information about how to use [x]
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
62. Communication.note
64. Communication.note.author[x]
[x] NoteSee Choice of Data Types for further information about how to use [x]
SlicingThis element introduces a set of slices on Communication.note.author[x]. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • type @ $this
66. Communication.note.author[x]:authorReference
Slice NameauthorReference
Control0..1
TypeReference(ehealth-practitioner, ehealth-patient, ehealth-relatedperson)
[x] NoteSee Choice of Data Types for further information about how to use [x]
68. Communication.note.author[x]:authorString
Slice NameauthorString
Control0..1
Typestring
[x] NoteSee Choice of Data Types for further information about how to use [x]
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension