care.emr.api.viewsets.scheduling.booking module¶
- class CancelBookingSpec(*, reason: Literal[BookingStatusChoices.cancelled, BookingStatusChoices.entered_in_error, BookingStatusChoices.rescheduled], note: str | None = None)¶
Bases:
BaseModel
- reason: Literal[BookingStatusChoices.cancelled, BookingStatusChoices.entered_in_error, BookingStatusChoices.rescheduled]¶
- 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]] = {'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'reason': FieldInfo(annotation=Literal[<BookingStatusChoices.cancelled: 'cancelled'>, <BookingStatusChoices.entered_in_error: 'entered_in_error'>, <BookingStatusChoices.rescheduled: 'rescheduled'>], 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 TokenGenerationSpec(*, category: Annotated[UUID, UuidVersion(uuid_version=4)], note: str | None = None, queue: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)¶
Bases:
BaseModel
- 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]] = {'category': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'queue': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None)}¶
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 RescheduleBookingSpec(*, new_slot: Annotated[UUID, UuidVersion(uuid_version=4)], new_booking_note: str, previous_booking_note: str | None = None, tags: list[Annotated[UUID, UuidVersion(uuid_version=4)]] = [])¶
Bases:
BaseModel
- 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]] = {'new_booking_note': FieldInfo(annotation=str, required=True), 'new_slot': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'previous_booking_note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'tags': FieldInfo(annotation=list[Annotated[UUID, UuidVersion]], 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 TokenBookingFilters(data=None, queryset=None, *, request=None, prefix=None)¶
Bases:
FilterSet
- base_filters = {'date': <django_filters.filters.DateFromToRangeFilter object>, 'patient': <django_filters.filters.UUIDFilter object>, 'resource_ids': <care.utils.filters.dummy_filter.DummyCharFilter object>, 'resource_type': <care.utils.filters.dummy_filter.DummyCharFilter object>, 'slot': <django_filters.filters.UUIDFilter object>, 'status': <care.utils.filters.multiselect.MultiSelectFilter object>}¶
- declared_filters = {'date': <django_filters.filters.DateFromToRangeFilter object>, 'patient': <django_filters.filters.UUIDFilter object>, 'resource_ids': <care.utils.filters.dummy_filter.DummyCharFilter object>, 'resource_type': <care.utils.filters.dummy_filter.DummyCharFilter object>, 'slot': <django_filters.filters.UUIDFilter object>, 'status': <care.utils.filters.multiselect.MultiSelectFilter object>}¶
- class TokenBookingViewSet(**kwargs)¶
Bases:
EMRRetrieveMixin
,EMRUpdateMixin
,EMRListMixin
,EMRBaseViewSet
,EMRTagMixin
- database_model¶
alias of
TokenBooking
- pydantic_model¶
alias of
TokenBookingWriteSpec
- pydantic_read_model¶
alias of
TokenBookingReadSpec
- pydantic_retrieve_model¶
alias of
TokenBookingRetrieveSpec
- pydantic_update_model¶
alias of
TokenBookingWriteSpec
- filterset_class¶
alias of
TokenBookingFilters
- filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>, <class 'care.emr.tagging.filters.SingleFacilityTagFilter'>, <class 'rest_framework.filters.OrderingFilter'>]¶
- ordering_fields = ['created_date', 'token_slot__start_datetime']¶
- resource_type = 'token_booking'¶
- get_facility_obj()¶
- get_facility_from_instance(instance)¶
- authorize_update(request_obj, model_instance)¶
- authorize_retrieve(model_instance)¶
- get_queryset()¶
- classmethod cancel_appointment_handler(instance, request_data, user)¶
- cancel(request, *args, **kwargs)¶
- reschedule(request, *args, **kwargs)¶
- available_users(request, *args, **kwargs)¶
- generate_token(request, *args, **kwargs)¶
- authorize_booking_list(base_query, resource_type, organization_ids, resource_ids, user, facility)¶