class PatientInvestigationFilter(filters.FilterSet): created_date = filters.DateFromToRangeFilter(field_name="created_date") modified_date = filters.DateFromToRangeFilter(field_name="modified_date") investigation = filters.CharFilter(field_name="investigation__external_id") investigations = MultiSelectFilter(field_name="investigation__external_id") sessions = MultiSelectFilter(field_name="session__external_id") session = filters.CharFilter(field_name="session__external_id")
class PatientFilterSet(filters.FilterSet): source = filters.ChoiceFilter(choices=PatientRegistration.SourceChoices) disease_status = CareChoiceFilter(choice_dict=DISEASE_STATUS_DICT) facility = filters.UUIDFilter(field_name="facility__external_id") phone_number = filters.CharFilter(field_name="phone_number") allow_transfer = filters.BooleanFilter(field_name="allow_transfer") name = filters.CharFilter(field_name="name", lookup_expr="icontains") ip_no = filters.CharFilter(field_name="last_consultation__ip_no", lookup_expr="icontains") gender = filters.NumberFilter(field_name="gender") age = filters.NumberFilter(field_name="age") age_min = filters.NumberFilter(field_name="age", lookup_expr="gt") age_max = filters.NumberFilter(field_name="age", lookup_expr="lt") category = filters.ChoiceFilter(field_name="last_consultation__category", choices=CATEGORY_CHOICES) created_date = filters.DateFromToRangeFilter(field_name="created_date") modified_date = filters.DateFromToRangeFilter(field_name="modified_date") srf_id = filters.CharFilter(field_name="srf_id") is_declared_positive = filters.BooleanFilter( field_name="is_declared_positive") date_of_result = filters.DateFromToRangeFilter(field_name="date_of_result") # Location Based Filtering district = filters.NumberFilter(field_name="district__id") district_name = filters.CharFilter(field_name="district__name", lookup_expr="icontains") local_body = filters.NumberFilter(field_name="local_body__id") local_body_name = filters.CharFilter(field_name="local_body__name", lookup_expr="icontains") state = filters.NumberFilter(field_name="state__id") state_name = filters.CharFilter(field_name="state__name", lookup_expr="icontains") # Consultation Fields is_kasp = filters.BooleanFilter(field_name="last_consultation__is_kasp") last_consultation_kasp_enabled_date = filters.DateFromToRangeFilter( field_name="last_consultation__kasp_enabled_date") last_consultation_admission_date = filters.DateFromToRangeFilter( field_name="last_consultation__admission_date") last_consultation_discharge_date = filters.DateFromToRangeFilter( field_name="last_consultation__discharge_date") last_consultation_admitted_to_list = MultiSelectFilter( field_name="last_consultation__admitted_to") last_consultation_admitted_to = filters.NumberFilter( field_name="last_consultation__admitted_to") last_consultation_assigned_to = filters.NumberFilter( field_name="last_consultation__assigned_to") # Vaccination Filters covin_id = filters.CharFilter(field_name="covin_id") is_vaccinated = filters.BooleanFilter(field_name="is_vaccinated") number_of_doses = filters.NumberFilter(field_name="number_of_doses")