55from rest_framework .response import Response
66from rest_framework .pagination import PageNumberPagination
77from rest_framework .renderers import BrowsableAPIRenderer
8- from django .core .cache import cache
98from .models import Provider , EndpointInstance , ClinicalOrganization
109from .serializers import PractitionerSerializer , ClinicalOrganizationSerializer , BundleSerializer , EndpointSerializer
1110from .mappings import genderMapping , addressUseMapping
@@ -168,7 +167,11 @@ def list(self, request):
168167 all_params = request .query_params
169168
170169 providers = Provider .objects .all ().prefetch_related (
171- 'npi' , 'individual' , 'individual__individualtoname_set' , 'individual__individualtoaddress_set' , 'individual__individualtoaddress_set__address__address_us' , 'individual__individualtoaddress_set__address__address_us__state_code' , 'individual__individualtoaddress_set__address_use' , 'individual__individualtophone_set' , 'individual__individualtoemail_set' , 'providertootherid_set' , 'providertotaxonomy_set' )
170+ 'npi' , 'individual' , 'individual__individualtoname_set' , 'individual__individualtoaddress_set' ,
171+ 'individual__individualtoaddress_set__address__address_us' ,
172+ 'individual__individualtoaddress_set__address__address_us__state_code' ,
173+ 'individual__individualtoaddress_set__address_use' , 'individual__individualtophone_set' ,
174+ 'individual__individualtoemail_set' , 'providertootherid_set' , 'providertotaxonomy_set' )
172175
173176 for param , value in all_params .items ():
174177 match param :
@@ -182,7 +185,8 @@ def list(self, request):
182185 case 'name' :
183186 providers = providers .annotate (
184187 search = SearchVector ('individual__individualtoname__last_name' ,
185- 'individual__individualtoname__first_name' , 'individual__individualtoname__middle_name' )
188+ 'individual__individualtoname__first_name' ,
189+ 'individual__individualtoname__middle_name' )
186190 ).filter (search = value )
187191 case 'gender' :
188192 if value in genderMapping .keys ():
@@ -200,7 +204,7 @@ def list(self, request):
200204 'individual__individualtoaddress__address__address_us__delivery_line_2' ,
201205 'individual__individualtoaddress__address__address_us__city_name' ,
202206 'individual__individualtoaddress__address__address_us__state_code__abbreviation' ,
203- 'individual__individualtoaddress__address__address_us__zipcode' ,)
207+ 'individual__individualtoaddress__address__address_us__zipcode' , )
204208 ).filter (search = value )
205209 case 'address-city' :
206210 providers = providers .annotate (
@@ -284,7 +288,15 @@ def list(self, request):
284288 all_params = request .query_params
285289
286290 organizations = ClinicalOrganization .objects .all ().prefetch_related (
287- 'npi' , 'organization' , 'organization__organizationtoname_set' , 'organization__organizationtoaddress_set' , 'organization__organizationtoaddress_set__address' , 'organization__organizationtoaddress_set__address__address_us' , 'organization__organizationtoaddress_set__address__address_us__state_code' , 'organization__organizationtoaddress_set__address_use' , 'organizationtootherid_set' , 'organizationtotaxonomy_set' , 'organization__authorized_official__individualtophone_set' , 'organization__authorized_official__individualtoname_set' , 'organization__authorized_official__individualtoemail_set' , 'organization__authorized_official__individualtoaddress_set' )
291+ 'npi' , 'organization' , 'organization__organizationtoname_set' , 'organization__organizationtoaddress_set' ,
292+ 'organization__organizationtoaddress_set__address' ,
293+ 'organization__organizationtoaddress_set__address__address_us' ,
294+ 'organization__organizationtoaddress_set__address__address_us__state_code' ,
295+ 'organization__organizationtoaddress_set__address_use' , 'organizationtootherid_set' ,
296+ 'organizationtotaxonomy_set' , 'organization__authorized_official__individualtophone_set' ,
297+ 'organization__authorized_official__individualtoname_set' ,
298+ 'organization__authorized_official__individualtoemail_set' ,
299+ 'organization__authorized_official__individualtoaddress_set' )
288300
289301 for param , value in all_params .items ():
290302 match param :
@@ -312,7 +324,7 @@ def list(self, request):
312324 'organization__organizationtoaddress__address__address_us__delivery_line_2' ,
313325 'organization__organizationtoaddress__address__address_us__city_name' ,
314326 'organization__organizationtoaddress__address__address_us__state_code__abbreviation' ,
315- 'organization__organizationtoaddress__address__address_us__zipcode' ,)
327+ 'organization__organizationtoaddress__address__address_us__zipcode' , )
316328 ).filter (search = value )
317329 case 'address-city' :
318330 organizations = organizations .annotate (
0 commit comments