care.emr.resources.scheduling.schedule.spec module

class SlotTypeOptions(*values)

Bases: str, Enum

open = 'open'
appointment = 'appointment'
closed = 'closed'
class SchedulableResourceTypeOptions(*values)

Bases: str, Enum

practitioner = 'practitioner'
location = 'location'
healthcare_service = 'healthcare_service'
class AvailabilityDateTimeSpec(*, meta: dict = {}, day_of_week: Annotated[int, Le(le=6)], start_time: time, end_time: time)

Bases: EMRResource

day_of_week: int
start_time: time
end_time: time
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class AvailabilityBaseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class AvailabilityForScheduleSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, slot_type: SlotTypeOptions, slot_size_in_minutes: Annotated[int | None, Ge(ge=1)], tokens_per_slot: Annotated[int | None, Ge(ge=1)], create_tokens: bool = False, reason: str = '', availability: list[AvailabilityDateTimeSpec])

Bases: AvailabilityBaseSpec

name: str
slot_type: SlotTypeOptions
slot_size_in_minutes: int | None
tokens_per_slot: int | None
create_tokens: bool
reason: str
availability: list[AvailabilityDateTimeSpec]
classmethod validate_availability(availabilities: list[AvailabilityDateTimeSpec])
validate_for_slot_type()
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class AvailabilityCreateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, slot_type: SlotTypeOptions, slot_size_in_minutes: Annotated[int | None, Ge(ge=1)], tokens_per_slot: Annotated[int | None, Ge(ge=1)], create_tokens: bool = False, reason: str = '', availability: list[AvailabilityDateTimeSpec], schedule: Annotated[UUID, UuidVersion(uuid_version=4)])

Bases: AvailabilityForScheduleSpec

schedule: Annotated[UUID, UuidVersion(uuid_version=4)]
check_for_overlaps()
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ScheduleBaseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ScheduleCreateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, facility: Annotated[UUID, UuidVersion(uuid_version=4)], name: str, valid_from: datetime, valid_to: datetime, availabilities: list[AvailabilityForScheduleSpec], resource_type: SchedulableResourceTypeOptions, resource_id: Annotated[UUID, UuidVersion(uuid_version=4)])

Bases: ScheduleBaseSpec

facility: Annotated[UUID, UuidVersion(uuid_version=4)]
name: str
valid_from: datetime
valid_to: datetime
availabilities: list[AvailabilityForScheduleSpec]
resource_type: SchedulableResourceTypeOptions
resource_id: Annotated[UUID, UuidVersion(uuid_version=4)]
classmethod validate_dates(value)
validate_period()
classmethod validate_availabilities_not_overlapping(availabilities: list[AvailabilityForScheduleSpec])
perform_extra_deserialization(is_update, obj)
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ScheduleUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, valid_from: datetime, valid_to: datetime)

Bases: ScheduleBaseSpec

name: str
valid_from: datetime
valid_to: datetime
perform_extra_deserialization(is_update, obj)
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ScheduleReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, valid_from: datetime, valid_to: datetime, availabilities: list = [], resource_type: SchedulableResourceTypeOptions, charge_item_definition: dict | None = None, revisit_allowed_days: int | None = None, revisit_charge_item_definition: dict | None = None, created_by: dict = {}, updated_by: dict = {})

Bases: ScheduleBaseSpec

name: str
valid_from: datetime
valid_to: datetime
availabilities: list
resource_type: SchedulableResourceTypeOptions
charge_item_definition: dict | None
revisit_allowed_days: int | None
revisit_charge_item_definition: dict | None
created_by: dict
updated_by: dict
classmethod perform_extra_serialization(mapping, obj)
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

has_overlapping_availability(availabilities: list[AvailabilityDateTimeSpec])