PackagesCanonicalsLogsProblems
    Packages
    medcom.fhir.dk.xdsdocuments@0.1.0-homecareobservation-draft-2
    http://medcomfhir.dk/ig/xdsdocuments/StructureDefinition/homecare-observation-documentreference
description: 'A profile stating the rules, when exchanging a document including homecare observation (DA: Kommunale Prøvesvar).'
package_name: medcom.fhir.dk.xdsdocuments
derivation: constraint
name: HomeCareObservationDocumentReference
type: DocumentReference
elements:
  category:
    short: '[DocumentEntry.classCode] Categorization of document.'
    binding: {strength: extensible, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-classcode-VS-TEMP'}
    index: 24
    elements:
      coding:
        elements:
          system: {mustSupport: true, index: 25}
          code: {mustSupport: true, index: 26}
          display: {mustSupport: true, index: 27}
        required: [display, system, code]
  content:
    mustSupport: true
    index: 37
    elements:
      attachment:
        mustSupport: true
        index: 38
        elements:
          contentType:
            short: '[DocumentEntry.mimeType] Mime type of the content, with charset etc.'
            binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-mimetype-VS-TEMP'}
            mustSupport: true
            index: 39
          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'}
            index: 40
          url: {short: '[DocumentEntry.URI] URI where the data can be found.', mustSupport: true, index: 41}
          size: {short: '[DocumentEntry.size] Number of bytes of content.', mustSupport: true, index: 42}
          hash: {short: '[DocumentEntry.hash] Hash of the data (sha-1).', mustSupport: true, index: 43}
          title: {short: '[DocumentEntry.title] The readable title of the document.', mustSupport: true, index: 44}
          creation:
            short: '[DocumentEntry.creationTime] Date attachment was first created.'
            constraint:
              medcom-datetime-has-time-offset-zulu: {human: 'dateTime must include date, time, and time zone.', source: 'http://medcomfhir.dk/ig/xdsdocuments/StructureDefinition/homecare-observation-documentreference', severity: error, expression: '$this.toString().matches(''^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]+)?(Z|[+-][0-9]{2}:[0-9]{2})$'')'}
            index: 45
        required: [title, language, creation]
      format:
        short: '[DocumentEntry.formatCode] Format/content rules for the document.'
        binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/xdsdocuments/ValueSet/MedComHCOFormatCodeVS'}
        index: 46
        elements:
          system: {mustSupport: true, index: 47}
          code: {mustSupport: true, index: 48}
          display: {mustSupport: true, index: 49}
        required: [display, system, code]
    required: [format]
  type:
    index: 22
    elements:
      coding:
        binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/xdsdocuments/ValueSet/MedComHCOTypeCodeVS'}
        pattern:
          type: Coding
          value: {code: HCOM, system: 'urn:oid:1.2.208.184.100.1', display: HomeCareObservation message}
        index: 23
  author:
    type: Reference
    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']
    array: true
    max: 2
    index: 29
    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: 30
          min: 1
          max: 1
        person:
          match: {}
          schema:
            short: A person/role/patient/device author of the document.
            refers: ['http://hl7.dk/fhir/core/StructureDefinition/dk-core-related-person', 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitioner', 'http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-practitionerrole']
            type: Reference
            mustSupport: true
            index: 31
          min: 0
          max: 1
  extension:
    mustSupport: true
    index: 4
    slicing:
      slices:
        versionid:
          match: {}
          schema:
            mustSupport: true
            index: 5
            extensions: {}
            elements:
              extension: {index: 6}
              value:
                pattern: {type: String, value: '2.0'}
                choices: []
                index: 8
        homeCommunityid:
          match: {}
          schema:
            type: Extension
            short: '[DocumentEntry.homeCommunityId] A unique identifier for a community where the DocumentEntry and document can be accessed.'
            mustSupport: true
            url: http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-homecommunityid-extension
            index: 9
            elements:
              url: {mustSupport: true, index: 10}
              value:
                choices: [valueCoding]
                index: 12
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        choices: [valueCoding]
                        index: 12
              valueCoding:
                type: Coding
                choiceOf: value
                index: 13
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema: {type: Coding, choiceOf: value, index: 13}
  masterIdentifier:
    short: '[DocumentEntry.uniqueId] Master Version Specific Identifier'
    mustSupport: true
    index: 14
    elements:
      system: {mustSupport: true, index: 15}
      value: {mustSupport: true, index: 16}
  status: {short: '[DocumentEntry.availabilityStatus] current = active | superseded = deprecated.', mustSupport: true, index: 21}
  id: {mustSupport: true, index: 0}
  identifier:
    index: 17
    slicing:
      slices:
        entryUUID:
          match: {}
          schema:
            short: '[DocumentEntry.entryUUID] Identifier for the document.'
            _required: true
            index: 18
            elements:
              system: {mustSupport: true, index: 19}
              value:
                constraint:
                  medcom-uuid: {human: The value shall correspond to the structure of an UUID, source: 'http://medcomfhir.dk/ig/xdsdocuments/StructureDefinition/homecare-observation-documentreference', 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: 20
  context:
    mustSupport: true
    index: 50
    elements:
      event:
        short: '[DocumentEntry.eventCodeList] Main clinical acts documented.'
        mustSupport: true
        index: 51
        elements:
          coding:
            elements:
              system: {mustSupport: true, index: 52}
              code: {mustSupport: true, index: 53}
            required: [system, code]
      period:
        short: '[DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented.'
        index: 54
        elements:
          start: {mustSupport: true, index: 55}
          end: {mustSupport: true, index: 56}
        required: [start]
      facilityType:
        short: '[DocumentEntry.healthcareFacilityTypeCode] Kind of facility where patient was seen.'
        binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-HealthcareFacilityTypeCode-VS-TEMP'}
        index: 57
        elements:
          coding:
            mustSupport: true
            index: 58
            elements:
              system: {mustSupport: true, index: 59}
              code: {mustSupport: true, index: 60}
              display: {mustSupport: true, index: 61}
            required: [display, system, code]
        required: [coding]
      practiceSetting:
        short: '[DocumentEntry.practiceSettingCode] Additional details about where the content was created (e.g. clinical specialty).'
        binding: {strength: required, valueSet: 'http://medcomfhir.dk/ig/document/ValueSet/MedCom-ihe-core-PracticeSettingCode-VS-TEMP'}
        index: 62
        elements:
          coding:
            mustSupport: true
            index: 63
            elements:
              system: {mustSupport: true, index: 64}
              code: {mustSupport: true, index: 65}
              display: {mustSupport: true, index: 66}
            required: [display, system, code]
        required: [coding]
      sourcePatientInfo:
        type: Reference
        short: '[DocumentEntry.sourcePatientId and DocumentEntry.sourcePatientInfo] Patient demographics from source. Must be the same reference as in DocumentReference.subject.'
        refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-patient']
        index: 67
        elements:
          reference: {mustSupport: true, index: 68}
          identifier: {mustSupport: true, index: 69}
        required: [identifier, reference]
      related: {short: '[DocumentEntry.referenceIdList] Related identifiers or resources.', mustSupport: true, index: 70}
    required: [practiceSetting, sourcePatientInfo, period, facilityType]
  securityLabel:
    short: '[DocumentEntry.confidentialityCode] Document security-tags.'
    index: 33
    elements:
      coding:
        mustSupport: true
        index: 34
        elements:
          system: {mustSupport: true, index: 35}
          code: {mustSupport: true, index: 36}
        required: [system, code]
    required: [coding]
  subject:
    type: Reference
    short: '[DocumentEntry.sourcePatientInfo, DocumentEntry.sourcePatientId] Who/what is the subject of the document.'
    refers: ['http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-patient']
    index: 28
  authenticator:
    type: Reference
    short: '[DocumentEntry.legalAuthenticator] Who authenticated the document.'
    mustSupport: true
    refers: ['http://hl7.dk/fhir/core/StructureDefinition/dk-core-organization', 'http://hl7.dk/fhir/core/StructureDefinition/dk-core-practitioner', 'http://hl7.dk/fhir/core/StructureDefinition/dk-core-practitioner-role']
    index: 32
  text:
    short: The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle.
    mustSupport: true
    index: 1
    elements:
      status: {mustSupport: true, index: 2}
      div: {mustSupport: true, index: 3}
package_version: 0.1.0-homecareobservation-draft-2
extensions:
  versionid:
    url: null
    mustSupport: true
    index: 5
    extensions: {}
    elements:
      extension: {index: 6}
      value:
        pattern: {type: String, value: '2.0'}
        choices: []
        index: 8
  homeCommunityid:
    url: http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-homecommunityid-extension
    type: Extension
    short: '[DocumentEntry.homeCommunityId] A unique identifier for a community where the DocumentEntry and document can be accessed.'
    mustSupport: true
    index: 9
    elements:
      url: {mustSupport: true, index: 10}
      value:
        choices: [valueCoding]
        index: 12
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                choices: [valueCoding]
                index: 12
      valueCoding:
        type: Coding
        choiceOf: value
        index: 13
        slicing:
          slices:
            valueCoding:
              match: {}
              schema: {type: Coding, choiceOf: value, index: 13}
class: profile
kind: resource
url: http://medcomfhir.dk/ig/xdsdocuments/StructureDefinition/homecare-observation-documentreference
base: http://hl7.dk/fhir/core/StructureDefinition/dk-core-minimaldocumentreference
version: 0.1.0-homecareobservation-draft-2
required: [securityLabel, id, context, text, identifier, type, category]