UNPKG

@synanetics/types

Version:
122 lines 3.86 kB
import { BackboneElement, DomainResource, Identifier, Reference } from 'fhir/r3.js'; export interface ScheduleDefinitionOccurrenceDaysDuration extends BackboneElement { /** * The duration (length) of the slot in minutes or hours */ length: number; /** * The unit of time expressed as minutes or hours */ quantity: 'minute' | 'hour'; } export interface ScheduleDefinitionOccurrenceDaysTime extends BackboneElement { /** * The hour at which the first slot starts */ hour: number; /** * The minute at which the first slot starts */ minute: number; } export interface ScheduleDefinitionOccurrenceDays extends BackboneElement { /** * The days of the week that a schedule will have slots available */ day: 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; /** * Defines the time of the first slot */ start: ScheduleDefinitionOccurrenceDaysTime; /** * Defines the time of the end of the last slot */ end: ScheduleDefinitionOccurrenceDaysTime; /** * Defines the duration of a slot */ duration: ScheduleDefinitionOccurrenceDaysDuration; /** * Defines the gap (duration) between two slots */ gap?: ScheduleDefinitionOccurrenceDaysDuration; /** * How an appointment booked into this slot will be delivered */ delivery: 'In-person' | 'Telephone' | 'Video'; /** * The style of appointment or patient that may be booked in the slot (not service type) */ type: 'CHECKUP' | 'EMERGENCY' | 'FOLLOWUP' | 'ROUTINE' | 'WALKIN'; /** * Optional total number of Slots this config would create */ total?: number; } export interface ScheduleDefinitionOccurrence extends BackboneElement { /** * Defines a per day configuration for Slot generation within a Schedule * minimum of 1 and maximum of 7 values */ days: ScheduleDefinitionOccurrenceDays[]; /** * Recurrence pattern for Slot(s) between the Schedule start and end date * e.g. every week (weekly), every fortnight (fortnightly), every month (monthly) */ pattern: 'weekly' | 'fortnightly' | 'monthly'; } /** * ScheduleDefinition defines a source of data for the regional shared care record */ export interface ScheduleDefinition extends DomainResource { /** * The resourceType, always ScheduleDefinition */ readonly resourceType: 'ScheduleDefinition'; /** * An identifier for this ScheduleDefinition */ identifier?: Identifier[]; /** * Used to identify the schedule in human communication */ name: string; /** * A description of the Schedule Definition for human identification and communication */ narrative?: string; /** * The status of this schedule definition. Enables tracking the life-cycle of the content */ status: 'draft' | 'active' | 'retired' | 'unknown'; /** * Business identifiers that should be assigned to the schedule */ scheduleIdentifier?: Identifier[]; /** * The date at which this schedule comes into effect (starts) */ start: string; /** * The date at which this schedule comes to an end */ end: string; /** * HealthcareService to whom this schedule applies/is for */ healthcareService: Reference; /** * The practitioner that patients booked into this appointment will see */ practitioner?: Reference; /** * The clinician type/role that patients booked into this appointment will see */ practitionerRole?: Reference; /** * Roles that are allowed to access data from the data provider * If blank, then all roles are allowed */ occurrence?: ScheduleDefinitionOccurrence; } //# sourceMappingURL=scheduleDefinition.d.ts.map