Reframe healthcare filing as standard vs expedited; e2e test + bug fixes

Copy: drop paper/electronic/fax framing across the revalidation + enrollment
marketing pages and the order-confirmation email; present two service tiers:
- Standard filing  (no CMS account; we prepare CMS-855, you sign, we submit to MAC)
- Expedited filing (CMS I&A surrogate access; same-day PECOS filing + tracking)
Internal worker todos + the _STANDARD_FILING_SLUGS identifier updated to match.

New scripts/test_healthcare_e2e.py validates the whole order line (slug
consistency x6 places, price agreement, intake field collection+enforcement,
worker dispatch, handler execution producing CMS-855 PDF+anchor, free-tool
action_urls). 45 checks.

Bugs found + fixed by the test:
- medicare-enrollment requires practice_state server-side but the wizard never
  enforced it -> orders could be paid then stall. Wizard now requires it.
- determine_form_type defaulted org NPIs to the individual 855I because
  enumeration_type is never collected -> wrong form, CMS rejection. Now does a
  live NPPES lookup (safe 855I fallback).
This commit is contained in:
justin 2026-06-05 03:58:46 -05:00
parent 5cfe9702e2
commit 695ace207c
7 changed files with 381 additions and 54 deletions

View file

@ -157,6 +157,16 @@
if (!email) missing.push("Email");
else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) missing.push("a valid Email");
// Medicare enrollment requires the practice/MAC routing state (server-side
// required field). Enforce it here so the order can't be submitted without
// it and then stall in fulfilment.
const activeSlugs = PW.get().batch_slugs
|| [document.querySelector(".pw-wizard[data-service]")?.getAttribute("data-service")
|| PW.get().service_slug || ""];
if (activeSlugs.includes("medicare-enrollment") && !val("npi-practice-state")) {
missing.push("Practice State (required for Medicare enrollment)");
}
if (missing.length) {
evt.preventDefault();
errDiv.hidden = false;