description: 'Composite extension structuring key characteristics for HealthcareService and Appointment.\n Contains three main areas: \n - ''scheduling'' (booking rules and availability), \n - ''workflow'' (API and resource functionality), \n - ''security'' (security requirements, e.g., login). \n\n Enables standardized and machine-readable communication of clinic booking policies, API capabilities, and security level.' package_name: servicewell.fhir.wof-portal derivation: constraint name: WofBaseCharacteristic type: Extension elements: extension: index: 0 slicing: slices: scheduling: match: {} schema: short: Scheduling capability container index: 1 extensions: childPatientThreshold: url: null index: 2 extensions: {} elements: extension: {index: 3} url: pattern: {type: Uri, value: childPatientThreshold} index: 4 value: short: Upper age limit (in years) for booking as a child patient. maxValueInteger: 100 minValueInteger: 0 choices: [valueInteger] index: 6 valueInteger: {type: integer, short: Upper age limit (in years) for booking as a child patient., maxValueInteger: 100, minValueInteger: 0, choiceOf: value, index: 7} minChangeHours: url: null index: 8 extensions: {} elements: extension: {index: 9} url: pattern: {type: Uri, value: minChangeHours} index: 10 value: short: Number of hours before appointment start after which changes are no longer allowed. choices: [valueInteger] index: 12 valueInteger: {type: integer, short: Number of hours before appointment start after which changes are no longer allowed., choiceOf: value, index: 13} webReschedulingCountAllowed: url: null index: 14 extensions: {} elements: extension: {index: 15} url: pattern: {type: Uri, value: webReschedulingCountAllowed} index: 16 value: short: Number of allowed reschedulings for this appointment. choices: [valueInteger] index: 18 valueInteger: {type: integer, short: Number of allowed reschedulings for this appointment., choiceOf: value, index: 19} schedulingAvailability: url: null index: 20 extensions: {} elements: extension: {index: 21} url: pattern: {type: Uri, value: schedulingAvailability} index: 22 value: short: Clinic-level scheduling capabilities, such as cancellation and rescheduling availability. choices: [valueCodeableConcept] index: 24 valueCodeableConcept: {type: CodeableConcept, short: 'Clinic-level scheduling capabilities, such as cancellation and rescheduling availability.', choiceOf: value, index: 25} value[x]: elements: coding: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-schedule'} index: 27 required: [system, code] required: [value, valueCodeableConcept] bookingConfirmation: url: null array: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: bookingConfirmation} index: 30 value: short: Booking confirmation method choices: [valueCoding] index: 32 valueCoding: {type: Coding, short: Booking confirmation method, choiceOf: value, index: 33} value[x]: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 34 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-booking-confirmation'} index: 35 required: [system] elements: extension: index: 2 slicing: slices: childPatientThreshold: match: {} schema: index: 2 extensions: {} elements: extension: {index: 3} url: pattern: {type: Uri, value: childPatientThreshold} index: 4 value: short: Upper age limit (in years) for booking as a child patient. maxValueInteger: 100 minValueInteger: 0 choices: [valueInteger] index: 6 valueInteger: {type: integer, short: Upper age limit (in years) for booking as a child patient., maxValueInteger: 100, minValueInteger: 0, choiceOf: value, index: 7} minChangeHours: match: {} schema: index: 8 extensions: {} elements: extension: {index: 9} url: pattern: {type: Uri, value: minChangeHours} index: 10 value: short: Number of hours before appointment start after which changes are no longer allowed. choices: [valueInteger] index: 12 valueInteger: {type: integer, short: Number of hours before appointment start after which changes are no longer allowed., choiceOf: value, index: 13} webReschedulingCountAllowed: match: {} schema: index: 14 extensions: {} elements: extension: {index: 15} url: pattern: {type: Uri, value: webReschedulingCountAllowed} index: 16 value: short: Number of allowed reschedulings for this appointment. choices: [valueInteger] index: 18 valueInteger: {type: integer, short: Number of allowed reschedulings for this appointment., choiceOf: value, index: 19} schedulingAvailability: match: {} schema: index: 20 extensions: {} elements: extension: {index: 21} url: pattern: {type: Uri, value: schedulingAvailability} index: 22 value: short: Clinic-level scheduling capabilities, such as cancellation and rescheduling availability. choices: [valueCodeableConcept] index: 24 valueCodeableConcept: {type: CodeableConcept, short: 'Clinic-level scheduling capabilities, such as cancellation and rescheduling availability.', choiceOf: value, index: 25} value[x]: elements: coding: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-schedule'} index: 27 required: [system, code] required: [value, valueCodeableConcept] bookingConfirmation: match: {} schema: array: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: bookingConfirmation} index: 30 value: short: Booking confirmation method choices: [valueCoding] index: 32 valueCoding: {type: Coding, short: Booking confirmation method, choiceOf: value, index: 33} value[x]: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 34 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-booking-confirmation'} index: 35 required: [system] url: pattern: {type: Uri, value: scheduling} index: 36 value: choices: [] index: 38 workflow: match: {} schema: short: Workflow capability container index: 39 extensions: deviceBookingAvailable: url: null index: 40 extensions: {} elements: extension: {index: 41} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 42 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 44 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 45} required: [value, valueBoolean] healthcareServiceAvailable: url: null index: 46 extensions: {} elements: extension: {index: 47} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 48 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 50 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 51} required: [value, valueBoolean] elements: extension: index: 40 slicing: slices: deviceBookingAvailable: match: {} schema: index: 40 extensions: {} elements: extension: {index: 41} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 42 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 44 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 45} required: [value, valueBoolean] healthcareServiceAvailable: match: {} schema: index: 46 extensions: {} elements: extension: {index: 47} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 48 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 50 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 51} required: [value, valueBoolean] url: pattern: {type: Uri, value: workflow} index: 52 value: choices: [] index: 54 security: match: {} schema: short: Security capability container index: 55 extensions: requiresNativeIdPLogin: url: null index: 56 extensions: {} elements: extension: {index: 57} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 58 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 60 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 61} elements: extension: index: 56 slicing: slices: requiresNativeIdPLogin: match: {} schema: index: 56 extensions: {} elements: extension: {index: 57} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 58 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 60 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 61} url: pattern: {type: Uri, value: security} index: 62 value: choices: [] index: 64 url: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/wofconnect-characteristic'} index: 65 value: choices: [] index: 67 package_version: 1.0.0 extensions: scheduling: url: null short: Scheduling capability container index: 1 extensions: childPatientThreshold: url: null index: 2 extensions: {} elements: extension: {index: 3} url: pattern: {type: Uri, value: childPatientThreshold} index: 4 value: short: Upper age limit (in years) for booking as a child patient. maxValueInteger: 100 minValueInteger: 0 choices: [valueInteger] index: 6 valueInteger: {type: integer, short: Upper age limit (in years) for booking as a child patient., maxValueInteger: 100, minValueInteger: 0, choiceOf: value, index: 7} minChangeHours: url: null index: 8 extensions: {} elements: extension: {index: 9} url: pattern: {type: Uri, value: minChangeHours} index: 10 value: short: Number of hours before appointment start after which changes are no longer allowed. choices: [valueInteger] index: 12 valueInteger: {type: integer, short: Number of hours before appointment start after which changes are no longer allowed., choiceOf: value, index: 13} webReschedulingCountAllowed: url: null index: 14 extensions: {} elements: extension: {index: 15} url: pattern: {type: Uri, value: webReschedulingCountAllowed} index: 16 value: short: Number of allowed reschedulings for this appointment. choices: [valueInteger] index: 18 valueInteger: {type: integer, short: Number of allowed reschedulings for this appointment., choiceOf: value, index: 19} schedulingAvailability: url: null index: 20 extensions: {} elements: extension: {index: 21} url: pattern: {type: Uri, value: schedulingAvailability} index: 22 value: short: Clinic-level scheduling capabilities, such as cancellation and rescheduling availability. choices: [valueCodeableConcept] index: 24 valueCodeableConcept: {type: CodeableConcept, short: 'Clinic-level scheduling capabilities, such as cancellation and rescheduling availability.', choiceOf: value, index: 25} value[x]: elements: coding: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-schedule'} index: 27 required: [system, code] required: [value, valueCodeableConcept] bookingConfirmation: url: null array: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: bookingConfirmation} index: 30 value: short: Booking confirmation method choices: [valueCoding] index: 32 valueCoding: {type: Coding, short: Booking confirmation method, choiceOf: value, index: 33} value[x]: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 34 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-booking-confirmation'} index: 35 required: [system] elements: extension: index: 2 slicing: slices: childPatientThreshold: match: {} schema: index: 2 extensions: {} elements: extension: {index: 3} url: pattern: {type: Uri, value: childPatientThreshold} index: 4 value: short: Upper age limit (in years) for booking as a child patient. maxValueInteger: 100 minValueInteger: 0 choices: [valueInteger] index: 6 valueInteger: {type: integer, short: Upper age limit (in years) for booking as a child patient., maxValueInteger: 100, minValueInteger: 0, choiceOf: value, index: 7} minChangeHours: match: {} schema: index: 8 extensions: {} elements: extension: {index: 9} url: pattern: {type: Uri, value: minChangeHours} index: 10 value: short: Number of hours before appointment start after which changes are no longer allowed. choices: [valueInteger] index: 12 valueInteger: {type: integer, short: Number of hours before appointment start after which changes are no longer allowed., choiceOf: value, index: 13} webReschedulingCountAllowed: match: {} schema: index: 14 extensions: {} elements: extension: {index: 15} url: pattern: {type: Uri, value: webReschedulingCountAllowed} index: 16 value: short: Number of allowed reschedulings for this appointment. choices: [valueInteger] index: 18 valueInteger: {type: integer, short: Number of allowed reschedulings for this appointment., choiceOf: value, index: 19} schedulingAvailability: match: {} schema: index: 20 extensions: {} elements: extension: {index: 21} url: pattern: {type: Uri, value: schedulingAvailability} index: 22 value: short: Clinic-level scheduling capabilities, such as cancellation and rescheduling availability. choices: [valueCodeableConcept] index: 24 valueCodeableConcept: {type: CodeableConcept, short: 'Clinic-level scheduling capabilities, such as cancellation and rescheduling availability.', choiceOf: value, index: 25} value[x]: elements: coding: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-schedule'} index: 27 required: [system, code] required: [value, valueCodeableConcept] bookingConfirmation: match: {} schema: array: true index: 28 extensions: {} elements: extension: {index: 29} url: pattern: {type: Uri, value: bookingConfirmation} index: 30 value: short: Booking confirmation method choices: [valueCoding] index: 32 valueCoding: {type: Coding, short: Booking confirmation method, choiceOf: value, index: 33} value[x]: elements: system: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-base/CodeSystem/wc-characteristic'} index: 34 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic-booking-confirmation'} index: 35 required: [system] url: pattern: {type: Uri, value: scheduling} index: 36 value: choices: [] index: 38 workflow: url: null short: Workflow capability container index: 39 extensions: deviceBookingAvailable: url: null index: 40 extensions: {} elements: extension: {index: 41} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 42 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 44 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 45} required: [value, valueBoolean] healthcareServiceAvailable: url: null index: 46 extensions: {} elements: extension: {index: 47} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 48 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 50 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 51} required: [value, valueBoolean] elements: extension: index: 40 slicing: slices: deviceBookingAvailable: match: {} schema: index: 40 extensions: {} elements: extension: {index: 41} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 42 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 44 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 45} required: [value, valueBoolean] healthcareServiceAvailable: match: {} schema: index: 46 extensions: {} elements: extension: {index: 47} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 48 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 50 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 51} required: [value, valueBoolean] url: pattern: {type: Uri, value: workflow} index: 52 value: choices: [] index: 54 security: url: null short: Security capability container index: 55 extensions: requiresNativeIdPLogin: url: null index: 56 extensions: {} elements: extension: {index: 57} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 58 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 60 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 61} elements: extension: index: 56 slicing: slices: requiresNativeIdPLogin: match: {} schema: index: 56 extensions: {} elements: extension: {index: 57} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 58 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 60 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 61} url: pattern: {type: Uri, value: security} index: 62 value: choices: [] index: 64 class: extension kind: complex-type url: http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/wofconnect-characteristic base: http://hl7.org/fhir/StructureDefinition/Extension version: 1.0.0 required: [extension]