DK MedCom Carecommunication
4.0.3 - release Denmark flag

This page is part of the DK MedCom CareCommunication (v4.0.3: 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

Resource Profile: MedComCareCommunication - Detailed Descriptions

Active as of 2025-05-23

Definitions for the medcom-careCommunication-communication resource profile.

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

0. Communication
Definition

An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.

ShortA record of information transmitted from a sender to a receiver
Control0..*
Is Modifierfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
medcom-careCommunication-5: Priority must not be present when Communication.category is other than 'regarding-referral' (where(category.coding.code != 'regarding-referral').priority.empty())
medcom-careCommunication-6: There shall exist a Communication.topic when Communication.category = 'other' (iif(category.coding.code != 'other', true, category.coding.code = 'other' and topic.exists()))
medcom-careCommunication-7: There 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-8: There 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-9: An episodeOfCare-identifier must be included when an Encounter instance is included. (iif(encounter.exists().not(), true, encounter.reference.resolve().episodeOfCare.identifier.exists()))
2. Communication.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Communication.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Communication.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Communication.extension:sender
    Slice Namesender
    Definition

    Reference to a more specfic sender of a message.

    ShortSenderExtension
    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(SenderExtension) (Extension Type: Reference(MedComCorePractitionerRole, MedComCoreCareTeam)bundled)
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    8. Communication.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Summaryfalse
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    10. Communication.identifier
    Definition

    Business identifiers assigned to this communication by the performer or other systems which remain constant as the resource is updated and propagates from server to server.

    ShortThe communication identifierUnique identifier
    Comments

    This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.

    NoteThis is a business identifier, not a resource identifier (see discussion)
    Control10..1*
    TypeIdentifier
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Requirements

    Allows identification of the communication as it is known by various participating systems and in a way that remains consistent across servers.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    medcom-uuidv4: The 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}'))
    12. Communication.identifier.use
    Definition

    The purpose of this identifier.

    Shortusual | official | temp | secondary | old (If known)
    Comments

    Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

    Control0..1
    BindingThe codes SHALL be taken from IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1
    (required to http://hl7.org/fhir/ValueSet/identifier-use|4.0.1)

    Identifies the purpose for this identifier, if known .

    Typecode
    Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one.
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    14. Communication.identifier.value
    Definition

    The portion of the identifier typically relevant to the user and which is unique within the context of the system.

    ShortThe value that is unique
    Comments

    If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

    Control10..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Example<br/><b>General</b>:123456
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Communication.status
    Definition

    The status of the transmission.

    Shortpreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    Comments

    This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid.

    Control1..1
    BindingThe codes SHALL be taken from EventStatushttp://hl7.org/fhir/ValueSet/event-status|4.0.1
    (required to http://hl7.org/fhir/ValueSet/event-status|4.0.1)

    The status of the communication.

    Typecode
    Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Pattern Valueunknown
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. Communication.category
    Definition

    The type of message conveyed such as alert, notification, reminder, instruction, etc.

    ShortThe category (Danish: kategori) describes the overall content of the message.Message category
    Comments

    There may be multiple axes of categorization and one communication may serve multiple purposes.

    Control10..1*
    BindingThe codes SHALL be taken from For example codes, see MedComCareCommunicationCategoryCodeshttp://hl7.org/fhir/ValueSet/communication-category
    (required to http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-categories)
    TypeCodeableConcept
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. Communication.category.coding
    Definition

    A reference to a code defined by a terminology system.

    ShortCode defined by a terminology system
    Comments

    Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

    Control0..*
    TypeCoding
    Is Modifierfalse
    Summarytrue
    Requirements

    Allows for alternative encodings within a code system, and translations to other code systems.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    22. Communication.category.coding.system
    Definition

    The identification of the code system that defines the meaning of the symbol in the code.

    ShortIdentity of the terminology system
    Comments

    The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

    Control10..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to be unambiguous about the source of the definition of the symbol.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. Communication.category.coding.code
    Definition

    A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

    ShortSymbol in syntax defined by the system
    Control10..1
    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to refer to a particular code in the system.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    26. Communication.priority
    Definition

    Characterizes how quickly the planned or in progress communication must be addressed. Includes concepts such as stat, urgent, routine.

    ShortShall be present if the message priority is known to be ASAP, but is only allowed when the category is 'regarding referral', see medcom-careCommunication-5routine | urgent | asap | stat
    Comments

    Used to prioritize workflow (such as which communication to read first) when the communication is planned or in progress.

    Control0..1
    BindingThe codes SHALL be taken from MedComCareCommunicationRequestPriorityCodeshttp://hl7.org/fhir/ValueSet/request-priority|4.0.1
    (required to http://medcomfhir.dk/ig/terminology/ValueSet/medcom-careCommunication-requestPriority)
    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Meaning if MissingIf missing, this communication should be treated with normal priority
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    28. Communication.subject
    Definition

    The patient or group that was the focus of this communication.

    ShortFocus of message
    Control10..1
    TypeReference(MedComCorePatient, Patient, Group)bundled
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Alternate Namespatient
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    30. Communication.topic
    Definition

    Description of the purpose/content, similar to a subject line in an email.

    ShortThe topic (Danish: emne) may be added as a supplement to the category. Topic must be added in the text-element.Description of the purpose/content
    Comments

    Communication.topic.text can be used without any codings.

    Control0..1
    BindingFor example codes, see CommunicationTopichttp://hl7.org/fhir/ValueSet/communication-topic
    (example to http://hl7.org/fhir/ValueSet/communication-topic)

    Codes describing the purpose or content of the communication.

    TypeCodeableConcept
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    32. Communication.topic.text
    Definition

    A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

    ShortPlain text representation of the concept
    Comments

    Very often the text is the same as a displayName of one of the codings.

    Control10..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    34. Communication.encounter
    Definition

    The Encounter during which this Communication was created or to which the creation of this record is tightly associated.

    ShortShall contain a reference to an Encounter resource with a episodeOfCare-identifier, if the identifier is included in a previous message.Encounter created as part of
    Comments

    This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter.

    Control0..1
    TypeReference(MedComCoreEncounter, Encounter)bundled
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    36. Communication.recipient
    Definition

    The entity (e.g. person, organization, clinical information system, care team or device) which was the target of the communication. If receipts need to be tracked by an individual, a separate resource instance will need to be created for each recipient. Multiple recipient communications are intended where either receipts are not tracked (e.g. a mass mail-out) or a receipt is captured in aggregate (all emails confirmed received by a particular time).

    ShortDescribes 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.Message recipient
    Control0..*
    TypeReference(MedComCorePractitionerRole, MedComCoreCareTeam, Device, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson, Group, CareTeam, HealthcareService)bundled
    Is Modifierfalse
    Must Supporttrue
    Must Support TypesNo must-support rules about the choice of types/profiles
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    38. Communication.payload
    Definition

    Text, attachment(s), or resource(s) that was communicated to the recipient.

    ShortEach payload corresponds to a message segment with a message text or an attachment. At least one payload with a message text shall be included.Message payload
    Control10..*
    TypeBackboneElement
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    SlicingThis element introduces a set of slices on Communication.payload. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • type @ $this.content
    • 40. Communication.payload.extension
      Definition

      An Extension


      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ShortExtensionAdditional content defined by implementations
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on Communication.payload.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 42. Communication.payload.extension:date
        Slice Namedate
        Definition

        Date and time of this payload

        ShortDateTimeExtension
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(DateTimeExtension) (Extension Type: dateTime)
        Is Modifierfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        44. Communication.payload.extension:author
        Slice Nameauthor
        Definition

        Reference to a PractitionerRole and subsequent Practitioner

        ShortPractitionerExtension
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(PractitionerExtension) (Extension Type: Reference(MedComCorePractitionerRole)bundled)
        Is Modifierfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        46. Communication.payload.extension:authorContact
        Slice NameauthorContact
        Definition

        Extension that contains the contact information

        ShortContactExtension
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(ContactExtension) (Extension Type: ContactPoint)
        Is Modifierfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        48. Communication.payload.extension:identifier
        Slice Nameidentifier
        Definition

        An extension holding a specific identifier datatype

        ShortIdentifierExtension
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(IdentifierExtension) (Extension Type: Identifier)
        Is Modifierfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        50. Communication.payload.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        52. Communication.payload.content[x]
        Definition

        A communicated content (or for multi-part communications, one portion of the communication).

        ShortMessage part content
        Control1..1
        TypeChoice of: string, Attachment, Reference(Resource)
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        54. Communication.payload:string
        Slice Namestring
        Definition

        Text, attachment(s), or resource(s) that was communicated to the recipient.

        ShortMessage payload
        Control10..*
        TypeBackboneElement
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        56. Communication.payload:string.extension
        Definition

        An Extension


        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortExtensionAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control40..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on Communication.payload.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 58. Communication.payload:string.extension:date
          Slice Namedate
          Definition

          Date and time of this payload

          ShortDateTimeExtension
          Control1..1
          This element is affected by the following invariants: ele-1
          TypeExtension(DateTimeExtension) (Extension Type: dateTime)
          Is Modifierfalse
          Must Supporttrue
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          60. Communication.payload:string.extension:author
          Slice Nameauthor
          Definition

          Reference to a PractitionerRole and subsequent Practitioner

          ShortPractitionerExtension
          Control1..1
          This element is affected by the following invariants: ele-1
          TypeExtension(PractitionerExtension) (Extension Type: Reference(MedComCorePractitionerRole)bundled)
          Is Modifierfalse
          Must Supporttrue
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          62. Communication.payload:string.extension:authorContact
          Slice NameauthorContact
          Definition

          Extension that contains the contact information

          ShortContactExtension
          Control1..1
          This element is affected by the following invariants: ele-1
          TypeExtension(ContactExtension) (Extension Type: ContactPoint)
          Is Modifierfalse
          Must Supporttrue
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          64. Communication.payload:string.extension:identifier
          Slice Nameidentifier
          Definition

          An extension holding a specific identifier datatype

          ShortIdentifierExtension
          Control1..1
          This element is affected by the following invariants: ele-1
          TypeExtension(IdentifierExtension) (Extension Type: Identifier)
          Is Modifierfalse
          Must Supporttrue
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          66. Communication.payload:string.modifierExtension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ShortExtensions that cannot be ignored even if unrecognized
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          Requirements

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Alternate Namesextensions, user content, modifiers
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          68. Communication.payload:string.content[x]
          Definition

          A communicated content (or for multi-part communications, one portion of the communication).

          ShortMessage part content
          Control1..1
          Typestring, Reference(Resource), Attachment
          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          70. Communication.payload:attachment
          Slice Nameattachment
          Definition

          Text, attachment(s), or resource(s) that was communicated to the recipient.

          ShortThe payload with an attachment shall contain a link or content attached to the message.Message payload
          Control0..*
          TypeBackboneElement
          Is Modifierfalse
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          72. Communication.payload:attachment.extension
          Definition

          An Extension


          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          ShortExtensionAdditional content defined by implementations
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control20..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on Communication.payload.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 74. Communication.payload:attachment.extension:date
            Slice Namedate
            Definition

            Date and time of this payload

            ShortDateTimeExtension
            Control1..1
            This element is affected by the following invariants: ele-1
            TypeExtension(DateTimeExtension) (Extension Type: dateTime)
            Is Modifierfalse
            Must Supporttrue
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            76. Communication.payload:attachment.extension:author
            Slice Nameauthor
            Definition

            Reference to a PractitionerRole and subsequent Practitioner

            ShortPractitionerExtension
            Control0..1
            This element is affected by the following invariants: ele-1
            TypeExtension(PractitionerExtension) (Extension Type: Reference(MedComCorePractitionerRole)bundled)
            Is Modifierfalse
            Must Supporttrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            78. Communication.payload:attachment.extension:authorContact
            Slice NameauthorContact
            Definition

            Extension that contains the contact information

            ShortContactExtension
            Control0..1
            This element is affected by the following invariants: ele-1
            TypeExtension(ContactExtension) (Extension Type: ContactPoint)
            Is Modifierfalse
            Must Supporttrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            80. Communication.payload:attachment.extension:identifier
            Slice Nameidentifier
            Definition

            An extension holding a specific identifier datatype

            ShortIdentifierExtension
            Control1..1
            This element is affected by the following invariants: ele-1
            TypeExtension(IdentifierExtension) (Extension Type: Identifier)
            Is Modifierfalse
            Must Supporttrue
            Summarytrue
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            82. Communication.payload:attachment.modifierExtension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

            Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

            ShortExtensions that cannot be ignored even if unrecognized
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
            Summarytrue
            Requirements

            Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

            Alternate Namesextensions, user content, modifiers
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            84. Communication.payload:attachment.content[x]
            Definition

            A communicated content (or for multi-part communications, one portion of the communication).

            ShortMessage part content
            Control1..1
            TypeAttachment, string, Reference(Resource)
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Is Modifierfalse
            Must Supporttrue
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            86. Communication.payload:attachment.content[x].contentType
            Definition

            Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.

            ShortThe content type shall be present when the content is an attachment included in the data element.Mime type of the content, with charset etc.
            Control0..1
            BindingThe codes SHALL be taken from MedComCoreAttachmentMimeTypeshttp://hl7.org/fhir/ValueSet/mimetypes|4.0.1
            (required to http://medcomfhir.dk/ig/terminology/ValueSet/medcom-core-attachmentMimeTypes)
            Typecode
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summarytrue
            Requirements

            Processors of the data need to be able to know how to interpret the data.

            Example<br/><b>General</b>:text/plain; charset=UTF-8, image/png
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            88. Communication.payload:attachment.content[x].data
            Definition

            The actual data of the attachment - a sequence of bytes, base64 encoded.

            ShortShall be present and contain the base64 encoded content of the attachment.Data inline, base64ed
            Comments

            The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.

            Control0..1
            Typebase64Binary
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summaryfalse
            Requirements

            The data needs to able to be transmitted inline.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            90. Communication.payload:attachment.content[x].url
            Definition

            A location where the data can be accessed.

            ShortShall be present if the attachment is a link to a web page.Uri where the data can be found
            Comments

            If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.

            Control0..1
            Typeurl
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summarytrue
            Requirements

            The data needs to be transmitted by reference.

            Example<br/><b>General</b>:http://www.acme.com/logo-small.png
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            92. Communication.payload:attachment.content[x].title
            Definition

            A label or set of text to display in place of the data.

            ShortLabel to display in place of the data
            Control10..1
            Typestring
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summarytrue
            Requirements

            Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.

            Example<br/><b>General</b>:Official Corporate Logo
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            94. Communication.payload:attachment.content[x].creation
            Definition

            The date that the attachment was first created.

            ShortThe time the attachment was createdDate attachment was first created
            Control0..1
            TypedateTime
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Must Supporttrue
            Summarytrue
            Requirements

            This is often tracked as an integrity issue for use of the attachment.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))