care.emr.api.viewsets.organization module

class OrganizationFilter(data=None, queryset=None, *, request=None, prefix=None)

Bases: FilterSet

base_filters = {'level_cache': <django_filters.filters.NumberFilter object>, 'name': <django_filters.filters.CharFilter object>, 'org_type': <django_filters.filters.CharFilter object>, 'parent': <django_filters.filters.UUIDFilter object>}
declared_filters = {'level_cache': <django_filters.filters.NumberFilter object>, 'name': <django_filters.filters.CharFilter object>, 'org_type': <django_filters.filters.CharFilter object>, 'parent': <django_filters.filters.UUIDFilter object>}
class OrganizationPublicViewSet(**kwargs)

Bases: EMRModelReadOnlyViewSet

database_model

alias of Organization

pydantic_read_model

alias of OrganizationReadSpec

filterset_class

alias of OrganizationFilter

filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>]
authentication_classes = []
permission_classes = []
get_queryset()
class OrganizationViewSet(**kwargs)

Bases: EMRModelViewSet

database_model

alias of Organization

pydantic_model

alias of OrganizationWriteSpec

pydantic_read_model

alias of OrganizationReadSpec

pydantic_update_model

alias of OrganizationUpdateSpec

pydantic_retrieve_model

alias of OrganizationRetrieveSpec

filterset_class

alias of OrganizationFilter

filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>]
authentication_classes = [<class 'config.patient_otp_authentication.JWTTokenPatientAuthentication'>, <class 'config.authentication.CustomJWTAuthentication'>, <class 'config.authentication.CustomBasicAuthentication'>, <class 'rest_framework.authentication.SessionAuthentication'>]
pagination_class

alias of CareLimitOffsetPagination

permissions_controller(request)
validate_data(instance, model_obj=None)

Validating uniqueness on a given level

authorize_destroy(instance)
authorize_update(request_obj, model_instance)
authorize_create(instance)
perform_destroy(instance)
get_queryset()
mine(request, *args, **kwargs)

Get organizations that are directly attached to the given user

class OrganizationUserFilter(data=None, queryset=None, *, request=None, prefix=None)

Bases: FilterSet

base_filters = {'phone_number': <django_filters.filters.CharFilter object>, 'username': <django_filters.filters.CharFilter object>}
declared_filters = {'phone_number': <django_filters.filters.CharFilter object>, 'username': <django_filters.filters.CharFilter object>}
class OrganizationUsersViewSet(**kwargs)

Bases: EMRModelViewSet

database_model

alias of OrganizationUser

pydantic_model

alias of OrganizationUserWriteSpec

pydantic_read_model

alias of OrganizationUserReadSpec

pydantic_update_model

alias of OrganizationUserUpdateSpec

filterset_class

alias of OrganizationUserFilter

filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>]
get_organization_obj()
perform_create(instance)
validate_data(instance, model_obj=None)
authorize_update(request_obj, model_instance)
authorize_destroy(instance)
authorize_create(instance)
  • Creates are only allowed if the user is part of the organization

  • The role applied to the new user must be equal or lower in privilege to the user created

  • Maintain a permission to add users to an organization

get_queryset()

Only users part of the organization can access its users