PackagesCanonicalsLogsProblems
    Packages
    servicewell.fhir.wof-portal@1.0.0
    http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/ext-booking-rules
description: Container extension for booking rules that govern cancellation, rescheduling, age limits, and minimum advance booking time.\n\nThis extension is designed to be reusable across multiple WOF Portal resources, including healthcare services and organization-level configurations such as service providers.
package_name: servicewell.fhir.wof-portal
derivation: constraint
name: BookingRules
type: Extension
elements:
  extension:
    short: Hours after registration when cancellation remains allowed
    index: 0
    slicing:
      slices:
        allowCancellationAfterRegistrationHours:
          match: {}
          schema:
            short: Hours after registration when cancellation remains allowed
            index: 0
            extensions: {}
            elements:
              extension: {index: 1}
              url:
                pattern: {type: Uri, value: allowCancellationAfterRegistrationHours}
                index: 2
              value:
                choices: [valueInteger]
                index: 4
              valueInteger: {type: integer, choiceOf: value, index: 5}
        allowCancellationRemainingHours:
          match: {}
          schema:
            short: Remaining hours before start when cancellation is allowed
            index: 6
            extensions: {}
            elements:
              extension: {index: 7}
              url:
                pattern: {type: Uri, value: allowCancellationRemainingHours}
                index: 8
              value:
                choices: [valueInteger]
                index: 10
              valueInteger: {type: integer, choiceOf: value, index: 11}
        allowRescheduleAfterRegistrationHours:
          match: {}
          schema:
            short: Hours after registration when rescheduling remains allowed
            index: 12
            extensions: {}
            elements:
              extension: {index: 13}
              url:
                pattern: {type: Uri, value: allowRescheduleAfterRegistrationHours}
                index: 14
              value:
                choices: [valueInteger]
                index: 16
              valueInteger: {type: integer, choiceOf: value, index: 17}
        allowRescheduleRemainingHours:
          match: {}
          schema:
            short: Remaining hours before start when rescheduling is allowed
            index: 18
            extensions: {}
            elements:
              extension: {index: 19}
              url:
                pattern: {type: Uri, value: allowRescheduleRemainingHours}
                index: 20
              value:
                choices: [valueInteger]
                index: 22
              valueInteger: {type: integer, choiceOf: value, index: 23}
        cancellationAllowed:
          match: {}
          schema:
            short: Whether cancellation is allowed
            index: 24
            extensions: {}
            elements:
              extension: {index: 25}
              url:
                pattern: {type: Uri, value: cancellationAllowed}
                index: 26
              value:
                choices: [valueBoolean]
                index: 28
              valueBoolean: {type: boolean, choiceOf: value, index: 29}
        reschedulingAllowed:
          match: {}
          schema:
            short: Whether rescheduling is allowed
            index: 30
            extensions: {}
            elements:
              extension: {index: 31}
              url:
                pattern: {type: Uri, value: reschedulingAllowed}
                index: 32
              value:
                choices: [valueBoolean]
                index: 34
              valueBoolean: {type: boolean, choiceOf: value, index: 35}
        minimumPatientAgeYears:
          match: {}
          schema:
            short: Minimum patient age in years
            index: 36
            extensions: {}
            elements:
              extension: {index: 37}
              url:
                pattern: {type: Uri, value: minimumPatientAgeYears}
                index: 38
              value:
                choices: [valuePositiveInt]
                index: 40
              valuePositiveInt: {type: positiveInt, choiceOf: value, index: 41}
        minimumAdvanceBookingMinutes:
          match: {}
          schema:
            short: Minimum advance booking time in minutes
            index: 42
            extensions: {}
            elements:
              extension: {index: 43}
              url:
                pattern: {type: Uri, value: minimumAdvanceBookingMinutes}
                index: 44
              value:
                choices: [valueInteger]
                index: 46
              valueInteger: {type: integer, choiceOf: value, index: 47}
  url:
    pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/ext-booking-rules'}
    index: 48
  value:
    choices: []
    index: 50
package_version: 1.0.0
extensions:
  allowCancellationAfterRegistrationHours:
    url: null
    short: Hours after registration when cancellation remains allowed
    index: 0
    extensions: {}
    elements:
      extension: {index: 1}
      url:
        pattern: {type: Uri, value: allowCancellationAfterRegistrationHours}
        index: 2
      value:
        choices: [valueInteger]
        index: 4
      valueInteger: {type: integer, choiceOf: value, index: 5}
  allowCancellationRemainingHours:
    url: null
    short: Remaining hours before start when cancellation is allowed
    index: 6
    extensions: {}
    elements:
      extension: {index: 7}
      url:
        pattern: {type: Uri, value: allowCancellationRemainingHours}
        index: 8
      value:
        choices: [valueInteger]
        index: 10
      valueInteger: {type: integer, choiceOf: value, index: 11}
  allowRescheduleAfterRegistrationHours:
    url: null
    short: Hours after registration when rescheduling remains allowed
    index: 12
    extensions: {}
    elements:
      extension: {index: 13}
      url:
        pattern: {type: Uri, value: allowRescheduleAfterRegistrationHours}
        index: 14
      value:
        choices: [valueInteger]
        index: 16
      valueInteger: {type: integer, choiceOf: value, index: 17}
  allowRescheduleRemainingHours:
    url: null
    short: Remaining hours before start when rescheduling is allowed
    index: 18
    extensions: {}
    elements:
      extension: {index: 19}
      url:
        pattern: {type: Uri, value: allowRescheduleRemainingHours}
        index: 20
      value:
        choices: [valueInteger]
        index: 22
      valueInteger: {type: integer, choiceOf: value, index: 23}
  cancellationAllowed:
    url: null
    short: Whether cancellation is allowed
    index: 24
    extensions: {}
    elements:
      extension: {index: 25}
      url:
        pattern: {type: Uri, value: cancellationAllowed}
        index: 26
      value:
        choices: [valueBoolean]
        index: 28
      valueBoolean: {type: boolean, choiceOf: value, index: 29}
  reschedulingAllowed:
    url: null
    short: Whether rescheduling is allowed
    index: 30
    extensions: {}
    elements:
      extension: {index: 31}
      url:
        pattern: {type: Uri, value: reschedulingAllowed}
        index: 32
      value:
        choices: [valueBoolean]
        index: 34
      valueBoolean: {type: boolean, choiceOf: value, index: 35}
  minimumPatientAgeYears:
    url: null
    short: Minimum patient age in years
    index: 36
    extensions: {}
    elements:
      extension: {index: 37}
      url:
        pattern: {type: Uri, value: minimumPatientAgeYears}
        index: 38
      value:
        choices: [valuePositiveInt]
        index: 40
      valuePositiveInt: {type: positiveInt, choiceOf: value, index: 41}
  minimumAdvanceBookingMinutes:
    url: null
    short: Minimum advance booking time in minutes
    index: 42
    extensions: {}
    elements:
      extension: {index: 43}
      url:
        pattern: {type: Uri, value: minimumAdvanceBookingMinutes}
        index: 44
      value:
        choices: [valueInteger]
        index: 46
      valueInteger: {type: integer, choiceOf: value, index: 47}
class: extension
kind: complex-type
url: http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/ext-booking-rules
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 1.0.0