PackagesCanonicalsLogsProblems
    Packages
    uk.nhsdigital.r4@2.4.5
    https://fhir.nhs.uk/StructureDefinition/NHSDigital-Appointment
description: null
package_name: uk.nhsdigital.r4
derivation: constraint
name: NHSDigitalAppointment
type: Appointment
elements:
  serviceCategory:
    index: 8
    elements:
      coding:
        elements:
          system: {index: 9}
          code: {index: 10}
        required: [system, code]
    slicing:
      rules: open
      discriminator:
      - {path: coding.system, type: value}
      min: null
      slices:
        NHSDataDictionaryTreatmentFunction:
          match:
            coding: {system: 'https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-treatment-function'}
          schema:
            index: 11
            elements:
              coding:
                binding: {strength: required, valueSet: 'https://fhir.nhs.uk/ValueSet/NHSDataModelAndDictionary-treatment-function'}
                index: 12
                elements:
                  system:
                    pattern: {type: Uri, value: 'https://fhir.nhs.uk/CodeSystem/NHSDataModelAndDictionary-treatment-function'}
                    index: 13
        eRSClinicType:
          match:
            coding: {system: 'https://fhir.nhs.uk/CodeSystem/NHSDigital-ClinicType'}
          schema:
            index: 14
            elements:
              coding:
                binding: {strength: required, valueSet: 'https://fhir.nhs.uk/ValueSet/NHSDigital-eRS-ClinicType'}
                index: 15
                elements:
                  system:
                    pattern: {type: Uri, value: 'https://fhir.nhs.uk/CodeSystem/NHSDigital-ClinicType'}
                    index: 16
  slot:
    mustSupport: true
    index: 22
    slicing:
      rules: open
      discriminator:
      - {path: identifier.system, type: value}
      min: null
      slices:
        alternativeSlot:
          match:
            identifier: {system: 'https://fhir.nhs.uk/CodeSystem/unique-slot-reference-number'}
          schema:
            index: 23
            elements:
              identifier:
                elements:
                  system:
                    pattern: {type: Uri, value: 'https://fhir.nhs.uk/CodeSystem/unique-slot-reference-number'}
                    index: 24
  specialty:
    binding: {strength: required, valueSet: 'https://fhir.nhs.uk/ValueSet/NHSDataModelAndDictionary-clinical-specialty'}
    index: 18
  start: {short: Appointment Start Date Time, mustSupport: true, index: 20}
  reasonCode: {mustSupport: true, index: 19}
  participant:
    mustSupport: true
    index: 29
    elements:
      actor:
        type: Reference
        constraint:
          participant: {human: An identifier reference or resource reference must be provided, source: 'https://fhir.nhs.uk/StructureDefinition/NHSDigital-Appointment', severity: error, expression: (reference.exists() or identifier.exists())}
        mustSupport: true
        refers: ['https://fhir.nhs.uk/StructureDefinition/NHSDigital-HealthcareService', 'https://fhir.nhs.uk/StructureDefinition/NHSDigital-Location', 'https://fhir.nhs.uk/StructureDefinition/NHSDigital-Patient', 'https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner', 'https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole-Minimal']
        index: 30
        elements:
          identifier:
            elements:
              system: {index: 31}
              value: {index: 32}
            required: [value, system]
    required: [actor]
  serviceType:
    binding: {strength: required, valueSet: 'https://fhir.nhs.uk/ValueSet/NHSDataModelAndDictionary-treatment-function'}
    index: 17
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: 0
      slices:
        requester:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent', index: 1}
          min: 0
          max: 1
  status: {mustSupport: true, index: 7}
  identifier:
    mustSupport: true
    index: 2
    elements:
      system: {index: 3}
      value: {index: 4}
    required: [value, system]
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        providerSlotUSRN:
          match: {system: 'https://fhir.nhs.uk/CodeSystem/unique-slot-reference-number'}
          schema:
            short: Provider Slot USRN
            mustSupport: true
            index: 5
            elements:
              system:
                pattern: {type: Uri, value: 'https://fhir.nhs.uk/CodeSystem/unique-slot-reference-number'}
                index: 6
  basedOn:
    type: Reference
    mustSupport: true
    refers: ['https://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest']
    index: 25
    elements:
      identifier:
        mustSupport: true
        index: 26
        elements:
          system: {index: 27}
          value: {index: 28}
        required: [value, system]
  end: {short: Appointment End Date Time, mustSupport: true, index: 21}
package_version: 2.4.5
extensions:
  requester: {url: 'https://fhir.nhs.uk/StructureDefinition/Extension-Provenance-agent', min: 0, max: 1, type: Extension, index: 1}
class: profile
kind: resource
url: https://fhir.nhs.uk/StructureDefinition/NHSDigital-Appointment
base: https://fhir.hl7.org.uk/StructureDefinition/UKCore-Appointment
version: null
required: [start, end]