From DailyOnCallSyncerSettings.schema.yaml (jarvisv2/DailyOnCallSyncerSettings.schema
)
---
$defs:
OfficeHours:
properties:
public_holidays:
description: The list of public holidays.
items:
format: date
type: string
title: Public Holidays
type: array
saturday:
anyOf:
- $ref: '#/$defs/ShiftTimes'
- const: inactive
type: string
description: The office hours for Saturday.
title: Saturday
sunday_or_public_holiday:
anyOf:
- $ref: '#/$defs/ShiftTimes'
- const: inactive
type: string
description: The office hours for Sunday/Public Holiday.
title: Sunday Or Public Holiday
weekday:
anyOf:
- $ref: '#/$defs/ShiftTimes'
- const: inactive
type: string
description: The office hours for weekdays.
title: Weekday
required: [weekday, saturday, sunday_or_public_holiday]
title: OfficeHours
type: object
RosterOverride:
description: Define overrides for specific rosters.
properties:
department:
description: Department that match will be overridden.
title: Department
type: string
override_department:
anyOf:
- type: string
- type: 'null'
default: null
description: Override the department with this.
title: Override Department
override_role:
anyOf:
- type: string
- type: 'null'
default: null
description: Override the role with this.
title: Override Role
override_role_notes:
anyOf:
- type: string
- type: 'null'
default: null
description: Override the roster notes with this.
title: Override Role Notes
override_roster_notes:
anyOf:
- type: string
- type: 'null'
default: null
description: Override the roster notes with this.
title: Override Roster Notes
override_roster_title:
anyOf:
- type: string
- type: 'null'
default: null
description: Override the roster title with this.
title: Override Roster Title
role:
anyOf:
- type: string
- type: 'null'
default: null
description: Role that match will be overridden.
title: Role
roster_title:
anyOf:
- type: string
- type: 'null'
default: null
description: Roster title that match will be overridden.
title: Roster Title
saturday:
anyOf:
- $ref: '#/$defs/ShiftTimes'
- const: inactive
type: string
- type: 'null'
default: null
description: The office hours for Saturday.
title: Saturday
sunday_or_public_holiday:
anyOf:
- $ref: '#/$defs/ShiftTimes'
- const: inactive
type: string
- type: 'null'
default: null
description: The office hours for Sunday/Public Holiday.
title: Sunday Or Public Holiday
weekday:
anyOf:
- $ref: '#/$defs/ShiftTimes'
- const: inactive
type: string
- type: 'null'
default: null
description: The office hours for weekdays.
title: Weekday
required: [department]
title: Roster Override
type: object
ShiftTimes:
description: Define start and end times for office hours.
properties:
end:
default: '17:00:00'
description: The end time of the office hours.
format: time
title: End Time
type: string
start:
default: 08:00:00
description: The start time of the office hours.
format: time
title: Start Time
type: string
title: Start And End Times
type: object
$id: https://skeleton.botmd.io/jarvisv2/DailyOnCallSyncerSettings.schema
$schema: http://json-schema.org/draft-07/schema#
description: Settings for syncing HMS Daily on Call rosters.
properties:
office_hours:
$ref: '#/$defs/OfficeHours'
description: The office hours for the rosters (which can be overridden for individual
rosters). This will be localized to the `timezone` defined for the roster.
title: Office Hours
output_csv:
anyOf:
- type: string
- type: 'null'
default: null
description: Output the parsed roster to a CSV file. This is a path from within
Rosters storage.
title: Output CSV
parser_variant:
default: default
description: The variant of the parser to use.
enum: [default, ktph]
title: Parser Variant
type: string
phone_number_countries:
description: The list of countries to guess the phone number from when normalizing.
items:
type: string
minItems: 1
title: Phone Number Countries
type: array
roster_date_override:
anyOf:
- format: date
type: string
- type: 'null'
default: null
description: Override the roster date with this date. This is mostly used for
development and testing.
title: Roster Date Override
roster_overrides:
description: Overrides for office hours and various metadata for specific rosters.
items:
$ref: '#/$defs/RosterOverride'
title: Roster Overrides
type: array
source_path:
description: Where the HTML source is located. This is a path from within Rosters
storage.
minLength: 1
title: Source Path
type: string
syncer_id:
description: Unique name identifying this syncer.
title: Syncer ID
type: string
tenants:
anyOf:
- anyOf:
- description: The `cleo` app tenant applicable to this object.
pattern: ^cleo\:[a-zA-Z0-9][\w\-\_]*$
title: Cleo Tenant
type: string
- description: The `hospital` app tenant applicable to this object.
pattern: ^hospital\:[a-zA-Z0-9][\w\-\_]*$
title: Hospital Tenant
type: string
description: The tenant applicable to this object. This must be one specific
tenant and not any of the `__all__ alternatives.
title: Tenant
- const: __all__
description: A literal to represent all tenants.
title: All Tenants
type: string
- const: cleo:__all__
description: A literal to represent all cleo app tenants.
title: Cleo All Tenant
type: string
- const: hospital:__all__
description: A literal to represent all hospital app tenants.
title: Hospital All Tenant
type: string
- description: A list of tenants.
items:
anyOf:
- anyOf:
- description: The `cleo` app tenant applicable to this object.
pattern: ^cleo\:[a-zA-Z0-9][\w\-\_]*$
title: Cleo Tenant
type: string
- description: The `hospital` app tenant applicable to this object.
pattern: ^hospital\:[a-zA-Z0-9][\w\-\_]*$
title: Hospital Tenant
type: string
description: The tenant applicable to this object. This must be one specific
tenant and not any of the `__all__ alternatives.
title: Tenant
- const: __all__
description: A literal to represent all tenants.
title: All Tenants
type: string
- const: cleo:__all__
description: A literal to represent all cleo app tenants.
title: Cleo All Tenant
type: string
- const: hospital:__all__
description: A literal to represent all hospital app tenants.
title: Hospital All Tenant
type: string
minItems: 1
title: Tenant List
type: array
default: [__all__]
description: The tenant that this object is applicable for. Defaults to all tenants.
title: Tenants
timezone:
description: The timezone of the roster.
title: Timezone
type: string
type:
const: hms-dailyoncall
default: hms-dailyoncall
title: Type
type: string
updated_on_override:
anyOf:
- format: date-time
type: string
- type: 'null'
default: null
description: Override the updated on date with this date. This is mostly used
for development and testing.
title: Updated On Override
required: [syncer_id, source_path, phone_number_countries, office_hours]
title: Daily On Call Syncer Settings
type: object