Files
DentalManagement09/apps/Backend/src/services/seleniumTuftsSCOPreAuthClient.ts
T
ffandClaude Sonnet 4.6 dc039741ca fix: Tufts SCO + UnitedDH pre-auth file upload, tooth fill, PDF and pre-auth number
- Frontend: upload attachments to disk before sending pre-auth payload (same pattern as claims)
- cloud-storage: finalizeFileUpload returns diskPath so Python workers get real file paths
- upload-to-cloud route: return diskPath instead of API URL
- TuftsSCO preAuth worker: skip 'Add a file' button click; send_keys directly to hidden react-aria-Input
- TuftsSCO preAuth worker: JS focus() on tooth field to bypass warning-banner overlay
- TuftsSCO preAuth worker: 1.5s wait after procedure code for layout shift to settle
- TuftsSCO preAuth worker: step8 waits for 'thank' in page_source then extracts via 'submitted pre-authorization' regex
- helpers_tuftssco_preauth: convert pdf_path → pdf_url (http://localhost:5002/downloads/...)
- tuftsSCOPreAuthProcessor: use pdf_url (not pdf_path), save preAuthNumber to preAuthNumber field
- unitedDHPreAuthProcessor: save preAuthNumber to preAuthNumber field (not claimNumber)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 23:54:05 -04:00

27 lines
799 B
TypeScript

import axios from "axios";
const SELENIUM_BASE = process.env.SELENIUM_SERVICE_URL ?? "http://localhost:5002";
export async function forwardToSeleniumTuftsSCOPreAuthAgent(data: any) {
const response = await axios.post(`${SELENIUM_BASE}/tuftssco-preauth`, data, {
timeout: 30000,
});
return response.data;
}
export async function getSeleniumTuftsSCOPreAuthSessionStatus(sessionId: string) {
const response = await axios.get(`${SELENIUM_BASE}/session/${sessionId}/status`, {
timeout: 10000,
});
return response.data;
}
export async function forwardOtpToSeleniumTuftsSCOPreAuthAgent(sessionId: string, otp: string) {
const response = await axios.post(
`${SELENIUM_BASE}/submit-otp`,
{ session_id: sessionId, otp },
{ timeout: 10000 }
);
return response.data;
}