diff --git a/apps/Backend/src/routes/insuranceStatusDDMA.ts b/apps/Backend/src/routes/insuranceStatusDDMA.ts index 3fb56bb..a5571ea 100644 --- a/apps/Backend/src/routes/insuranceStatusDDMA.ts +++ b/apps/Backend/src/routes/insuranceStatusDDMA.ts @@ -143,9 +143,18 @@ async function handleDdmaCompletedJob( throw new Error("Missing memberId for ddma job"); } - // 2) Create or update patient + // 2) Create or update patient (with name from selenium result if available) + const patientNameFromResult = + typeof seleniumResult?.patientName === "string" + ? seleniumResult.patientName.trim() + : null; + + const { firstName, lastName } = splitName(patientNameFromResult); + await createOrUpdatePatientByInsuranceId({ insuranceId, + firstName, + lastName, dob: insuranceEligibilityData.dateOfBirth, userId: job.userId, }); diff --git a/apps/SeleniumService/selenium_DDMA_eligibilityCheckWorker.py b/apps/SeleniumService/selenium_DDMA_eligibilityCheckWorker.py index 8f56f64..d7dc0ea 100644 --- a/apps/SeleniumService/selenium_DDMA_eligibilityCheckWorker.py +++ b/apps/SeleniumService/selenium_DDMA_eligibilityCheckWorker.py @@ -169,6 +169,15 @@ class AutomationDeltaDentalMAEligibilityCheck: eligibilityText = status_link.text.strip().lower() + # 2) finding patient name. + patient_name_div = wait.until(EC.presence_of_element_located(( + By.XPATH, + '//div[@class="flex flex-row w-full items-center"]' + ))) + + patientName = patient_name_div.text.strip().lower() + + try: WebDriverWait(self.driver, 30).until( @@ -220,9 +229,9 @@ class AutomationDeltaDentalMAEligibilityCheck: output = { "status": "success", "eligibility": eligibilityText, - "ss_path": screenshot_path + "ss_path": screenshot_path, + "patientName":patientName } - print(output) return output except Exception as e: print("ERROR in step2:", e)