description: 'Grouped characteristics for a HealthcareService: Scheduling, API and Security.' 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 required: [system] 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 required: [system] required: [value, valueCodeableConcept] url: pattern: {type: Uri, value: scheduling} index: 27 value: choices: [] index: 29 workflow: match: {} schema: index: 30 extensions: deviceBookingAvailable: url: null index: 31 extensions: {} elements: extension: {index: 32} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 33 value: choices: [] index: 35 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] _required: true index: 37 min: 1 max: 1 valueBoolean: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. type: boolean choiceOf: value index: 38 slicing: slices: valueBoolean: match: {} schema: {short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', type: boolean, _required: true, choiceOf: value, index: 38} min: 1 max: 1 required: [value, valueBoolean] healthcareServiceAvailable: url: null index: 39 extensions: {} elements: extension: {index: 40} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 41 value: choices: [] index: 43 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] _required: true index: 45 min: 1 max: 1 valueBoolean: type: boolean short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choiceOf: value index: 46 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, _required: true, index: 46} min: 1 max: 1 required: [value, valueBoolean] elements: extension: index: 31 slicing: slices: deviceBookingAvailable: match: {} schema: index: 31 extensions: {} elements: extension: {index: 32} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 33 value: choices: [] index: 35 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] _required: true index: 37 min: 1 max: 1 valueBoolean: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. type: boolean choiceOf: value index: 38 slicing: slices: valueBoolean: match: {} schema: {short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', type: boolean, _required: true, choiceOf: value, index: 38} min: 1 max: 1 required: [value, valueBoolean] healthcareServiceAvailable: match: {} schema: index: 39 extensions: {} elements: extension: {index: 40} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 41 value: choices: [] index: 43 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] _required: true index: 45 min: 1 max: 1 valueBoolean: type: boolean short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choiceOf: value index: 46 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, _required: true, index: 46} min: 1 max: 1 required: [value, valueBoolean] url: pattern: {type: Uri, value: workflow} index: 47 value: choices: [] index: 49 security: match: {} schema: index: 50 extensions: requiresNativeIdPLogin: url: null index: 51 extensions: {} elements: extension: {index: 52} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 53 value: choices: [] index: 55 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueBoolean: match: {} schema: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 57 min: 0 max: 1 valueBoolean: type: boolean short: Identity provider used for patient login (e.g., BankID). choiceOf: value index: 58 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 58} min: 0 max: 1 elements: extension: index: 51 slicing: slices: requiresNativeIdPLogin: match: {} schema: index: 51 extensions: {} elements: extension: {index: 52} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 53 value: choices: [] index: 55 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueBoolean: match: {} schema: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 57 min: 0 max: 1 valueBoolean: type: boolean short: Identity provider used for patient login (e.g., BankID). choiceOf: value index: 58 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 58} min: 0 max: 1 url: pattern: {type: Uri, value: security} index: 59 value: choices: [] index: 61 url: pattern: {type: Uri, value: 'http://canonical.fhir.link/servicewell/wof-connect/StructureDefinition/wofconnect-characteristic'} index: 62 value: choices: [] index: 64 package_version: 0.1.1 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 required: [system] 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 required: [system] required: [value, valueCodeableConcept] url: pattern: {type: Uri, value: scheduling} index: 27 value: choices: [] index: 29 workflow: url: null index: 30 extensions: deviceBookingAvailable: url: null index: 31 extensions: {} elements: extension: {index: 32} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 33 value: choices: [] index: 35 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] _required: true index: 37 min: 1 max: 1 valueBoolean: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. type: boolean choiceOf: value index: 38 slicing: slices: valueBoolean: match: {} schema: {short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', type: boolean, _required: true, choiceOf: value, index: 38} min: 1 max: 1 required: [value, valueBoolean] healthcareServiceAvailable: url: null index: 39 extensions: {} elements: extension: {index: 40} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 41 value: choices: [] index: 43 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] _required: true index: 45 min: 1 max: 1 valueBoolean: type: boolean short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choiceOf: value index: 46 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, _required: true, index: 46} min: 1 max: 1 required: [value, valueBoolean] elements: extension: index: 31 slicing: slices: deviceBookingAvailable: match: {} schema: index: 31 extensions: {} elements: extension: {index: 32} url: pattern: {type: Uri, value: deviceBookingAvailable} index: 33 value: choices: [] index: 35 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. choices: [valueBoolean] _required: true index: 37 min: 1 max: 1 valueBoolean: short: Indicates that devices (e.g., dental chairs) are directly bookable resources. type: boolean choiceOf: value index: 38 slicing: slices: valueBoolean: match: {} schema: {short: 'Indicates that devices (e.g., dental chairs) are directly bookable resources.', type: boolean, _required: true, choiceOf: value, index: 38} min: 1 max: 1 required: [value, valueBoolean] healthcareServiceAvailable: match: {} schema: index: 39 extensions: {} elements: extension: {index: 40} url: pattern: {type: Uri, value: healthcareServiceAvailable} index: 41 value: choices: [] index: 43 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: 1 slices: valueBoolean: match: {} schema: short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choices: [valueBoolean] _required: true index: 45 min: 1 max: 1 valueBoolean: type: boolean short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules. choiceOf: value index: 46 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: Indicates whether the source PMS provides first-class HealthcareService entities with booking rules., choiceOf: value, _required: true, index: 46} min: 1 max: 1 required: [value, valueBoolean] url: pattern: {type: Uri, value: workflow} index: 47 value: choices: [] index: 49 security: url: null index: 50 extensions: requiresNativeIdPLogin: url: null index: 51 extensions: {} elements: extension: {index: 52} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 53 value: choices: [] index: 55 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueBoolean: match: {} schema: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 57 min: 0 max: 1 valueBoolean: type: boolean short: Identity provider used for patient login (e.g., BankID). choiceOf: value index: 58 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 58} min: 0 max: 1 elements: extension: index: 51 slicing: slices: requiresNativeIdPLogin: match: {} schema: index: 51 extensions: {} elements: extension: {index: 52} url: pattern: {type: Uri, value: requiresNativeIdPLogin} index: 53 value: choices: [] index: 55 slicing: rules: open ordered: false discriminator: - {path: $this, type: type} min: null slices: valueBoolean: match: {} schema: short: Identity provider used for patient login (e.g., BankID). choices: [valueBoolean] index: 57 min: 0 max: 1 valueBoolean: type: boolean short: Identity provider used for patient login (e.g., BankID). choiceOf: value index: 58 slicing: slices: valueBoolean: match: {} schema: {type: boolean, short: 'Identity provider used for patient login (e.g., BankID).', choiceOf: value, index: 58} min: 0 max: 1 url: pattern: {type: Uri, value: security} index: 59 value: choices: [] index: 61 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.1 required: [extension]