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-connect derivation: constraint name: WofConnectCharacteristic type: Extension elements: extension: index: 0 slicing: slices: scheduling: match: {} schema: 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-connect/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic'} index: 27 required: [system, code] required: [value, valueCodeableConcept] 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-connect/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic'} index: 27 required: [system, code] required: [value, valueCodeableConcept] url: pattern: {type: Uri, value: scheduling} index: 28 value: choices: [] index: 30 workflow: match: {} schema: index: 31 extensions: deviceBookingAvailable: url: null index: 32 extensions: {} elements: extension: {index: 33} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 34 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 36 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 37} required: [value, valueBoolean] healthcareServiceAvailable: url: null index: 38 extensions: {} elements: extension: {index: 39} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 40 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 42 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 43} required: [value, valueBoolean] elements: extension: index: 32 slicing: slices: deviceBookingAvailable: match: {} schema: index: 32 extensions: {} elements: extension: {index: 33} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 34 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 36 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 37} required: [value, valueBoolean] healthcareServiceAvailable: match: {} schema: index: 38 extensions: {} elements: extension: {index: 39} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 40 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 42 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 43} required: [value, valueBoolean] url: pattern: {type: Uri, value: workflow} index: 44 value: choices: [] index: 46 security: match: {} schema: index: 47 extensions: requiresNativeIdPLogin: url: null index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 50 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 52 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 53} elements: extension: index: 48 slicing: slices: requiresNativeIdPLogin: match: {} schema: index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 50 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 52 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 53} url: pattern: {type: Uri, value: security} index: 54 value: choices: [] index: 56 url: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/wofconnect-characteristic'} index: 57 value: choices: [] index: 59 package_version: 0.1.3 extensions: scheduling: url: null 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-connect/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic'} index: 27 required: [system, code] required: [value, valueCodeableConcept] 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-connect/CodeSystem/wc-characteristic'} index: 26 code: binding: {strength: required, valueSet: 'http://canonical.fhir.link/servicewell/wof-connect/ValueSet/wc-characteristic'} index: 27 required: [system, code] required: [value, valueCodeableConcept] url: pattern: {type: Uri, value: scheduling} index: 28 value: choices: [] index: 30 workflow: url: null index: 31 extensions: deviceBookingAvailable: url: null index: 32 extensions: {} elements: extension: {index: 33} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 34 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 36 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 37} required: [value, valueBoolean] healthcareServiceAvailable: url: null index: 38 extensions: {} elements: extension: {index: 39} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 40 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 42 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 43} required: [value, valueBoolean] elements: extension: index: 32 slicing: slices: deviceBookingAvailable: match: {} schema: index: 32 extensions: {} elements: extension: {index: 33} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 34 value: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] index: 36 valueBoolean: {type: boolean, short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', choiceOf: value, index: 37} required: [value, valueBoolean] healthcareServiceAvailable: match: {} schema: index: 38 extensions: {} elements: extension: {index: 39} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 40 value: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] index: 42 valueBoolean: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, index: 43} required: [value, valueBoolean] url: pattern: {type: Uri, value: workflow} index: 44 value: choices: [] index: 46 security: url: null index: 47 extensions: requiresNativeIdPLogin: url: null index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 50 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 52 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 53} elements: extension: index: 48 slicing: slices: requiresNativeIdPLogin: match: {} schema: index: 48 extensions: {} elements: extension: {index: 49} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 50 value: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 52 valueBoolean: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 53} url: pattern: {type: Uri, value: security} index: 54 value: choices: [] index: 56 class: extension kind: complex-type url: http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/wofconnect-characteristic base: http://hl7.org/fhir/StructureDefinition/Extension version: 0.1.3 required: [extension]