PackagesCanonicalsLogsProblems
    Packages
    no.nhn.fhir.helsenorge.profiles@2.5.20-beta
    http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment
description: Base profile for Helsenorge Appointment information. Defined by Helsenorge based on national profile.
package_name: no.nhn.fhir.helsenorge.profiles
derivation: constraint
name: HnBasisAppointment
type: Appointment
elements:
  description:
    constraint:
      must-be-max-1000-chars: {human: Length MUST be <= 1000, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: $this.length() <= 1000}
    index: 49
  serviceCategory:
    binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs'}
    index: 31
    elements:
      coding:
        constraint:
          inv-4: {human: If code is used in a codable consept the system must be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: code > '' implies (system > '' )}
        index: 32
  slot: {index: 54}
  meta:
    short: Metadata used for Appointment in Helsenorge
    index: 0
    elements:
      lastUpdated: {short: Last updated timestamp for the resource, mustSupport: true, index: 1}
      security:
        index: 2
        slicing:
          rules: open
          discriminator:
          - {path: system, type: value}
          min: null
          slices:
            tilgangsbegrensning:
              match: {system: 'urn:oid:2.16.578.1.12.4.1.1.9603'}
              schema:
                short: Betinget tilgangsbegrensning metadata
                mustSupport: true
                binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-tilgangsbegrensning-vs'}
                index: 3
                elements:
                  system:
                    pattern: {type: Uri, value: 'urn:oid:2.16.578.1.12.4.1.1.9603'}
                    index: 4
                  code: {index: 5}
                required: [system, code]
      tag:
        index: 6
        slicing:
          rules: open
          discriminator:
          - {path: system, type: value}
          min: null
          slices:
            varsling:
              match: {system: 'http://helsenorge.no/fhir/varsling'}
              schema:
                short: Varsling metadata
                mustSupport: true
                array: true
                binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-varsling-vs'}
                index: 7
                extensions:
                  varselorganisasjon: {url: 'http://helsenorge.no/fhir/StructureDefinition/hn-extension-varselorganisasjon', min: 0, max: 1, type: Extension, index: 8}
                elements:
                  extension:
                    type: Extension
                    url: http://helsenorge.no/fhir/StructureDefinition/hn-extension-varselorganisasjon
                    index: 8
                    slicing:
                      slices:
                        varselorganisasjon:
                          match: {}
                          schema: {type: Extension, url: 'http://helsenorge.no/fhir/StructureDefinition/hn-extension-varselorganisasjon', index: 8}
                          min: 0
                          max: 1
                  system:
                    pattern: {type: Uri, value: 'http://helsenorge.no/fhir/varsling'}
                    index: 9
                  code: {index: 10}
                required: [system, code]
            paminnelse:
              match: {system: 'http://helsenorge.no/fhir/paminnelse'}
              schema:
                short: PÄminnelse metadata
                mustSupport: true
                binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-paminnelse-vs'}
                index: 11
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://helsenorge.no/fhir/paminnelse'}
                    index: 12
                  code: {index: 13}
                required: [system, code]
    required: [lastUpdated]
  specialty:
    index: 35
    elements:
      coding:
        constraint:
          inv-4: {human: If code is used in a codable consept the system must be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: code > '' implies (system > '' )}
        index: 36
  cancelationReason:
    short: Reason for cancellation
    binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-cancellation-reason-vs'}
    index: 29
    elements:
      coding:
        constraint:
          inv-4: {human: If code is used in a codable consept the system must be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: code > '' implies (system > '' )}
        index: 30
  requestedPeriod: {index: 60}
  patientInstruction:
    constraint:
      must-be-max-1000-chars: {human: Length MUST be <= 1000, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: $this.length() <= 1000}
    index: 56
  implicitRules: {index: 14}
  reasonCode: {index: 46}
  participant:
    constraint:
      appointment-participant-actor-patient-reference-identifier: {human: When actor is a Patient logical reference MUST be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: warning, expression: actor.type = 'Patient' implies actor.identifier.exists()}
      appointment-participant-actor-patient-reference-reference: {human: 'When actor is a Patient, literal reference (relative, internal or absolute) MUST not be used', source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: warning, expression: (actor.type = 'Patient') implies actor.reference.exists().not()}
    index: 57
    elements:
      type:
        elements:
          coding:
            constraint:
              inv-4: {human: If code is used in a codable consept the system must be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: code > '' implies (system > '' )}
            index: 58
      actor:
        type: Reference
        short: When actor is a Patient logical reference MUST be used
        refers: ['http://hl7.no/fhir/StructureDefinition/no-basis-Location', 'http://hl7.no/fhir/StructureDefinition/no-basis-Patient', 'http://hl7.no/fhir/StructureDefinition/no-basis-Practitioner', 'http://hl7.no/fhir/StructureDefinition/no-basis-PractitionerRole']
        index: 59
    required: [actor]
  serviceType:
    index: 33
    elements:
      coding:
        constraint:
          inv-4: {human: If code is used in a codable consept the system must be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: code > '' implies (system > '' )}
        index: 34
  extension:
    index: 17
    slicing:
      slices:
        virtualService:
          match: {}
          schema:
            index: 17
            extensions:
              channelType:
                url: null
                index: 18
                elements:
                  value:
                    choices: []
                    index: 20
            elements:
              extension:
                index: 18
                slicing:
                  slices:
                    channelType:
                      match: {}
                      schema:
                        index: 18
                        elements:
                          value:
                            choices: []
                            index: 20
        recurring:
          match: {}
          schema: {type: Extension, mustSupport: true, url: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring', index: 21}
          min: 0
          max: 1
        postponementReason:
          match: {}
          schema: {type: Extension, url: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason', index: 22}
          min: 0
          max: 1
        consultationType:
          match: {}
          schema: {type: Extension, mustSupport: true, url: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType', index: 23}
          min: 0
          max: 0
  supportingInformation:
    index: 50
    slicing:
      rules: open
      discriminator:
      - {path: resolve(), type: type}
      min: 1
      slices:
        kommunikasjonspart:
          match: {}
          schema:
            short: Kommunikasjonspart
            refers: ['http://hl7.org/fhir/StructureDefinition/Organization']
            type: Reference
            _required: true
            index: 51
          min: 1
          max: 1
        documentReference:
          match: {}
          schema:
            short: Document reference
            refers: ['http://hl7.no/fhir/StructureDefinition/no-basis-DocumentReference']
            type: Reference
            index: 52
          min: 0
          max: 1
        flag:
          match: {}
          schema:
            short: Flag
            refers: ['http://helsenorge.no/fhir/StructureDefinition/hn-basis-Flag']
            type: Reference
            array: true
            max: 4
            index: 53
          min: 0
          max: 4
  priority: {index: 48}
  appointmentType:
    index: 37
    elements:
      coding:
        constraint:
          inv-4: {human: If code is used in a codable consept the system must be used, source: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment', severity: error, expression: code > '' implies (system > '' )}
        index: 38
        slicing:
          rules: open
          discriminator:
          - {path: system, type: value}
          min: null
          slices:
            omsorgsNiva:
              match: {system: 'urn:oid:2.16.578.1.12.4.1.1.8406'}
              schema:
                binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-appointment-type-omsorgsniva-vs'}
                index: 39
                elements:
                  system:
                    pattern: {type: Uri, value: 'urn:oid:2.16.578.1.12.4.1.1.8406'}
                    index: 40
                required: [system]
            kontaktType:
              match: {system: null}
              schema: {index: 41}
              max: 0
            innbygger:
              match: {system: 'urn:oid:2.16.578.1.12.4.1.1.7617'}
              schema:
                binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-appointment-type-inbygger-vs'}
                index: 42
                elements:
                  system:
                    pattern: {type: Uri, value: 'urn:oid:2.16.578.1.12.4.1.1.7617'}
                    index: 43
                required: [system]
            helsenorge:
              match: {system: 'http://helsenorge.no/fhir/CodeSystem/Hn-AppointmentTypeProposed-New-Codes-cs'}
              schema:
                binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-appointment-type-proposed-new-codes-vs'}
                mustSupport: true
                index: 44
                elements:
                  system:
                    pattern: {type: Uri, value: 'http://helsenorge.no/fhir/CodeSystem/Hn-AppointmentTypeProposed-New-Codes-cs'}
                    index: 45
                required: [system]
  status:
    binding: {strength: required, valueSet: 'http://helsenorge.no/fhir/ValueSet/hn-appointment-status-vs'}
    index: 28
  language: {index: 15}
  comment: {index: 55}
  identifier:
    index: 24
    elements:
      system: {index: 25}
      value: {index: 26}
      assigner:
        type: Reference
        refers: ['http://hl7.no/fhir/StructureDefinition/no-basis-Organization', 'http://hl7.org/fhir/StructureDefinition/Organization']
        index: 27
    required: [assigner, value, system]
  reasonReference: {index: 47}
  text: {index: 16}
package_version: 2.5.20-beta
extensions:
  virtualService:
    url: null
    index: 17
    extensions:
      channelType:
        url: null
        index: 18
        elements:
          value:
            choices: []
            index: 20
    elements:
      extension:
        index: 18
        slicing:
          slices:
            channelType:
              match: {}
              schema:
                index: 18
                elements:
                  value:
                    choices: []
                    index: 20
  recurring: {url: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring', min: 0, max: 1, type: Extension, mustSupport: true, index: 21}
  postponementReason: {url: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason', min: 0, max: 1, type: Extension, index: 22}
  consultationType: {url: 'http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType', min: 0, max: 0, type: Extension, mustSupport: true, index: 23}
class: profile
kind: resource
url: http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment
base: http://hl7.no/fhir/StructureDefinition/no-basis-Appointment
version: 2.5.5
required: [supportingInformation, identifier, appointmentType, serviceCategory]