@@ -71,6 +71,7 @@ async def _make_request(self, method: str, url: str, **kwargs):
71
71
72
72
async def close_session (self ):
73
73
await self .client_session .close ()
74
+ logger .debug ("Closed client session in EcwIntegrations" )
74
75
75
76
async def _handle_response (self , response : aiohttp .ClientResponse ):
76
77
response_text = await response .text ()
@@ -135,7 +136,7 @@ async def _setup_headers(self, content_type: str = None):
135
136
136
137
return _headers
137
138
138
- async def get_facilities (self ):
139
+ async def get_facilities (self , close_session : bool = True ):
139
140
logger .debug ("Fetching list of all facilities" )
140
141
try :
141
142
headers = await self ._setup_headers ()
@@ -156,9 +157,10 @@ async def get_facilities(self):
156
157
logger .debug (exc )
157
158
raise
158
159
finally :
159
- await self .close_session ()
160
+ if close_session :
161
+ await self .close_session ()
160
162
161
- async def get_providers (self , page : int ):
163
+ async def get_providers (self , page : int , close_session : bool = True ):
162
164
logger .debug (f"Fetching page: { page } of providers" )
163
165
try :
164
166
headers = await self ._setup_headers ()
@@ -180,9 +182,10 @@ async def get_providers(self, page: int):
180
182
logger .debug (exc )
181
183
raise
182
184
finally :
183
- await self .close_session ()
185
+ if close_session :
186
+ await self .close_session ()
184
187
185
- async def get_provider (self , providerName : str ):
188
+ async def get_provider (self , providerName : str , close_session : bool = True ):
186
189
logger .debug (f"Looking for provider: { providerName } " )
187
190
try :
188
191
headers = await self ._setup_headers ()
@@ -204,9 +207,10 @@ async def get_provider(self, providerName: str):
204
207
logger .debug (exc )
205
208
raise
206
209
finally :
207
- await self .close_session ()
210
+ if close_session :
211
+ await self .close_session ()
208
212
209
- async def get_reasons (self ):
213
+ async def get_reasons (self , close_session : bool = True ):
210
214
logger .debug (f"Fetching reasons" )
211
215
try :
212
216
headers = await self ._setup_headers ()
@@ -227,7 +231,8 @@ async def get_reasons(self):
227
231
logger .debug (exc )
228
232
raise
229
233
finally :
230
- await self .close_session ()
234
+ if close_session :
235
+ await self .close_session ()
231
236
232
237
async def get_appointments (self , get_appointments_request : GetAppointmentsRequest ):
233
238
logger .debug ("Fetching list of appointments" )
@@ -283,7 +288,9 @@ async def get_appointments(self, get_appointments_request: GetAppointmentsReques
283
288
finally :
284
289
await self .close_session ()
285
290
286
- async def get_patients (self , get_patients_request : GetPatientsRequest ):
291
+ async def get_patients (
292
+ self , get_patients_request : GetPatientsRequest , close_session : bool = True
293
+ ):
287
294
try :
288
295
logger .debug (
289
296
f"Searching patients with last name '{ get_patients_request .lastName } '"
@@ -340,11 +347,14 @@ async def get_patients(self, get_patients_request: GetPatientsRequest):
340
347
logger .debug (exc )
341
348
raise
342
349
finally :
343
- await self .close_session ()
350
+ if close_session :
351
+ await self .close_session ()
344
352
345
353
async def validate_provider (self , provider_name : str ):
346
354
logger .debug (f"Validating provider/resource <{ provider_name } >" )
347
- provider = await self .get_provider (providerName = provider_name )
355
+ provider = await self .get_provider (
356
+ providerName = provider_name , close_session = False
357
+ )
348
358
provider_response = None
349
359
350
360
if provider and len (provider .get ("result" )) > 0 :
@@ -354,7 +364,7 @@ async def validate_provider(self, provider_name: str):
354
364
355
365
async def validate_reason (self , reason_client : str ):
356
366
logger .debug (f"Validating reason: { reason_client } " )
357
- reasons = await self .get_reasons ()
367
+ reasons = await self .get_reasons (close_session = False )
358
368
reason_item = None
359
369
for reason in reasons ["reasons" ]:
360
370
if reason ["name" ].lower () == reason_client .lower ():
@@ -373,7 +383,7 @@ async def validate_visit_type(self, visit_type: str):
373
383
374
384
async def validate_facilities (self , facility_name : str ):
375
385
logger .debug (f"Validating user facility <{ facility_name } >" )
376
- facilities_list = await self .get_facilities ()
386
+ facilities_list = await self .get_facilities (close_session = False )
377
387
facilities_res = None
378
388
379
389
for facility in facilities_list ["facilities" ]:
@@ -393,7 +403,8 @@ async def create_appointment(self, request: AppointmentRequest):
393
403
GetPatientsRequest (
394
404
lastName = request .patient_name .split ("," )[0 ],
395
405
firstName = request .patient_name .split ("," )[- 1 ],
396
- )
406
+ ),
407
+ close_session = False ,
397
408
)
398
409
399
410
if not patient_response .get ("patients" ):
0 commit comments