PackagesCanonicalsLogsProblems
    Packages
    medcom.fhir.dk.document@2.0.0
    http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition
description: The profile of the MedCom Document Composition containing the minimum allowed content.
package_name: medcom.fhir.dk.document
derivation: constraint
name: MedComDocumentComposition
type: Composition
elements:
  category:
    short: '[DocumentEntry.classCode] Categorization of document'
    binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMP'}
    mustSupport: true
    index: 16
    elements:
      coding:
        mustSupport: true
        index: 17
        elements:
          system: {mustSupport: true, index: 18}
          code: {mustSupport: true, index: 19}
          display: {mustSupport: true, index: 20}
        required: [display, system, code]
    required: [coding]
  date: {mustSupport: true, index: 22}
  meta:
    mustSupport: true
    index: 1
    elements:
      profile:
        short: '[DocumentEntry.formatCode] Indicates the FHIR Composition profile canonical, including an explicit version `|x.y.z`. The value does not map 1:1 to XDS DocumentEntry.formatCode and SHALL be mapped.'
        constraint:
          medcom-canonical-semver: {human: The canonical SHALL include an explicit semantic version (semver) with optional prerelease (-...) and build metadata (+...)., source: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition', severity: error, expression: 'matches(''^.*[|][0-9]+[.][0-9]+([.][0-9]+)?(-[0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?([+][0-9A-Za-z-]+([.][0-9A-Za-z-]+)*)?$'')'}
        mustSupport: true
        index: 2
    required: [profile]
  section:
    mustSupport: true
    index: 36
    elements:
      entry: {mustSupport: true, index: 37}
  attester:
    mustSupport: true
    index: 27
    elements:
      mode: {mustSupport: true, index: 28}
      party:
        type: Reference
        short: '[DocumentEntry.legalAuthenticator] Who authenticated the document.'
        mustSupport: true
        refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitioner']
        index: 29
  type:
    short: '[DocumentEntry.typeCode] Kind of document'
    binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-typecode-VS-TEMP'}
    mustSupport: true
    index: 11
    elements:
      coding:
        mustSupport: true
        index: 12
        elements:
          system: {mustSupport: true, index: 13}
          code: {mustSupport: true, index: 14}
          display: {mustSupport: true, index: 15}
        required: [display, system, code]
    required: [coding]
  title: {short: '[DocumentEntry.title] The readable title of the document.', mustSupport: true, index: 25}
  author:
    short: |-
      [DocumentEntry.author] The slice author:institution ensures one mandatory organizational author.
      Any author element that does not match this slice is interpreted
      as an author person.
    refers: ['http://hl7.dk/fhir/core/StructureDefinition/dk-core-related-person', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-organization', 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-patient', 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitioner', 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitionerrole']
    type: Reference
    mustSupport: true
    array: true
    max: 2
    index: 23
    slicing:
      rules: open
      discriminator:
      - {path: $this.resolve(), type: profile}
      min: null
      max: 2
      slices:
        institution:
          match: {}
          schema:
            short: The organization who authored the document.
            refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-organization']
            type: Reference
            mustSupport: true
            _required: true
            index: 24
          min: 1
          max: 1
  event:
    mustSupport: true
    index: 30
    elements:
      code: {mustSupport: true, index: 31}
      period:
        short: '[DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented.'
        mustSupport: true
        index: 32
        elements:
          start: {mustSupport: true, index: 33}
          end: {mustSupport: true, index: 34}
        required: [start]
      detail: {short: '[DocumentEntry.referenceIdList] Related identifiers or resources', mustSupport: true, index: 35}
    required: [period]
  status:
    mustSupport: true
    pattern: {type: Code, value: final}
    index: 10
  language:
    short: '[DocumentEntry.languageCode] Human language of the content'
    binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-languagecode-VS-TEMP'}
    mustSupport: true
    index: 3
  id: {mustSupport: true, index: 0}
  identifier:
    short: The Composition identifier
    mustSupport: true
    index: 7
    elements:
      system: {short: '[DocumentEntry.uniqueId] Sender organization OID (Object Identifier). Example: 1.2.208.184 (MedCom OID).', mustSupport: true, index: 8}
      value:
        short: '[DocumentEntry.uniqueId] UUID.'
        constraint:
          medcom-uuid: {human: The value shall correspond to the structure of an UUID, source: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition', severity: error, expression: '$this.matches(''(?i)^urn:uuid:[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'')'}
        mustSupport: true
        index: 9
    required: [value, system]
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-patient']
    index: 21
  confidentiality: {mustSupport: true, index: 26}
  text:
    short: The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle.
    mustSupport: true
    index: 4
    elements:
      status: {mustSupport: true, index: 5}
      div: {mustSupport: true, index: 6}
package_version: 2.0.0
class: profile
kind: resource
url: http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-composition
base: http://hl7.org/fhir/StructureDefinition/Composition
version: 2.0.0
required: [id, event, confidentiality, section, text, identifier, subject, meta, language]