DK MedCom Carecommunication
4.0.0 - release Denmark flag

This page is part of the DK MedCom CareCommunication (v4.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: MedComCareCommunication

Official URL: http://medcomfhir.dk/ig/carecommunication/StructureDefinition/medcom-careCommunication-communication Version: 4.0.0
Active as of 2024-06-28 Computable Name: MedComCareCommunication

Care related communication between two or more parties in Danish healthcare

Scope and usage

This profile is used as the Communication resource for the MedCom CareCommunication message. The MedComCareCommunication profile contains the main content of a message, which includes a communication identifier, at least one message segment with a message text (Danish: Meddelelsestekst) and a signature. The message may include zero or more message segments with an attachment and a signature. All message segments are found under the element Communication.payload. A more detailed description of the content of the MedComCareCommunication profile can be seen below.

The figure below shows the possible references from MedComCareCommunication profile, and thereby which resources that may be included in a CareCommunication message. A subject, in terms of a MedComCorePatient, shall always be included since a CareCommunication message always concerns a patient or citizen’s matter. A MedComCorePractitionerRole and MedComCorePractitioner shall be included since these reference includes information about the author of the message text. A MedComCoreEncounter may be referenced if an episodeOfCare-identifier (Danish: forløbs-id) is relevant to include. Further, the MedComCorePractitionerRole or MedComCoreCareTeam may be included if a recipient or sender is added. Both profiles includes a reference to the MedComCoreOrganization the CareTeam or Practitioner is a part of.

MedComCareCommunication references a MedComCorePatient, MedComCoreEncounter, Danish Core Organization Profile, MedComCoreOrganization, MedComCorePractitioner, or MedComCorePractitionerRole. A subject, in terms of a MedComCorePatient, shall always be included since a CareCommunication message alway shall concern a patient matter, a MedComCorePractitioner shall be included since the reference describes information about the author of the message text, and a MedComCoreEncounter may be referenced if an episodeOfCare-identifier (Danish: forløbs-id) is relevant to include. Further, the MedComCorePractitionerRole or MedComCoreCareTeam may be included if a recipient or sender is added.

Please refer to the tab “Snapshot Table(Must support)” below for the definition of the required content of a MedCom CareCommunication.

Communication identifier

The purpose of the communication identifier, in the element Communication.identifier.value, is to ensure a common identifier for a communication. This will help systems to connect incoming and outgoing CareCommuncations. This identifier must be a UUID v4 and it must remain the same when replying to a CareCommunication. The identifier must be updated when a CareCommunication is forwarded. This is elaborated in the Governance for CareCommunication.

Categories and topic

A CareCommunication shall have a category (Danish: Kategori), in the element Communication.category. The category describes the overall content of the communication and shall be selected from a nationally agreed list of categories defined in the ValueSet of category codes. Exactly one category code must be included in a CareCommunication. In time, new category codes may be relevant to include or existing codes may be irrelevant, why it should be expected that the ValueSet will change. Changes will be made in agreement with the business and will be warned.

In addition to the category, it is allowed to add a topic (Danish: Emne) in the element Communication.topic, to support and elaborate the category. This can either be inserted as free text or as regionally agreed codes, which is describes further in the clinical guidelines for application.

When sending a CareCommunication message with the category other, a topic shall be included. To ensure this, the invariant medcom-careCommunication-6 is created.

Priority

Priority, found in the element Communication.priority, is used to support the referral flow. It is only allowed to add a priority to a CareCommunication when the category of the message is regarding referral. In this case, priority can either be routine or asap. To ensure this, the invariant medcom-careCommunication-5 is created, which states that in no other case than when the category is regarding referral, a priority must be added. As described on clinical guidelines for application, the use of priority must follow the development in collective agreements and on basis of national requirements.

Message segments

A message segment consists of a message text including a signature or an attachment. The message text and attachment will both be included in the element Communication.payload. There are different requirements for the two types of message segments, which is documented in the following. At least one payload which includes the message text shall be included when sending a new CareCommunication message, but zero or more attachments may be included.

Note: Snippets from a patient’s journal may be included in the message text or as an attachment, for instance, as a pdf-document. In both cases, it is recommended that the sender clearly describes in the message text or attachment, who the original author of the journal is and when it was written in the message test or attachment. If the snippet is included as an attachment, the author information may both be included as written/copied text or structured information.

Signature and relevant information

Message text: The written content of the message is of the datatype string defined by HL7. The signature for the message text consists of author name, author role, relevant phone number, and sent timestamp. The identifier is included for technical purposes. See the table below for an overview of the requirements.
Attachment: The allowed types of attachments can be found in the ValueSet of allowed mimetypes. Further, it is allowed to include a link to a website. In a message segment with an attachment, the title, identifier and timestamp must be included, whereas it is optional to include information about the author, relevant phone number and creation date as structured data. See the table below for an overview of the requirements.

Author name Author role Relevant phone number Sent timestamp Identifier Title Creation date
Message text R R R R R - -
Attachment O O O R R R O

R = required and O = optional.

A description of the above mentioned information can be found here:
Author name: The name of the person responsible for writing the message text. The author shall be described using a MedComCorePractitioner profile.
Author role: The role (Danish: stillingsbetegnelse) of the person responsible for writing the message text. The author role shall be described using a MedComCorePractitionerRole profile. It is recommended to use a role from the defined list of roles in the element PractitionerRole.code.coding.code. Alternatively, a it is allowed to add a role in the element PractitionerRole.code.coding.text.
Relevant phone number: A relevant phone number e.g. to the department from which the CareCommunication is sent. The phone number should be applied automatically. In case it is not possible to apply the phone number automatically, it shall be applied by the author.
Timestamp: Represents the real world event, where the user presses “send” to send the CareCommunication.
Identifier: An UUID version 4 with a reference to the organisation who assigned the identifier, which will be the same as the sender organisation of the message segment.
Title: The title of the attached file. This should be applied by the system.
Creation: The date and time for when the attachment is created.

Content of the message segments

Message text must always be included in a CareCommunication, which applies to creating a new message, replying, and forwarding. All previous message segments with message text must be included in a message when replying and all relevant message segments must be included in a message when forwarding a message.

Attachments must always be included the first time they are sent. When replying to a CareCommunication, the base64-encoded content in the element Communication.payload:attachment.content.data or the link in the element Communication.payload:attachment.content.url must not be included, to avoid sending the same content back and forth. Instead the identifier must always be included in a reply and it should be used to identify which attachment(s) or link(s) that must be displayed to the receiver. When forwarding a message, the base64-encoded content of the attachments must be included.

Episode of care identifier

In the element Communication.encounter it is possible to reference a MedComCoreEncounter. An encounter describes the meeting between a patient and one or more healthcare providers or actors involved in the patient care. The Encounter resource contains an episodeOfCare-identifier. When receiving a message, either CareCommunication or EDIFACT/OIOXML message, there will in many cases be an episodeOfCare-identifier, as it described the id of the contact. If this is the case, the episodeOfCare-identifier shall always be included in the response. Altenatively, when a user at a hospital is in the context of e.g. an admission, the episodeOfCare-identifier should be coupled to a CareCommunication. Click here to get more information about the episodeOfCare-identifier

Recipient and sender

In the MedComCareCommunicationMessageHeader profile it is required to include information about a sender and receiver in terms of a reference to a MedComMessagingOrganization. This information is primarily used for transportation matters and will always include an EAN-number and SOR-identifier for each organisation.

When sending a CareCommunication message it is possible to add a more specific receiver of the message, called a recipient, and a more specific sender, which can be found in the elements Communication.recipient and Communication.extension.sender, respectively. It is allowed to reference a MedComCoreCareTeam, which is people or an organization participating a coordination or delivery of patientcare, or MedComCorePractitionerRole, which references a MedComCorePractitioner to address a healthcare professional involved in patient care. Common for both MedComCoreCareTeam and MedComCorePractitionerRole/MedComCorePractitioner is that a name of the careteam or practitioner should be included as well as a reference to a MedComCoreOrganization which represents the sender or receiver defined in MedComCareCommunicationMessageHeader.

Usage:

Formal Views of Profile Content

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

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication C 0..* Communication A record of information transmitted from a sender to a receiver
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral'
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other'
medcom-careCommunication-7: There shall exist a practitioner role when using a PractitionerRole as author in a message segment.
medcom-careCommunication-8: There shall exist a practitioner name when using a Practitioner as author in a message segment.
medcom-careCommunication-9: An episodeOfCare-identifier must be included when an Encounter instance is included.
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sender SΣ 0..1 Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} SenderExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-sender-extension
... identifier SC 1..1 Identifier The communication identifier
medcom-uuidv4: The value shall correspond to the structure of an UUID version 4
.... value S 1..1 string The value that is unique
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Required Pattern: unknown
.... coding
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
... priority S 0..1 code Shall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5
Binding: MedComCareCommunicationRequestPriorityCodes (required)
... subject S 1..1 Reference(MedComCorePatient) {b} Focus of message
... topic S 0..1 CodeableConcept The topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.
.... text S 1..1 string Plain text representation of the concept
... encounter S 0..1 Reference(MedComCoreEncounter) {b} Shall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.
... recipient S 0..* Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} Describes a more specific receiver than the MessageHeader.destination.reciever, called a recipient. It may be a careteam a homecare group in the municipality or a named general practitioner.
... Slices for payload 1..* BackboneElement Each payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.
Slice: Unordered, Open by type:$this.content
.... payload:All Slices Content/Rules for all slices
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... date 0..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier 0..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
.... payload:string S 1..* BackboneElement Message payload
..... extension 4..* Extension Extension
..... Slices for extension Content/Rules for all slices
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author SΣ 1..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact SΣ 1..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... content[x] S 1..1 string Message part content
.... payload:attachment S 0..* BackboneElement The payload with an attachment shall contain a link or content attached to the message.
..... extension 2..* Extension Extension
..... Slices for extension Content/Rules for all slices
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author S 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact S 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... content[x] S 1..1 Attachment Message part content
...... contentType S 0..1 code The content type shall be present when the content is an attachment included in the data element.
Binding: MedComCoreAttachmentMimeTypes (required)
...... data S 0..1 base64Binary Shall be present and contain the base64 encoded content of the attachment.
...... url S 0..1 url Shall be present if the attachment is a link to a web page.
...... title S 1..1 string Label to display in place of the data
...... creation S 0..1 dateTime The time the attachment was created

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Communication.categoryrequiredMedComCareCommunicationCategories
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories
Communication.priorityrequiredMedComCareCommunicationRequestPriority
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority
Communication.payload:attachment.content[x].contentTyperequiredMedComCoreAttachmentMimeTypes
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
medcom-careCommunication-5errorCommunicationPriority must not be present when Communication.category is other than 'regarding-referral'
: where(category.coding.code != 'regarding-referral').priority.empty()
medcom-careCommunication-6errorCommunicationThere shall exist a Communication.topic when Communication.category = 'other'
: iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists())
medcom-careCommunication-7errorCommunicationThere shall exist a practitioner role when using a PractitionerRole as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().code.coding.code.exists()
medcom-careCommunication-8errorCommunicationThere shall exist a practitioner name when using a Practitioner as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().practitioner.resolve().name.exists()
medcom-careCommunication-9errorCommunicationAn episodeOfCare-identifier must be included when an Encounter instance is included.
: iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists())
medcom-uuidv4errorCommunication.identifierThe value shall correspond to the structure of an UUID version 4
: value.matches('urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication C 0..* Communication A record of information transmitted from a sender to a receiver
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral'
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other'
medcom-careCommunication-7: There shall exist a practitioner role when using a PractitionerRole as author in a message segment.
medcom-careCommunication-8: There shall exist a practitioner name when using a Practitioner as author in a message segment.
medcom-careCommunication-9: An episodeOfCare-identifier must be included when an Encounter instance is included.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sender SΣ 0..1 Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} SenderExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-sender-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... value SΣ 1..1 string The value that is unique
Example General: 123456
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.


Required Pattern: unknown
... category S 1..1 CodeableConcept The category (Danish: kategori) describes the overall content of the message.
Binding: MedComCareCommunicationCategoryCodes (required)
.... coding Σ 0..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
... priority SΣ 0..1 code Shall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5
Binding: MedComCareCommunicationRequestPriorityCodes (required)
... subject SΣ 1..1 Reference(MedComCorePatient) {b} Focus of message
... topic S 0..1 CodeableConcept The topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

.... text SΣ 1..1 string Plain text representation of the concept
... encounter SΣ 0..1 Reference(MedComCoreEncounter) {b} Shall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.
... recipient S 0..* Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} Describes a more specific receiver than the MessageHeader.destination.reciever, called a recipient. It may be a careteam a homecare group in the municipality or a named general practitioner.
... Slices for payload 1..* BackboneElement Each payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.
Slice: Unordered, Open by type:$this.content
.... payload:All Slices Content/Rules for all slices
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... date 0..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier 0..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] 1..1 Message part content
...... contentString string
...... contentAttachment Attachment
...... contentReference Reference(Resource)
.... payload:string S 1..* BackboneElement Message payload
..... Slices for extension 4..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author SΣ 1..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact SΣ 1..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 string Message part content
.... payload:attachment S 0..* BackboneElement The payload with an attachment shall contain a link or content attached to the message.
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author S 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact S 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 Attachment Message part content
...... contentType SΣ 0..1 code The content type shall be present when the content is an attachment included in the data element.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
...... data S 0..1 base64Binary Shall be present and contain the base64 encoded content of the attachment.
...... url SΣ 0..1 url Shall be present if the attachment is a link to a web page.
Example General: http://www.acme.com/logo-small.png
...... title SΣ 1..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation SΣ 0..1 dateTime The time the attachment was created

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Communication.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Communication.statusrequiredPattern: unknown
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Communication.categoryrequiredMedComCareCommunicationCategories
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories
Communication.priorityrequiredMedComCareCommunicationRequestPriority
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority
Communication.topicexampleCommunicationTopic
http://hl7.org/fhir/ValueSet/communication-topic
from the FHIR Standard
Communication.payload:attachment.content[x].contentTyperequiredMedComCoreAttachmentMimeTypes
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationIf 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-4errorCommunicationIf 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-5errorCommunicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
medcom-careCommunication-5errorCommunicationPriority must not be present when Communication.category is other than 'regarding-referral'
: where(category.coding.code != 'regarding-referral').priority.empty()
medcom-careCommunication-6errorCommunicationThere shall exist a Communication.topic when Communication.category = 'other'
: iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists())
medcom-careCommunication-7errorCommunicationThere shall exist a practitioner role when using a PractitionerRole as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().code.coding.code.exists()
medcom-careCommunication-8errorCommunicationThere shall exist a practitioner name when using a Practitioner as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().practitioner.resolve().name.exists()
medcom-careCommunication-9errorCommunicationAn episodeOfCare-identifier must be included when an Encounter instance is included.
: iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists())
medcom-uuidv4errorCommunication.identifierThe value shall correspond to the structure of an UUID version 4
: value.matches('urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication C 0..* Communication A record of information transmitted from a sender to a receiver
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral'
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other'
medcom-careCommunication-7: There shall exist a practitioner role when using a PractitionerRole as author in a message segment.
medcom-careCommunication-8: There shall exist a practitioner name when using a Practitioner as author in a message segment.
medcom-careCommunication-9: An episodeOfCare-identifier must be included when an Encounter instance is included.
... id Σ 0..1 id 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): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sender SΣ 0..1 Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} SenderExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-sender-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣC 1..1 Identifier The communication identifier
medcom-uuidv4: The value shall correspond to the structure of an UUID version 4
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... 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) Request fulfilled by this communication
... partOf Σ 0..* Reference(Resource) Part of this action
... inResponseTo 0..* Reference(Communication) Reply to
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.


Required Pattern: unknown
... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.

... category S 1..1 CodeableConcept The category (Danish: kategori) describes the overall content of the message.
Binding: MedComCareCommunicationCategoryCodes (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... priority SΣ 0..1 code Shall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5
Binding: MedComCareCommunicationRequestPriorityCodes (required)
... medium 0..* CodeableConcept A channel of communication
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.


... subject SΣ 1..1 Reference(MedComCorePatient) {b} Focus of message
... topic S 0..1 CodeableConcept The topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text SΣ 1..1 string Plain text representation of the concept
... about 0..* Reference(Resource) Resources that pertain to this communication
... encounter SΣ 0..1 Reference(MedComCoreEncounter) {b} Shall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.
... sent 0..1 dateTime When sent
... received 0..1 dateTime When received
... recipient S 0..* Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} Describes a more specific receiver than the MessageHeader.destination.reciever, called a recipient. It may be a careteam a homecare group in the municipality or a named general practitioner.
... sender 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Message sender
... reasonCode Σ 0..* CodeableConcept Indication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why was communication done?
... Slices for payload 1..* BackboneElement Each payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.
Slice: Unordered, Open by type:$this.content
.... payload:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... date 0..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier 0..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] 1..1 Message part content
...... contentString string
...... contentAttachment Attachment
...... contentReference Reference(Resource)
.... payload:string S 1..* BackboneElement Message payload
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 4..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author SΣ 1..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact SΣ 1..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 string Message part content
.... payload:attachment S 0..* BackboneElement The payload with an attachment shall contain a link or content attached to the message.
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author S 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact S 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 Attachment Message part content
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... contentType SΣ 0..1 code The content type shall be present when the content is an attachment included in the data element.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
...... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
...... data S 0..1 base64Binary Shall be present and contain the base64 encoded content of the attachment.
...... url SΣ 0..1 url Shall be present if the attachment is a link to a web page.
Example General: http://www.acme.com/logo-small.png
...... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
...... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
...... title SΣ 1..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation SΣ 0..1 dateTime The time the attachment was created
... note 0..* Annotation Comments made about the communication

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Communication.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Communication.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Communication.statusrequiredPattern: unknown
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Communication.statusReasonexampleCommunicationNotDoneReason
http://hl7.org/fhir/ValueSet/communication-not-done-reason
from the FHIR Standard
Communication.categoryrequiredMedComCareCommunicationCategories
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories
Communication.priorityrequiredMedComCareCommunicationRequestPriority
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority
Communication.mediumexampleParticipationMode
http://terminology.hl7.org/ValueSet/v3-ParticipationMode
Communication.topicexampleCommunicationTopic
http://hl7.org/fhir/ValueSet/communication-topic
from the FHIR Standard
Communication.reasonCodeexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
Communication.payload:attachment.content[x].contentTyperequiredMedComCoreAttachmentMimeTypes
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes
Communication.payload:attachment.content[x].languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationIf 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-4errorCommunicationIf 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-5errorCommunicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
medcom-careCommunication-5errorCommunicationPriority must not be present when Communication.category is other than 'regarding-referral'
: where(category.coding.code != 'regarding-referral').priority.empty()
medcom-careCommunication-6errorCommunicationThere shall exist a Communication.topic when Communication.category = 'other'
: iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists())
medcom-careCommunication-7errorCommunicationThere shall exist a practitioner role when using a PractitionerRole as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().code.coding.code.exists()
medcom-careCommunication-8errorCommunicationThere shall exist a practitioner name when using a Practitioner as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().practitioner.resolve().name.exists()
medcom-careCommunication-9errorCommunicationAn episodeOfCare-identifier must be included when an Encounter instance is included.
: iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists())
medcom-uuidv4errorCommunication.identifierThe value shall correspond to the structure of an UUID version 4
: value.matches('urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')

Differential View

This structure is derived from Communication

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication C 0..* Communication A record of information transmitted from a sender to a receiver
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral'
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other'
medcom-careCommunication-7: There shall exist a practitioner role when using a PractitionerRole as author in a message segment.
medcom-careCommunication-8: There shall exist a practitioner name when using a Practitioner as author in a message segment.
medcom-careCommunication-9: An episodeOfCare-identifier must be included when an Encounter instance is included.
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sender SΣ 0..1 Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} SenderExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-sender-extension
... identifier SC 1..1 Identifier The communication identifier
medcom-uuidv4: The value shall correspond to the structure of an UUID version 4
.... value S 1..1 string The value that is unique
... status S 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Required Pattern: unknown
.... coding
..... system S 1..1 uri Identity of the terminology system
..... code S 1..1 code Symbol in syntax defined by the system
... priority S 0..1 code Shall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5
Binding: MedComCareCommunicationRequestPriorityCodes (required)
... subject S 1..1 Reference(MedComCorePatient) {b} Focus of message
... topic S 0..1 CodeableConcept The topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.
.... text S 1..1 string Plain text representation of the concept
... encounter S 0..1 Reference(MedComCoreEncounter) {b} Shall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.
... recipient S 0..* Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} Describes a more specific receiver than the MessageHeader.destination.reciever, called a recipient. It may be a careteam a homecare group in the municipality or a named general practitioner.
... Slices for payload 1..* BackboneElement Each payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.
Slice: Unordered, Open by type:$this.content
.... payload:All Slices Content/Rules for all slices
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... date 0..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier 0..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
.... payload:string S 1..* BackboneElement Message payload
..... extension 4..* Extension Extension
..... Slices for extension Content/Rules for all slices
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author SΣ 1..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact SΣ 1..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... content[x] S 1..1 string Message part content
.... payload:attachment S 0..* BackboneElement The payload with an attachment shall contain a link or content attached to the message.
..... extension 2..* Extension Extension
..... Slices for extension Content/Rules for all slices
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author S 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact S 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... content[x] S 1..1 Attachment Message part content
...... contentType S 0..1 code The content type shall be present when the content is an attachment included in the data element.
Binding: MedComCoreAttachmentMimeTypes (required)
...... data S 0..1 base64Binary Shall be present and contain the base64 encoded content of the attachment.
...... url S 0..1 url Shall be present if the attachment is a link to a web page.
...... title S 1..1 string Label to display in place of the data
...... creation S 0..1 dateTime The time the attachment was created

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Communication.categoryrequiredMedComCareCommunicationCategories
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories
Communication.priorityrequiredMedComCareCommunicationRequestPriority
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority
Communication.payload:attachment.content[x].contentTyperequiredMedComCoreAttachmentMimeTypes
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
medcom-careCommunication-5errorCommunicationPriority must not be present when Communication.category is other than 'regarding-referral'
: where(category.coding.code != 'regarding-referral').priority.empty()
medcom-careCommunication-6errorCommunicationThere shall exist a Communication.topic when Communication.category = 'other'
: iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists())
medcom-careCommunication-7errorCommunicationThere shall exist a practitioner role when using a PractitionerRole as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().code.coding.code.exists()
medcom-careCommunication-8errorCommunicationThere shall exist a practitioner name when using a Practitioner as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().practitioner.resolve().name.exists()
medcom-careCommunication-9errorCommunicationAn episodeOfCare-identifier must be included when an Encounter instance is included.
: iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists())
medcom-uuidv4errorCommunication.identifierThe value shall correspond to the structure of an UUID version 4
: value.matches('urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication C 0..* Communication A record of information transmitted from a sender to a receiver
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral'
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other'
medcom-careCommunication-7: There shall exist a practitioner role when using a PractitionerRole as author in a message segment.
medcom-careCommunication-8: There shall exist a practitioner name when using a Practitioner as author in a message segment.
medcom-careCommunication-9: An episodeOfCare-identifier must be included when an Encounter instance is included.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sender SΣ 0..1 Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} SenderExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-sender-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... value SΣ 1..1 string The value that is unique
Example General: 123456
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.


Required Pattern: unknown
... category S 1..1 CodeableConcept The category (Danish: kategori) describes the overall content of the message.
Binding: MedComCareCommunicationCategoryCodes (required)
.... coding Σ 0..* Coding Code defined by a terminology system
..... system SΣ 1..1 uri Identity of the terminology system
..... code SΣ 1..1 code Symbol in syntax defined by the system
... priority SΣ 0..1 code Shall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5
Binding: MedComCareCommunicationRequestPriorityCodes (required)
... subject SΣ 1..1 Reference(MedComCorePatient) {b} Focus of message
... topic S 0..1 CodeableConcept The topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

.... text SΣ 1..1 string Plain text representation of the concept
... encounter SΣ 0..1 Reference(MedComCoreEncounter) {b} Shall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.
... recipient S 0..* Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} Describes a more specific receiver than the MessageHeader.destination.reciever, called a recipient. It may be a careteam a homecare group in the municipality or a named general practitioner.
... Slices for payload 1..* BackboneElement Each payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.
Slice: Unordered, Open by type:$this.content
.... payload:All Slices Content/Rules for all slices
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... date 0..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier 0..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] 1..1 Message part content
...... contentString string
...... contentAttachment Attachment
...... contentReference Reference(Resource)
.... payload:string S 1..* BackboneElement Message payload
..... Slices for extension 4..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author SΣ 1..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact SΣ 1..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 string Message part content
.... payload:attachment S 0..* BackboneElement The payload with an attachment shall contain a link or content attached to the message.
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author S 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact S 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 Attachment Message part content
...... contentType SΣ 0..1 code The content type shall be present when the content is an attachment included in the data element.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
...... data S 0..1 base64Binary Shall be present and contain the base64 encoded content of the attachment.
...... url SΣ 0..1 url Shall be present if the attachment is a link to a web page.
Example General: http://www.acme.com/logo-small.png
...... title SΣ 1..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation SΣ 0..1 dateTime The time the attachment was created

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Communication.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Communication.statusrequiredPattern: unknown
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Communication.categoryrequiredMedComCareCommunicationCategories
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories
Communication.priorityrequiredMedComCareCommunicationRequestPriority
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority
Communication.topicexampleCommunicationTopic
http://hl7.org/fhir/ValueSet/communication-topic
from the FHIR Standard
Communication.payload:attachment.content[x].contentTyperequiredMedComCoreAttachmentMimeTypes
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationIf 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-4errorCommunicationIf 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-5errorCommunicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
medcom-careCommunication-5errorCommunicationPriority must not be present when Communication.category is other than 'regarding-referral'
: where(category.coding.code != 'regarding-referral').priority.empty()
medcom-careCommunication-6errorCommunicationThere shall exist a Communication.topic when Communication.category = 'other'
: iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists())
medcom-careCommunication-7errorCommunicationThere shall exist a practitioner role when using a PractitionerRole as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().code.coding.code.exists()
medcom-careCommunication-8errorCommunicationThere shall exist a practitioner name when using a Practitioner as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().practitioner.resolve().name.exists()
medcom-careCommunication-9errorCommunicationAn episodeOfCare-identifier must be included when an Encounter instance is included.
: iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists())
medcom-uuidv4errorCommunication.identifierThe value shall correspond to the structure of an UUID version 4
: value.matches('urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Communication C 0..* Communication A record of information transmitted from a sender to a receiver
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral'
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other'
medcom-careCommunication-7: There shall exist a practitioner role when using a PractitionerRole as author in a message segment.
medcom-careCommunication-8: There shall exist a practitioner name when using a Practitioner as author in a message segment.
medcom-careCommunication-9: An episodeOfCare-identifier must be included when an Encounter instance is included.
... id Σ 0..1 id 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): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... sender SΣ 0..1 Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} SenderExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-sender-extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣC 1..1 Identifier The communication identifier
medcom-uuidv4: The value shall correspond to the structure of an UUID version 4
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... 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) Request fulfilled by this communication
... partOf Σ 0..* Reference(Resource) Part of this action
... inResponseTo 0..* Reference(Communication) Reply to
... status ?!SΣ 1..1 code preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required): The status of the communication.


Required Pattern: unknown
... statusReason Σ 0..1 CodeableConcept Reason for current status
Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen.

... category S 1..1 CodeableConcept The category (Danish: kategori) describes the overall content of the message.
Binding: MedComCareCommunicationCategoryCodes (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code Symbol in syntax defined by the system
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... priority SΣ 0..1 code Shall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5
Binding: MedComCareCommunicationRequestPriorityCodes (required)
... medium 0..* CodeableConcept A channel of communication
Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc.


... subject SΣ 1..1 Reference(MedComCorePatient) {b} Focus of message
... topic S 0..1 CodeableConcept The topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.
Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication.

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text SΣ 1..1 string Plain text representation of the concept
... about 0..* Reference(Resource) Resources that pertain to this communication
... encounter SΣ 0..1 Reference(MedComCoreEncounter) {b} Shall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.
... sent 0..1 dateTime When sent
... received 0..1 dateTime When received
... recipient S 0..* Reference(MedComCorePractitionerRole | MedComCoreCareTeam) {b} Describes a more specific receiver than the MessageHeader.destination.reciever, called a recipient. It may be a careteam a homecare group in the municipality or a named general practitioner.
... sender 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) Message sender
... reasonCode Σ 0..* CodeableConcept Indication for message
Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication.


... reasonReference Σ 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why was communication done?
... Slices for payload 1..* BackboneElement Each payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.
Slice: Unordered, Open by type:$this.content
.... payload:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... date 0..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier 0..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] 1..1 Message part content
...... contentString string
...... contentAttachment Attachment
...... contentReference Reference(Resource)
.... payload:string S 1..* BackboneElement Message payload
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 4..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author SΣ 1..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact SΣ 1..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 string Message part content
.... payload:attachment S 0..* BackboneElement The payload with an attachment shall contain a link or content attached to the message.
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
...... date SΣ 1..1 dateTime DateTimeExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-datetime-extension
...... author S 0..1 Reference(MedComCorePractitionerRole) {b} PractitionerExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension
...... authorContact S 0..1 ContactPoint ContactExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-contact-extension
...... identifier SΣ 1..1 MedComAssignedIdentifier IdentifierExtension
URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-identifier-extension
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... content[x] S 1..1 Attachment Message part content
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... contentType SΣ 0..1 code The content type shall be present when the content is an attachment included in the data element.
Binding: MedComCoreAttachmentMimeTypes (required)
Example General: text/plain; charset=UTF-8, image/png
...... language Σ 0..1 code Human language of the content (BCP-47)
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding

Example General: en-AU
...... data S 0..1 base64Binary Shall be present and contain the base64 encoded content of the attachment.
...... url SΣ 0..1 url Shall be present if the attachment is a link to a web page.
Example General: http://www.acme.com/logo-small.png
...... size Σ 0..1 unsignedInt Number of bytes of content (if url provided)
...... hash Σ 0..1 base64Binary Hash of the data (sha-1, base64ed)
...... title SΣ 1..1 string Label to display in place of the data
Example General: Official Corporate Logo
...... creation SΣ 0..1 dateTime The time the attachment was created
... note 0..* Annotation Comments made about the communication

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Communication.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Communication.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Communication.statusrequiredPattern: unknown
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Communication.statusReasonexampleCommunicationNotDoneReason
http://hl7.org/fhir/ValueSet/communication-not-done-reason
from the FHIR Standard
Communication.categoryrequiredMedComCareCommunicationCategories
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories
Communication.priorityrequiredMedComCareCommunicationRequestPriority
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority
Communication.mediumexampleParticipationMode
http://terminology.hl7.org/ValueSet/v3-ParticipationMode
Communication.topicexampleCommunicationTopic
http://hl7.org/fhir/ValueSet/communication-topic
from the FHIR Standard
Communication.reasonCodeexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
Communication.payload:attachment.content[x].contentTyperequiredMedComCoreAttachmentMimeTypes
http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes
Communication.payload:attachment.content[x].languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCommunicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCommunicationIf 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-4errorCommunicationIf 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-5errorCommunicationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCommunicationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
medcom-careCommunication-5errorCommunicationPriority must not be present when Communication.category is other than 'regarding-referral'
: where(category.coding.code != 'regarding-referral').priority.empty()
medcom-careCommunication-6errorCommunicationThere shall exist a Communication.topic when Communication.category = 'other'
: iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists())
medcom-careCommunication-7errorCommunicationThere shall exist a practitioner role when using a PractitionerRole as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().code.coding.code.exists()
medcom-careCommunication-8errorCommunicationThere shall exist a practitioner name when using a Practitioner as author in a message segment.
: payload.where(extension('http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-practitioner-extension').exists()).extension.value.reference.resolve().practitioner.resolve().name.exists()
medcom-careCommunication-9errorCommunicationAn episodeOfCare-identifier must be included when an Encounter instance is included.
: iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists())
medcom-uuidv4errorCommunication.identifierThe value shall correspond to the structure of an UUID version 4
: value.matches('urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')

 

Other representations of profile: CSV, Excel, Schematron