this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat:medications_only filter in medication request (#3559)

* refact:product filter

* fix:updated the filter

* updated the code rabbit suggesstions

* refact:separated filters made medication only

* Cleanups

---------

Co-authored-by: Vignesh Hari <14056798+vigneshhari@users.noreply.github.com>

authored by

Nandkishor R
Vignesh Hari
and committed by
GitHub
924ca74f d2a2c2f6

+15
+15
care/emr/api/viewsets/medication_request.py
··· 1 + from django.db import models 1 2 from django_filters import rest_framework as filters 2 3 from rest_framework import filters as rest_framework_filters 3 4 from rest_framework.exceptions import PermissionDenied ··· 9 10 from care.emr.registries.system_questionnaire.system_questionnaire import ( 10 11 InternalQuestionnaireRegistry, 11 12 ) 13 + from care.emr.resources.inventory.product_knowledge.spec import ProductTypeOptions 12 14 from care.emr.resources.medication.request.spec import ( 13 15 MedicationRequestReadSpec, 14 16 MedicationRequestSpec, ··· 22 24 from care.utils.shortcuts import get_object_or_404 23 25 24 26 27 + class MedicationFilter(filters.BooleanFilter): 28 + def filter(self, qs, value): 29 + if value: 30 + return qs.filter( 31 + models.Q( 32 + requested_product__product_type__iexact=ProductTypeOptions.medication.value 33 + ) 34 + | models.Q(requested_product__isnull=True) 35 + ) 36 + return qs 37 + 38 + 25 39 class MedicationRequestFilter(filters.FilterSet): 26 40 encounter = filters.UUIDFilter(field_name="encounter__external_id") 27 41 status = MultiSelectFilter(field_name="status") ··· 40 54 product_type = filters.CharFilter( 41 55 field_name="requested_product__product_type", lookup_expr="iexact" 42 56 ) 57 + medications_only = MedicationFilter() 43 58 44 59 45 60 class MedicationRequestViewSet(