PackagesCanonicalsLogsProblems
    Packages
    NHSD.Assets.STU3@1.0.0
    https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ServiceSummaryView-1
description: null
package_name: NHSD.Assets.STU3
derivation: constraint
name: Extension-eRS-ServiceSummaryView-1
type: Extension
elements:
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        referralLetterRequired:
          match: {url: referralLetterRequired}
          schema:
            short: Indicates whether the Service requires a referral letter before they consider a referral to be valid.
            index: 56
            elements:
              url:
                pattern: {type: Uri, value: referralLetterRequired}
                index: 57
              valueBoolean:
                type: boolean
                index: 58
                slicing:
                  slices:
                    valueBoolean:
                      match: {}
                      schema: {type: boolean, _required: true, index: 58}
                      min: 1
            required: [valueBoolean]
        specialty:
          match: {url: specialty}
          schema:
            short: The specialty supported by the Service
            _required: true
            index: 59
            elements:
              url:
                pattern: {type: Uri, value: specialty}
                index: 60
              valueCoding:
                type: Coding
                index: 61
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        type: Coding
                        _required: true
                        index: 61
                        elements:
                          version: {index: 62}
                          code: {index: 63}
                        required: [code]
            required: [valueCoding]
        exclusions:
          match: {url: exclusions}
          schema:
            short: Exclusions
            index: 34
            elements:
              url:
                pattern: {type: Uri, value: exclusions}
                index: 35
              valueString:
                type: string
                index: 36
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, _required: true, index: 36}
                      min: 1
            required: [valueString]
        indicativeTreatmentWaitTime:
          match: {url: indicativeTreatmentWaitTime}
          schema:
            short: Statistical indication of how long Patients have waited before receiving treatment.
            index: 14
            elements:
              url:
                pattern: {type: Uri, value: indicativeTreatmentWaitTime}
                index: 15
              value:
                choices: [valueUnsignedInt, valueCoding]
                index: 17
              valueUnsignedInt: {type: unsignedInt, choiceOf: value, index: 18}
              valueCoding: {type: Coding, choiceOf: value, index: 19}
            required: [valueCoding, value, valueUnsignedInt]
        ageRangeTreated:
          match: {url: ageRangeTreated}
          schema:
            short: Age range treated
            index: 43
            elements:
              url:
                pattern: {type: Uri, value: ageRangeTreated}
                index: 44
              valueRange:
                type: Range
                index: 45
                slicing:
                  slices:
                    valueRange:
                      match: {}
                      schema: {type: Range, _required: true, index: 45}
                      min: 1
            required: [valueRange]
        suggestedInvestigations:
          match: {url: suggestedInvestigations}
          schema:
            short: Suggested Investigations
            index: 37
            elements:
              url:
                pattern: {type: Uri, value: suggestedInvestigations}
                index: 38
              valueString:
                type: string
                index: 39
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, _required: true, index: 39}
                      min: 1
            required: [valueString]
        supportedAppointmentType:
          match: {url: supportedAppointmentType}
          schema:
            short: Supported appointment type
            index: 1
            elements:
              url:
                pattern: {type: Uri, value: supportedAppointmentType}
                index: 2
              valueCoding:
                type: Coding
                index: 3
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        type: Coding
                        _required: true
                        index: 3
                        elements:
                          version: {index: 4}
                          code: {index: 5}
                        required: [code]
            required: [valueCoding]
        conditionsTreated:
          match: {url: conditionsTreated}
          schema:
            short: Conditions treated
            index: 40
            elements:
              url:
                pattern: {type: Uri, value: conditionsTreated}
                index: 41
              valueString:
                type: string
                index: 42
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, _required: true, index: 42}
                      min: 1
            required: [valueString]
        bookableType:
          match: {url: bookableType}
          schema:
            short: Whether the service is Directly or Indirectly Bookable.
            _required: true
            index: 20
            elements:
              url:
                pattern: {type: Uri, value: bookableType}
                index: 21
              valueCoding:
                type: Coding
                index: 22
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        type: Coding
                        _required: true
                        index: 22
                        elements:
                          version: {index: 23}
                          code: {index: 24}
                        required: [code]
            required: [valueCoding]
        serviceName:
          match: {url: serviceName}
          schema:
            short: Name of the service.
            _required: true
            index: 6
            elements:
              url:
                pattern: {type: Uri, value: serviceName}
                index: 7
              valueString:
                type: string
                index: 8
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, _required: true, index: 8}
                      min: 1
            required: [valueString]
        supportedRequestFlowType:
          match: {url: supportedRequestFlowType}
          schema:
            short: Services can support one or two Request Flow Types, but not Triage Request and Appointment Request simultaneously.
            array: true
            min: 1
            max: 2
            _required: true
            index: 9
            elements:
              url:
                pattern: {type: Uri, value: supportedRequestFlowType}
                index: 10
              valueCoding:
                type: Coding
                index: 11
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        type: Coding
                        _required: true
                        index: 11
                        elements:
                          version: {index: 12}
                          code: {index: 13}
                        required: [code]
            required: [valueCoding]
        location:
          match: {url: location}
          schema:
            short: Service location
            _required: true
            index: 28
            elements:
              url:
                pattern: {type: Uri, value: location}
                index: 29
              valueReference:
                type: Reference
                index: 30
                slicing:
                  slices:
                    valueReference:
                      match: {}
                      schema: {type: Reference, _required: true, index: 30}
                      min: 1
            required: [valueReference]
        additionalRequirementSupported:
          match: {url: additionalRequirementSupported}
          schema:
            short: Additional support services provided by the Organisation where the Service is located at.
            array: true
            max: 3
            index: 51
            elements:
              url:
                pattern: {type: Uri, value: additionalRequirementSupported}
                index: 52
              valueCoding:
                type: Coding
                index: 53
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        type: Coding
                        _required: true
                        index: 53
                        elements:
                          version: {index: 54}
                          code: {index: 55}
                        required: [code]
            required: [valueCoding]
        genderTreated:
          match: {url: genderTreated}
          schema:
            short: Gender treated
            _required: true
            index: 46
            elements:
              url:
                pattern: {type: Uri, value: genderTreated}
                index: 47
              valueCoding:
                type: Coding
                index: 48
                slicing:
                  slices:
                    valueCoding:
                      match: {}
                      schema:
                        type: Coding
                        _required: true
                        index: 48
                        elements:
                          version: {index: 49}
                          code: {index: 50}
                        required: [code]
            required: [valueCoding]
        linkToNHSWebsite:
          match: {url: linkToNHSWebsite}
          schema:
            short: Link to NHS website providing information about the Service such as contact details, map, department, facilities and reviews.
            _required: true
            index: 25
            elements:
              url:
                pattern: {type: Uri, value: linkToNHSWebsite}
                index: 26
              valueString:
                type: string
                index: 27
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, _required: true, index: 27}
                      min: 1
            required: [valueString]
        referrerAlert:
          match: {url: referrerAlert}
          schema:
            short: Referrer Alert
            index: 31
            elements:
              url:
                pattern: {type: Uri, value: referrerAlert}
                index: 32
              valueString:
                type: string
                index: 33
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {type: string, _required: true, index: 33}
                      min: 1
            required: [valueString]
  url:
    pattern: {type: Uri, value: 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ServiceSummaryView-1'}
    index: 64
  value:
    choices: []
    index: 66
package_version: 1.0.0
extensions:
  referralLetterRequired:
    url: referralLetterRequired
    short: Indicates whether the Service requires a referral letter before they consider a referral to be valid.
    index: 56
    elements:
      url:
        pattern: {type: Uri, value: referralLetterRequired}
        index: 57
      valueBoolean:
        type: boolean
        index: 58
        slicing:
          slices:
            valueBoolean:
              match: {}
              schema: {type: boolean, _required: true, index: 58}
              min: 1
    required: [valueBoolean]
  specialty:
    url: specialty
    short: The specialty supported by the Service
    _required: true
    index: 59
    elements:
      url:
        pattern: {type: Uri, value: specialty}
        index: 60
      valueCoding:
        type: Coding
        index: 61
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                type: Coding
                _required: true
                index: 61
                elements:
                  version: {index: 62}
                  code: {index: 63}
                required: [code]
    required: [valueCoding]
  exclusions:
    url: exclusions
    short: Exclusions
    index: 34
    elements:
      url:
        pattern: {type: Uri, value: exclusions}
        index: 35
      valueString:
        type: string
        index: 36
        slicing:
          slices:
            valueString:
              match: {}
              schema: {type: string, _required: true, index: 36}
              min: 1
    required: [valueString]
  indicativeTreatmentWaitTime:
    url: indicativeTreatmentWaitTime
    short: Statistical indication of how long Patients have waited before receiving treatment.
    index: 14
    elements:
      url:
        pattern: {type: Uri, value: indicativeTreatmentWaitTime}
        index: 15
      value:
        choices: [valueUnsignedInt, valueCoding]
        index: 17
      valueUnsignedInt: {type: unsignedInt, choiceOf: value, index: 18}
      valueCoding: {type: Coding, choiceOf: value, index: 19}
    required: [valueCoding, value, valueUnsignedInt]
  ageRangeTreated:
    url: ageRangeTreated
    short: Age range treated
    index: 43
    elements:
      url:
        pattern: {type: Uri, value: ageRangeTreated}
        index: 44
      valueRange:
        type: Range
        index: 45
        slicing:
          slices:
            valueRange:
              match: {}
              schema: {type: Range, _required: true, index: 45}
              min: 1
    required: [valueRange]
  suggestedInvestigations:
    url: suggestedInvestigations
    short: Suggested Investigations
    index: 37
    elements:
      url:
        pattern: {type: Uri, value: suggestedInvestigations}
        index: 38
      valueString:
        type: string
        index: 39
        slicing:
          slices:
            valueString:
              match: {}
              schema: {type: string, _required: true, index: 39}
              min: 1
    required: [valueString]
  supportedAppointmentType:
    url: supportedAppointmentType
    short: Supported appointment type
    index: 1
    elements:
      url:
        pattern: {type: Uri, value: supportedAppointmentType}
        index: 2
      valueCoding:
        type: Coding
        index: 3
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                type: Coding
                _required: true
                index: 3
                elements:
                  version: {index: 4}
                  code: {index: 5}
                required: [code]
    required: [valueCoding]
  conditionsTreated:
    url: conditionsTreated
    short: Conditions treated
    index: 40
    elements:
      url:
        pattern: {type: Uri, value: conditionsTreated}
        index: 41
      valueString:
        type: string
        index: 42
        slicing:
          slices:
            valueString:
              match: {}
              schema: {type: string, _required: true, index: 42}
              min: 1
    required: [valueString]
  bookableType:
    url: bookableType
    short: Whether the service is Directly or Indirectly Bookable.
    _required: true
    index: 20
    elements:
      url:
        pattern: {type: Uri, value: bookableType}
        index: 21
      valueCoding:
        type: Coding
        index: 22
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                type: Coding
                _required: true
                index: 22
                elements:
                  version: {index: 23}
                  code: {index: 24}
                required: [code]
    required: [valueCoding]
  serviceName:
    url: serviceName
    short: Name of the service.
    _required: true
    index: 6
    elements:
      url:
        pattern: {type: Uri, value: serviceName}
        index: 7
      valueString:
        type: string
        index: 8
        slicing:
          slices:
            valueString:
              match: {}
              schema: {type: string, _required: true, index: 8}
              min: 1
    required: [valueString]
  supportedRequestFlowType:
    min: 1
    short: Services can support one or two Request Flow Types, but not Triage Request and Appointment Request simultaneously.
    index: 9
    array: true
    elements:
      url:
        pattern: {type: Uri, value: supportedRequestFlowType}
        index: 10
      valueCoding:
        type: Coding
        index: 11
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                type: Coding
                _required: true
                index: 11
                elements:
                  version: {index: 12}
                  code: {index: 13}
                required: [code]
    _required: true
    max: 2
    url: supportedRequestFlowType
    required: [valueCoding]
  location:
    url: location
    short: Service location
    _required: true
    index: 28
    elements:
      url:
        pattern: {type: Uri, value: location}
        index: 29
      valueReference:
        type: Reference
        index: 30
        slicing:
          slices:
            valueReference:
              match: {}
              schema: {type: Reference, _required: true, index: 30}
              min: 1
    required: [valueReference]
  additionalRequirementSupported:
    url: additionalRequirementSupported
    short: Additional support services provided by the Organisation where the Service is located at.
    array: true
    max: 3
    index: 51
    elements:
      url:
        pattern: {type: Uri, value: additionalRequirementSupported}
        index: 52
      valueCoding:
        type: Coding
        index: 53
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                type: Coding
                _required: true
                index: 53
                elements:
                  version: {index: 54}
                  code: {index: 55}
                required: [code]
    required: [valueCoding]
  genderTreated:
    url: genderTreated
    short: Gender treated
    _required: true
    index: 46
    elements:
      url:
        pattern: {type: Uri, value: genderTreated}
        index: 47
      valueCoding:
        type: Coding
        index: 48
        slicing:
          slices:
            valueCoding:
              match: {}
              schema:
                type: Coding
                _required: true
                index: 48
                elements:
                  version: {index: 49}
                  code: {index: 50}
                required: [code]
    required: [valueCoding]
  linkToNHSWebsite:
    url: linkToNHSWebsite
    short: Link to NHS website providing information about the Service such as contact details, map, department, facilities and reviews.
    _required: true
    index: 25
    elements:
      url:
        pattern: {type: Uri, value: linkToNHSWebsite}
        index: 26
      valueString:
        type: string
        index: 27
        slicing:
          slices:
            valueString:
              match: {}
              schema: {type: string, _required: true, index: 27}
              min: 1
    required: [valueString]
  referrerAlert:
    url: referrerAlert
    short: Referrer Alert
    index: 31
    elements:
      url:
        pattern: {type: Uri, value: referrerAlert}
        index: 32
      valueString:
        type: string
        index: 33
        slicing:
          slices:
            valueString:
              match: {}
              schema: {type: string, _required: true, index: 33}
              min: 1
    required: [valueString]
class: extension
kind: complex-type
url: https://fhir.nhs.uk/STU3/StructureDefinition/Extension-eRS-ServiceSummaryView-1
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 1.0.0