PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.fi.scheduling@2.0.0-rc2
    https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/fi-scheduling-appointment
description: Profile for appointment (*ajanvaraus*) in Finnish Scheduling environment.
package_name: hl7.fhir.fi.scheduling
derivation: constraint
name: FiSchedulingAppointment
type: Appointment
elements:
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        CareplanIdentifier:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/careplan-identifier', index: 4}
          min: 0
        CustomerJourney:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/customer-journey', index: 6}
          min: 0
        ServiceAdditionalInformation:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/service-additional-information', index: 15}
          min: 0
        AppointmentMutability:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/mutable', index: 2}
          min: 0
          max: 1
        NotificationMedium:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/notification-medium', index: 8}
          min: 0
        ChildAppointment:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/child-appointment', index: 5}
          min: 0
          max: 1
        TopicId:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/topic-id', index: 17}
          min: 0
          max: 1
        AdditionalInformationURL:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/additional-information-url', index: 1}
          min: 0
        SelfServiceInfo:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/self-service-info', index: 14}
          min: 0
          max: 1
        ResourceCalendarId:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/resource-calendar', index: 13}
          min: 0
        NotificationInfo:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/notification-info', index: 7}
          min: 0
        ReferralId:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/referral-id', index: 11}
          min: 0
        QueueNo:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/queue-number', index: 10}
          min: 0
        TicketNo:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/ticket-number', index: 16}
          min: 0
        CareGuaranteeDetails:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/care-guarantee-details', index: 3}
          min: 0
          max: 1
        PractitionerGender:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/practitioner-gender', index: 9}
          min: 0
          max: 1
        RequestedService:
          match: {url: null}
          schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/requested-service-info', index: 12}
          min: 0
          max: 1
  cancelationReason:
    elements:
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 'urn:oid:1.2.246.537.6.126'}
            index: 18
  serviceCategory:
    index: 19
    slicing:
      rules: open
      discriminator:
      - {path: coding, type: exists}
      min: null
      slices:
        thlCodedCategory:
          match: {}
          schema:
            array: true
            index: 20
            elements:
              coding:
                index: 21
                slicing:
                  rules: open
                  discriminator:
                  - {path: system, type: value}
                  min: 1
                  slices:
                    thlType:
                      match: {system: 'urn:oid:1.2.246.537.6.50'}
                      schema:
                        array: true
                        min: 1
                        _required: true
                        index: 22
                        elements:
                          system:
                            pattern: {type: Uri, value: 'urn:oid:1.2.246.537.6.50'}
                            index: 23
                        required: [system]
                    hl7Type:
                      match: {system: 'http://terminology.hl7.org/CodeSystem/service-category'}
                      schema:
                        array: true
                        index: 24
                        elements:
                          system:
                            pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/service-category'}
                            index: 25
                        required: [system]
            required: [coding]
  serviceType:
    index: 26
    slicing:
      rules: open
      discriminator:
      - {path: coding, type: exists}
      min: null
      slices:
        thlCodedType:
          match: {}
          schema:
            array: true
            index: 27
            elements:
              coding:
                index: 28
                slicing:
                  rules: open
                  discriminator:
                  - {path: system, type: value}
                  min: 1
                  slices:
                    thlType:
                      match: {system: 'urn:oid:1.2.246.537.6.49'}
                      schema:
                        array: true
                        min: 1
                        _required: true
                        index: 29
                        elements:
                          system:
                            pattern: {type: Uri, value: 'urn:oid:1.2.246.537.6.49'}
                            index: 30
                        required: [system]
                    hl7Type:
                      match: {system: 'http://terminology.hl7.org/CodeSystem/service-type'}
                      schema:
                        array: true
                        index: 31
                        elements:
                          system:
                            pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/service-type'}
                            index: 32
                        required: [system]
            required: [coding]
  appointmentType:
    elements:
      coding:
        elements:
          system:
            pattern: {type: Uri, value: 1.2.246.537.6.884}
            index: 33
  reasonCode:
    index: 34
    slicing:
      rules: open
      discriminator:
      - {path: coding, type: exists}
      min: null
      slices:
        sliceSisaltotarkenne:
          match: {}
          schema:
            array: true
            index: 35
            elements:
              coding: {index: 36}
            required: [coding]
        slicePalvelutarve:
          match: {}
          schema:
            index: 37
            elements:
              text: {index: 38}
            required: [text]
  reasonReference:
    type: Reference
    refers: ['http://hl7.org/fhir/StructureDefinition/Condition']
    index: 39
    elements:
      type:
        pattern: {type: Uri, value: Condition}
        index: 40
  patientInstruction:
    extensions:
      PatientInstructionURL: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/patient-instruction-url', min: 0, max: 1, type: Extension, index: 42}
    elements:
      extension:
        index: 41
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            PatientInstructionURL:
              match: {url: null}
              schema: {type: Extension, url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/patient-instruction-url', index: 42}
              min: 0
              max: 1
package_version: 2.0.0-rc2
extensions:
  CareplanIdentifier: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/careplan-identifier', min: 0, type: Extension, index: 4}
  CustomerJourney: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/customer-journey', min: 0, type: Extension, index: 6}
  ServiceAdditionalInformation: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/service-additional-information', min: 0, type: Extension, index: 15}
  AppointmentMutability: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/mutable', min: 0, max: 1, type: Extension, index: 2}
  NotificationMedium: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/notification-medium', min: 0, type: Extension, index: 8}
  ChildAppointment: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/child-appointment', min: 0, max: 1, type: Extension, index: 5}
  TopicId: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/topic-id', min: 0, max: 1, type: Extension, index: 17}
  AdditionalInformationURL: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/additional-information-url', min: 0, type: Extension, index: 1}
  SelfServiceInfo: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/self-service-info', min: 0, max: 1, type: Extension, index: 14}
  ResourceCalendarId: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/resource-calendar', min: 0, type: Extension, index: 13}
  NotificationInfo: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/notification-info', min: 0, type: Extension, index: 7}
  ReferralId: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/referral-id', min: 0, type: Extension, index: 11}
  QueueNo: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/queue-number', min: 0, type: Extension, index: 10}
  TicketNo: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/ticket-number', min: 0, type: Extension, index: 16}
  CareGuaranteeDetails: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/care-guarantee-details', min: 0, max: 1, type: Extension, index: 3}
  PractitionerGender: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/practitioner-gender', min: 0, max: 1, type: Extension, index: 9}
  RequestedService: {url: 'https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/requested-service-info', min: 0, max: 1, type: Extension, index: 12}
class: profile
kind: resource
url: https://hl7.fi/fhir/finnish-scheduling/StructureDefinition/fi-scheduling-appointment
base: http://hl7.org/fhir/StructureDefinition/Appointment
version: 2.0.0-rc2