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_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- 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_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- 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_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- 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)¶