- Add full DDMA claim Selenium flow (steps 1-8): search patient, open member page, create claim, fill form, attach files, next, submit, extract claim number and save confirmation PDF - Add fee schedule price-mismatch dialog for all claim buttons (MH, CCA, DDMA, United, Tufts, Save) with optional price update to JSON - Add OTP modal for DDMA claim when session expires, mirroring eligibility OTP flow - Close Chrome after claim submission via quit_driver() (session preserved in profile) - Move Map Price button between Direct Submission and procedure table, right-aligned above Billed Amount column - Add fee-schedule update-price backend route - Add DDMA claim processor with claimNumber/pdf_url result handling Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
962 B
TypeScript
36 lines
962 B
TypeScript
import axios from "axios";
|
|
|
|
const SELENIUM_BASE = process.env.SELENIUM_SERVICE_URL ?? "http://localhost:5002";
|
|
|
|
/**
|
|
* POST /ddma-claim
|
|
* Returns { status: "started", session_id: "<uuid>" }
|
|
*/
|
|
export async function forwardToSeleniumDDMAClaimAgent(
|
|
data: Record<string, any>
|
|
): Promise<{ status: string; session_id: string }> {
|
|
const resp = await axios.post(`${SELENIUM_BASE}/ddma-claim`, data);
|
|
return resp.data;
|
|
}
|
|
|
|
/**
|
|
* GET /session/{sid}/status
|
|
*/
|
|
export async function getSeleniumDDMAClaimSessionStatus(
|
|
sessionId: string
|
|
): Promise<Record<string, any>> {
|
|
const resp = await axios.get(`${SELENIUM_BASE}/session/${sessionId}/status`);
|
|
return resp.data;
|
|
}
|
|
|
|
/**
|
|
* POST /session/{sid}/submit-otp
|
|
*/
|
|
export async function forwardOtpToSeleniumDDMAClaimAgent(
|
|
sessionId: string,
|
|
otp: string
|
|
): Promise<Record<string, any>> {
|
|
const resp = await axios.post(`${SELENIUM_BASE}/submit-otp`, { session_id: sessionId, otp });
|
|
return resp.data;
|
|
}
|