fix: AI claims/preauths keep all codes past 10; reuse CCA/DentalHub Chrome
- Claim form: AI claim/preauth prefill adds rows beyond the initial 10 instead of dropping codes 11+ - CDT lookup: "D6010 #5, 9, 11, 12" expands to one line per tooth, and the chat graph rebuilds such lists from the message if the LLM drops items - Eligibility: match an existing patient by name+DOB when the insurance ID changed (e.g. MassHealth → CCA) instead of creating a duplicate patient - CCA PreAuth: services grid scrolls to reach rows 11+ - CCA and Tufts SCO PreAuth: tentative service date = today + 3 days - CCA (eligibility/claim/preauth) and DentalHub (claim/preauth): keep Chrome open, blank and minimized, after a job so the next job reuses it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -576,16 +576,26 @@ export function ClaimForm({
|
||||
const date = serviceDate ? serviceDate : prev.serviceDate;
|
||||
const updatedLines = [...prev.serviceLines];
|
||||
codes.forEach((c, i) => {
|
||||
if (i < updatedLines.length) {
|
||||
updatedLines[i] = {
|
||||
...updatedLines[i]!,
|
||||
procedureCode: c.code,
|
||||
procedureDate: date,
|
||||
...(c.toothNumber ? { toothNumber: c.toothNumber } : {}),
|
||||
...(c.toothSurface ? { toothSurface: c.toothSurface } : {}),
|
||||
...(c.quad ? { quad: c.quad } : {}),
|
||||
};
|
||||
}
|
||||
// The form starts with 10 blank rows — add rows for codes beyond that
|
||||
const base = updatedLines[i] ?? {
|
||||
procedureCode: "",
|
||||
procedureDate: date,
|
||||
quad: "",
|
||||
arch: "",
|
||||
toothNumber: "",
|
||||
toothSurface: "",
|
||||
totalBilled: new Decimal(0),
|
||||
totalAdjusted: new Decimal(0),
|
||||
totalPaid: new Decimal(0),
|
||||
};
|
||||
updatedLines[i] = {
|
||||
...base,
|
||||
procedureCode: c.code,
|
||||
procedureDate: date,
|
||||
...(c.toothNumber ? { toothNumber: c.toothNumber } : {}),
|
||||
...(c.toothSurface ? { toothSurface: c.toothSurface } : {}),
|
||||
...(c.quad ? { quad: c.quad } : {}),
|
||||
};
|
||||
});
|
||||
return { ...prev, serviceLines: updatedLines };
|
||||
});
|
||||
@@ -620,16 +630,26 @@ export function ClaimForm({
|
||||
const insuranceSiteKey = siteKey ? siteKey.replace(/_/g, "").toLowerCase() : prev.insuranceSiteKey;
|
||||
const updatedLines = [...prev.serviceLines];
|
||||
codes.forEach((c, i) => {
|
||||
if (i < updatedLines.length) {
|
||||
updatedLines[i] = {
|
||||
...updatedLines[i]!,
|
||||
procedureCode: c.code,
|
||||
procedureDate: date,
|
||||
...(c.toothNumber ? { toothNumber: c.toothNumber } : {}),
|
||||
...(c.toothSurface ? { toothSurface: c.toothSurface } : {}),
|
||||
...(c.quad ? { quad: c.quad } : {}),
|
||||
};
|
||||
}
|
||||
// The form starts with 10 blank rows — add rows for codes beyond that
|
||||
const base = updatedLines[i] ?? {
|
||||
procedureCode: "",
|
||||
procedureDate: date,
|
||||
quad: "",
|
||||
arch: "",
|
||||
toothNumber: "",
|
||||
toothSurface: "",
|
||||
totalBilled: new Decimal(0),
|
||||
totalAdjusted: new Decimal(0),
|
||||
totalPaid: new Decimal(0),
|
||||
};
|
||||
updatedLines[i] = {
|
||||
...base,
|
||||
procedureCode: c.code,
|
||||
procedureDate: date,
|
||||
...(c.toothNumber ? { toothNumber: c.toothNumber } : {}),
|
||||
...(c.toothSurface ? { toothSurface: c.toothSurface } : {}),
|
||||
...(c.quad ? { quad: c.quad } : {}),
|
||||
};
|
||||
});
|
||||
const filled = { ...prev, insuranceSiteKey, serviceLines: updatedLines };
|
||||
return mapPricesForForm({
|
||||
|
||||
Reference in New Issue
Block a user