feat: add BCBS MA option to AI chat eligibility flow
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -87,6 +87,7 @@ export function siteKeyToAutoCheck(siteKey: string, dob?: string | Date | null):
|
|||||||
case "TUFTS_SCO": return "tufts-sco";
|
case "TUFTS_SCO": return "tufts-sco";
|
||||||
case "UNITED_SCO": return "united-sco";
|
case "UNITED_SCO": return "united-sco";
|
||||||
case "UNITED_UCARD": return "united-ucard";
|
case "UNITED_UCARD": return "united-ucard";
|
||||||
|
case "BCBS_MA": return "bcbs-ma";
|
||||||
default: {
|
default: {
|
||||||
// MassHealth: patients under 21 use the CMSP button
|
// MassHealth: patients under 21 use the CMSP button
|
||||||
if (dob) {
|
if (dob) {
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ const INSURANCE_TYPE_OPTIONS: { value: string; label: string }[] = [
|
|||||||
{ value: "united-ucard", label: "United Ucard" },
|
{ value: "united-ucard", label: "United Ucard" },
|
||||||
{ value: "tufts-sco", label: "Tufts SCO" },
|
{ value: "tufts-sco", label: "Tufts SCO" },
|
||||||
{ value: "cca", label: "CCA" },
|
{ value: "cca", label: "CCA" },
|
||||||
|
{ value: "bcbs-ma", label: "BCBS MA" },
|
||||||
];
|
];
|
||||||
|
|
||||||
function getAutoCheck(_dobISO: string): "mh" {
|
function getAutoCheck(_dobISO: string): "mh" {
|
||||||
|
|||||||
Executable → Regular
+4
-2
@@ -174,7 +174,7 @@ export default function InsuranceStatusPage() {
|
|||||||
const [cmspAccumulatorPdfId, setCmspAccumulatorPdfId] = useState<number | string | null>(null);
|
const [cmspAccumulatorPdfId, setCmspAccumulatorPdfId] = useState<number | string | null>(null);
|
||||||
const [cmspAccumulatorFilename, setCmspAccumulatorFilename] = useState<string | null>(null);
|
const [cmspAccumulatorFilename, setCmspAccumulatorFilename] = useState<string | null>(null);
|
||||||
|
|
||||||
const pendingAutoCheck = useRef<"mh" | "mh-history" | "cmsp" | "ddma" | "delta-ins" | "united-sco" | "united-ucard" | "tufts-sco" | "cca" | null>(null);
|
const pendingAutoCheck = useRef<"mh" | "mh-history" | "cmsp" | "ddma" | "delta-ins" | "united-sco" | "united-ucard" | "tufts-sco" | "cca" | "bcbs-ma" | null>(null);
|
||||||
const [triggerTarget, setTriggerTarget] = useState<string | null>(null);
|
const [triggerTarget, setTriggerTarget] = useState<string | null>(null);
|
||||||
const pendingScrollTo = useRef<string | null>(null);
|
const pendingScrollTo = useRef<string | null>(null);
|
||||||
const [prefillTick, setPrefillTick] = useState(0);
|
const [prefillTick, setPrefillTick] = useState(0);
|
||||||
@@ -915,7 +915,7 @@ export default function InsuranceStatusPage() {
|
|||||||
const autoCheck = params.get("autoCheck") as typeof pendingAutoCheck.current;
|
const autoCheck = params.get("autoCheck") as typeof pendingAutoCheck.current;
|
||||||
const scrollTo = params.get("scrollTo");
|
const scrollTo = params.get("scrollTo");
|
||||||
|
|
||||||
const knownAutoChecks = ["mh", "mh-history", "cmsp", "ddma", "delta-ins", "united-sco", "united-ucard", "tufts-sco", "cca"] as const;
|
const knownAutoChecks = ["mh", "mh-history", "cmsp", "ddma", "delta-ins", "united-sco", "united-ucard", "tufts-sco", "cca", "bcbs-ma"] as const;
|
||||||
if (autoCheck && (knownAutoChecks as readonly string[]).includes(autoCheck)) {
|
if (autoCheck && (knownAutoChecks as readonly string[]).includes(autoCheck)) {
|
||||||
pendingAutoCheck.current = autoCheck;
|
pendingAutoCheck.current = autoCheck;
|
||||||
} else if (scrollTo) {
|
} else if (scrollTo) {
|
||||||
@@ -1120,6 +1120,8 @@ export default function InsuranceStatusPage() {
|
|||||||
firstName={firstName}
|
firstName={firstName}
|
||||||
lastName={lastName}
|
lastName={lastName}
|
||||||
isFormIncomplete={isFormIncomplete}
|
isFormIncomplete={isFormIncomplete}
|
||||||
|
autoTrigger={triggerTarget === "bcbs-ma"}
|
||||||
|
onAutoTriggered={() => setTriggerTarget(null)}
|
||||||
onPdfReady={async (pdfId, fallbackFilename) => {
|
onPdfReady={async (pdfId, fallbackFilename) => {
|
||||||
await queryClient.invalidateQueries({ queryKey: QK_PATIENTS_BASE });
|
await queryClient.invalidateQueries({ queryKey: QK_PATIENTS_BASE });
|
||||||
void tryAppointmentFromChatbot();
|
void tryAppointmentFromChatbot();
|
||||||
|
|||||||
Reference in New Issue
Block a user