eHealth Infrastructure (v2020.7)

StructureDefinition: ehealth-correspondance

Formal Views of Profile Content

The official URL for this profile is:

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

This is the profile for correspondance messages, which are also known as "XDIS91" in existing terminology. It covers messages between health professionals concerning a specific patient/subject, eg. a descriptions of a specific treatment going from hospital to doctor. . The correspondance message may contain different types of attachments. These are reflected in the provided example "correspondance-all-types", which contains all four types. The type of the individual attachments are specified using the referencetype extension. The types are:

  • clinicalinformation: For the most usual case: clinical information about the subject (base64-encoded in the data section)
  • url: For references to external URLs
  • sup: To specify if additional data exists in the SUP database
  • attachment: For binary attachments, eg. images, PDF documents etc. These are included base64-encoded in the data section)

For remaining document data, see the corresponding value sets.

This profile builds on Communication.

This profile was published on Tue Oct 27 14:11:48 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

Summary

Mandatory: 17 elements
Fixed Value: 6 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Communication.identifier is sliced based on the value of value:system
  • The element Communication.category is sliced based on the value of value:coding.system

 

Terminology Bindings

PathConformanceValueSet
Communication.languageextensibleCommon Languages
Max Binding: All Languages
Communication.identifier:envelopeIdentifier.userequiredIdentifierUse
Communication.identifier:envelopeIdentifier.typeextensibleIdentifier Type Codes
Communication.identifier:letterIdentifier.userequiredIdentifierUse
Communication.identifier:letterIdentifier.typeextensibleIdentifier Type Codes
Communication.statusrequiredEventStatus
Communication.notDoneReasonexampleCommunicationNotDoneReason
Communication.categoryexampleCommunicationCategory
Communication.category:acknowledgementCodeexampleCommunicationCategory
Communication.category:versionCodeexampleCommunicationCategory
Communication.category:typeCodeexampleCommunicationCategory
Communication.category:statusCodeexampleCommunicationCategory
Communication.mediumexamplev3 Code System ParticipationMode
Communication.subject.identifier.userequiredIdentifierUse
Communication.subject.identifier.typeextensibleIdentifier Type Codes
Communication.reasonCodeexampleSNOMED CT Clinical Findings
Communication.payload.content[x]:contentAttachment.contentTyperequiredhttp://hl7.org/fhir/ValueSet/mimetypes
Communication.payload.content[x]:contentAttachment.languageextensibleCommon Languages
Max Binding: All Languages

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:authorizationTimeAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Communication.extension:authorizationTimeMust 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())
.