PackagesCanonicalsLogsProblems
    Packages
    rs/medcom.fhir.dk.document@1.0.0
    http://medcomfhir.dk/ig/document/StructureDefinition/medcom-documentreference
description: A profile stating the rules, when exchanging a FHIR document.
package_name: rs/medcom.fhir.dk.document
derivation: constraint
name: MedComDocumentReference
type: DocumentReference
elements:
  category:
    short: '[DocumentEntry.class] Categorization of document'
    binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-classcode-VS'}
    mustSupport: true
    index: 11
    elements:
      coding:
        elements:
          system: {mustSupport: true, index: 12}
          code: {mustSupport: true, index: 13}
        required: [code, system]
  content:
    mustSupport: true
    index: 20
    elements:
      attachment:
        elements:
          contentType:
            short: '[DocumentEntry.mimeType] Mime type of the content, with charset etc.'
            binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-mimetype-VS'}
            mustSupport: true
            index: 21
          language:
            short: '[DocumentEntry.languageCode] Human language of the content'
            binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-languagecode-VS'}
            mustSupport: true
            index: 22
          url: {short: '[DocumentEntry.URI] Uri where the data can be found', mustSupport: true, index: 23}
          size: {short: '[DocumentEntry.size] Number of bytes of content', mustSupport: true, index: 24}
          hash: {short: '[DocumentEntry.hash] Hash of the data (sha-1)', mustSupport: true, index: 25}
          title: {short: '[DocumentEntry.title] Label to display in place of the data', mustSupport: true, index: 26}
          creation: {short: '[DocumentEntry.creationTime] Date attachment was first created', mustSupport: true, index: 27}
        required: [contentType, creation, language, title]
      format: {short: '[DocumentEntry.formatCode] Format/content rules for the document', mustSupport: true, index: 28}
    required: [format]
  type:
    short: '[DocumentEntry.typeCode] Kind of document'
    mustSupport: true
    index: 8
    elements:
      coding:
        elements:
          system: {mustSupport: true, index: 9}
          code: {mustSupport: true, index: 10}
        required: [code, system]
  author:
    min: 1
    short: '[DocumentEntry.author] Who and/or what authored the document'
    index: 15
    refers: ['http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/PractitionerRole', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson']
    slicing:
      rules: closed
      discriminator:
      - {path: $this.resolve(), type: type}
      min: 1
      max: 2
      slices:
        institution:
          match: {}
          schema:
            short: '[DocumentEntry.author.authorInstitution] The organization who authored the document'
            refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-organization']
            type: Reference
            mustSupport: true
            _required: true
            index: 16
          min: 1
          max: 1
        person:
          match: {}
          schema:
            short: '[DocumentEntry.author.authorPerson] The person who authored the document'
            refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitioner']
            type: Reference
            mustSupport: true
            index: 17
          min: 0
          max: 1
    type: Reference
    mustSupport: true
    array: true
    max: 2
  extension:
    array: true
    min: 2
    index: 0
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 2
      slices:
        homeCommunityid:
          match: {url: null}
          schema: {short: '[DocumentEntry.homeCommunityId] A unique identifier for a community where the DocumentEntry and document can be accessed', type: Extension, mustSupport: true, url: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-homecommunityid-extension', isSummary: true, index: 1}
          min: 1
          max: 1
        versionid:
          match: {url: null}
          schema: {short: Specifies the version of the DocumentReference for a standard., type: Extension, mustSupport: true, url: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-version-id-extension', isSummary: true, index: 2}
          min: 1
          max: 1
  masterIdentifier:
    short: '[DocumentEntry.uniqueId] Master Version Specific Identifier'
    mustSupport: true
    index: 3
    elements:
      value: {mustSupport: true, index: 4}
    required: [value]
  status: {short: '[DocumentEntry.availabilityStatus] current = active | superseded = deprecated', mustSupport: true, index: 7}
  identifier:
    short: '[DocumentEntry.entryUUID] Identifier for the document'
    constraint:
      uuid: {human: General UUID expression, source: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-documentreference', severity: error, expression: 'value.matches(''[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'')'}
    mustSupport: true
    index: 5
    elements:
      value: {mustSupport: true, index: 6}
    required: [value]
  context:
    mustSupport: true
    index: 29
    elements:
      event:
        short: '[DocumentEntry.eventCodeList] Main clinical acts documented'
        mustSupport: true
        index: 30
        elements:
          coding:
            elements:
              system: {mustSupport: true, index: 31}
              code: {mustSupport: true, index: 32}
            required: [code, system]
      period:
        short: '[DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented'
        mustSupport: true
        index: 33
        elements:
          start: {mustSupport: true, index: 34}
          end: {mustSupport: true, index: 35}
      facilityType:
        short: '[DocumentEntry.healthcareFacilityTypeCode] Kind of facility where patient was seen'
        mustSupport: true
        index: 36
        elements:
          coding:
            elements:
              system:
                binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-HealthcareFacilityTypeCode-VS'}
                mustSupport: true
                index: 37
              code: {mustSupport: true, index: 38}
            required: [code, system]
      practiceSetting:
        short: '[DocumentEntry.practiceSettingCode] Additional details about where the content was created (e.g. clinical specialty)'
        mustSupport: true
        index: 39
        elements:
          coding:
            elements:
              system:
                binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-PracticeSettingCode-VS'}
                mustSupport: true
                index: 40
              code: {mustSupport: true, index: 41}
            required: [code, system]
      sourcePatientInfo: {short: '[DocumentEntry.sourcePatientId and DocumentEntry.sourcePatientInfo] Patient demographics from source. Must be the same reference as in DocumentReference.subject.', mustSupport: true, index: 42}
      related: {short: '[DocumentEntry.referenceIdList] Related identifiers or resources', mustSupport: true, index: 43}
    required: [facilityType, practiceSetting, sourcePatientInfo]
  securityLabel: {short: '[DocumentEntry.confidentialityCode] Document security-tags', mustSupport: true, index: 19}
  subject:
    type: Reference
    short: '[DocumentEntry.sourcePatientInfo, DocumentEntry.sourcePatientId] Who/what is the subject of the document'
    mustSupport: true
    refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-patient']
    index: 14
  authenticator:
    type: Reference
    short: '[DocumentEntry.legalAuthenticator] Who authenticated the document'
    mustSupport: true
    refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitioner']
    index: 18
package_version: 1.0.0
extensions:
  homeCommunityid: {url: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-homecommunityid-extension', min: 1, max: 1, short: '[DocumentEntry.homeCommunityId] A unique identifier for a community where the DocumentEntry and document can be accessed', type: Extension, mustSupport: true, isSummary: true, index: 1}
  versionid: {url: 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-version-id-extension', min: 1, max: 1, short: Specifies the version of the DocumentReference for a standard., type: Extension, mustSupport: true, isSummary: true, index: 2}
class: profile
kind: resource
url: http://medcomfhir.dk/ig/document/StructureDefinition/medcom-documentreference
base: http://hl7.org/fhir/StructureDefinition/DocumentReference
version: 1.0.0
required: [author, category, context, identifier, masterIdentifier, securityLabel, subject, type]