care.emr.resources.scheduling.schedule.spec module¶
- class SchedulableResourceTypeOptions(*values)¶
-
- 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
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'day_of_week': FieldInfo(annotation=int, required=True, metadata=[Le(le=6)]), 'end_time': FieldInfo(annotation=time, required=True), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'start_time': FieldInfo(annotation=time, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- class AvailabilityBaseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)¶
Bases:
EMRResource
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={})}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- 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
- slot_type: SlotTypeOptions¶
- availability: list[AvailabilityDateTimeSpec]¶
- classmethod validate_availability(availabilities: list[AvailabilityDateTimeSpec])¶
- validate_for_slot_type()¶
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'availability': FieldInfo(annotation=list[AvailabilityDateTimeSpec], required=True), 'create_tokens': FieldInfo(annotation=bool, required=False, default=False), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'reason': FieldInfo(annotation=str, required=False, default=''), 'slot_size_in_minutes': FieldInfo(annotation=Union[int, NoneType], required=True, metadata=[Ge(ge=1)]), 'slot_type': FieldInfo(annotation=SlotTypeOptions, required=True), 'tokens_per_slot': FieldInfo(annotation=Union[int, NoneType], required=True, metadata=[Ge(ge=1)])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- 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
- check_for_overlaps()¶
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'availability': FieldInfo(annotation=list[AvailabilityDateTimeSpec], required=True), 'create_tokens': FieldInfo(annotation=bool, required=False, default=False), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'reason': FieldInfo(annotation=str, required=False, default=''), 'schedule': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'slot_size_in_minutes': FieldInfo(annotation=Union[int, NoneType], required=True, metadata=[Ge(ge=1)]), 'slot_type': FieldInfo(annotation=SlotTypeOptions, required=True), 'tokens_per_slot': FieldInfo(annotation=Union[int, NoneType], required=True, metadata=[Ge(ge=1)])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- class ScheduleBaseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)¶
Bases:
EMRResource
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={})}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- 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
- availabilities: list[AvailabilityForScheduleSpec]¶
- resource_type: SchedulableResourceTypeOptions¶
- classmethod validate_dates(value)¶
- validate_period()¶
- classmethod validate_availabilities_not_overlapping(availabilities: list[AvailabilityForScheduleSpec])¶
- perform_extra_deserialization(is_update, obj)¶
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'availabilities': FieldInfo(annotation=list[AvailabilityForScheduleSpec], required=True), 'facility': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'resource_id': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'resource_type': FieldInfo(annotation=SchedulableResourceTypeOptions, required=True), 'valid_from': FieldInfo(annotation=datetime, required=True), 'valid_to': FieldInfo(annotation=datetime, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- class ScheduleUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, name: str, valid_from: datetime, valid_to: datetime)¶
Bases:
ScheduleBaseSpec
- perform_extra_deserialization(is_update, obj)¶
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'valid_from': FieldInfo(annotation=datetime, required=True), 'valid_to': FieldInfo(annotation=datetime, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- 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
- resource_type: SchedulableResourceTypeOptions¶
- classmethod perform_extra_serialization(mapping, obj)¶
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'availabilities': FieldInfo(annotation=list, required=False, default=[]), 'charge_item_definition': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'created_by': FieldInfo(annotation=dict, required=False, default={}), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'name': FieldInfo(annotation=str, required=True), 'resource_type': FieldInfo(annotation=SchedulableResourceTypeOptions, required=True), 'revisit_allowed_days': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'revisit_charge_item_definition': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'updated_by': FieldInfo(annotation=dict, required=False, default={}), 'valid_from': FieldInfo(annotation=datetime, required=True), 'valid_to': FieldInfo(annotation=datetime, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.
- has_overlapping_availability(availabilities: list[AvailabilityDateTimeSpec])¶