Skip to content

Commit f04b6de

Browse files
committed
Updates: Minor change for ECW integrations to work with long-term sessions
1 parent 144ac53 commit f04b6de

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

ecw_integrations.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ async def _make_request(self, method: str, url: str, **kwargs):
7171

7272
async def close_session(self):
7373
await self.client_session.close()
74+
logger.debug("Closed client session in EcwIntegrations")
7475

7576
async def _handle_response(self, response: aiohttp.ClientResponse):
7677
response_text = await response.text()
@@ -135,7 +136,7 @@ async def _setup_headers(self, content_type: str = None):
135136

136137
return _headers
137138

138-
async def get_facilities(self):
139+
async def get_facilities(self, close_session: bool = True):
139140
logger.debug("Fetching list of all facilities")
140141
try:
141142
headers = await self._setup_headers()
@@ -156,9 +157,10 @@ async def get_facilities(self):
156157
logger.debug(exc)
157158
raise
158159
finally:
159-
await self.close_session()
160+
if close_session:
161+
await self.close_session()
160162

161-
async def get_providers(self, page: int):
163+
async def get_providers(self, page: int, close_session: bool = True):
162164
logger.debug(f"Fetching page: {page} of providers")
163165
try:
164166
headers = await self._setup_headers()
@@ -180,9 +182,10 @@ async def get_providers(self, page: int):
180182
logger.debug(exc)
181183
raise
182184
finally:
183-
await self.close_session()
185+
if close_session:
186+
await self.close_session()
184187

185-
async def get_provider(self, providerName: str):
188+
async def get_provider(self, providerName: str, close_session: bool = True):
186189
logger.debug(f"Looking for provider: {providerName}")
187190
try:
188191
headers = await self._setup_headers()
@@ -204,9 +207,10 @@ async def get_provider(self, providerName: str):
204207
logger.debug(exc)
205208
raise
206209
finally:
207-
await self.close_session()
210+
if close_session:
211+
await self.close_session()
208212

209-
async def get_reasons(self):
213+
async def get_reasons(self, close_session: bool = True):
210214
logger.debug(f"Fetching reasons")
211215
try:
212216
headers = await self._setup_headers()
@@ -227,7 +231,8 @@ async def get_reasons(self):
227231
logger.debug(exc)
228232
raise
229233
finally:
230-
await self.close_session()
234+
if close_session:
235+
await self.close_session()
231236

232237
async def get_appointments(self, get_appointments_request: GetAppointmentsRequest):
233238
logger.debug("Fetching list of appointments")
@@ -283,7 +288,9 @@ async def get_appointments(self, get_appointments_request: GetAppointmentsReques
283288
finally:
284289
await self.close_session()
285290

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+
):
287294
try:
288295
logger.debug(
289296
f"Searching patients with last name '{get_patients_request.lastName}'"
@@ -340,11 +347,14 @@ async def get_patients(self, get_patients_request: GetPatientsRequest):
340347
logger.debug(exc)
341348
raise
342349
finally:
343-
await self.close_session()
350+
if close_session:
351+
await self.close_session()
344352

345353
async def validate_provider(self, provider_name: str):
346354
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+
)
348358
provider_response = None
349359

350360
if provider and len(provider.get("result")) > 0:
@@ -354,7 +364,7 @@ async def validate_provider(self, provider_name: str):
354364

355365
async def validate_reason(self, reason_client: str):
356366
logger.debug(f"Validating reason: {reason_client}")
357-
reasons = await self.get_reasons()
367+
reasons = await self.get_reasons(close_session=False)
358368
reason_item = None
359369
for reason in reasons["reasons"]:
360370
if reason["name"].lower() == reason_client.lower():
@@ -373,7 +383,7 @@ async def validate_visit_type(self, visit_type: str):
373383

374384
async def validate_facilities(self, facility_name: str):
375385
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)
377387
facilities_res = None
378388

379389
for facility in facilities_list["facilities"]:
@@ -393,7 +403,8 @@ async def create_appointment(self, request: AppointmentRequest):
393403
GetPatientsRequest(
394404
lastName=request.patient_name.split(",")[0],
395405
firstName=request.patient_name.split(",")[-1],
396-
)
406+
),
407+
close_session=False,
397408
)
398409

399410
if not patient_response.get("patients"):

0 commit comments

Comments
 (0)