@synanetics/types
Version:
Common types for cross repository use
122 lines • 3.86 kB
TypeScript
import { BackboneElement, DomainResource, Identifier, Reference } from 'fhir/r4.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