# Plan Offer healthcare regulatory filings as a **two-tier model** (internal mechanics; the "paper" alternative is NEVER surfaced to the client): - **Standard service (default):** we handle the filing end-to-end. Client signs ONE certification and we submit + track to confirmation. (Internally this is the paper path — 855 to the MAC, CMS-10114 to the NPI Enumerator in Fargo — but we never say "paper" to the client; it's just "we file it for you.") - **Expedited (faster, framed positively at intake):** we ask if they can **electronically grant us CMS I&A Surrogate access**. We position this as *reducing the number of steps on our end so we can bulk-file faster* — never as "the alternative is paper." If yes, we file online same-day. If no, we silently fall back to Standard. Same price either way; surrogacy is a delegation, not password sharing. This pass verifies the no-login paper path per service, reconciles the doc/code contradiction, and makes "standard = paper / expedited = surrogate" consistent everywhere it's surfaced. ## Goal Every healthcare service (federal sold + state/adjacent to add) has a verified **Standard (paper, no-login)** path and, where a CMS/portal exists, an **Expedited (surrogate/delegated)** upsell. No surface should ever present surrogate as *required* when a paper path exists; paper is always the default. ## Scope / affected areas - `api/src/routes/checkout.ts` (~L2155-2207) — already has the two-tier copy, BUT treats NPPES update/reactivation as **"online-only, surrogate required"** with NO standard fallback (`NPPES_ONLY_SLUGS`, `hasNppesOnly`). The directive says: give those a Standard paper path too (CMS-10114 to Fargo) and make surrogate the *expedited* option, not the only option. - `scripts/workers/services/npi_provider.py` — `access` strings call NPPES update/reactivation "NPPES via CMS I&A surrogate access (online-only)". Must become "Standard: CMS-10114 paper to NPI Enumerator (Fargo), client signs; Expedited: NPPES via I&A surrogate." Also `_STANDARD_FILING_SLUGS` currently excludes `nppes-update` (it has no 855) — needs a CMS-10114 paper path instead. - `scripts/document_gen/templates/cms855_pdf_filler.py` — working 855 paper path (fills 855I/B/O/A + cert-page signature anchor). **Gap:** no CMS-10114 filler for the NPPES standard path → likely a small new `cms10114_pdf_filler.py`. - `docs/healthcare-no-login-value-add.md` — already documents the CMS-10114 paper path; promote it to the canonical "Standard vs Expedited" matrix. - `site/src/pages/services/healthcare/{npi-revalidation,medicare-enrollment}.astro` — already describe expedited/surrogate; npi-reactivation/nppes-update order pages need the same two-tier framing. - `site/src/components/intake/steps/NpiIntakeStep.astro` + intake manifest — add the surrogate-access question framed positively: "Can you electronically grant us CMS I&A Surrogate access? It lets us bulk-file faster and cuts steps on our end." Optional; declining is fine and never mentions paper. The captured answer routes fulfillment internally (surrogate vs our Standard path). - `docs/state-healthcare-compliance-opportunities.md` + `new-sector-compliance- targets.md` — extend the two-tier classification to state/adjacent services. Out of scope this pass: building the actual surrogate Playwright automation (expedited fulfillment can stay human-in-PECOS for now), email-stream machinery, pricing changes. ## Approach (concrete ordered steps) 1. **Confirm the CMS-10114 paper path** for NPPES data updates AND NPI reactivation (not just initial enumeration): paper CMS-10114 mailed to NPI Enumerator (PO Box 6059, Fargo ND), client signature only, no I&A login. Cite the official source. This is what makes NPPES services "Standard, no login" instead of surrogate-required. (We currently have no CMS-10114 PDF.) 2. **Lock the two-tier matrix for the 6 federal services.** For each slug record: Standard path (form, mail destination, client's only action = sign / nothing), Expedited path (surrogate scope: PECOS and/or NPPES; what client grants), and whether expedited is even applicable (screening = public, no portal, so no expedited tier). Confirm the 855 wet-signature-cannot-be-delegated caveat applies to Standard; surrogate covers Expedited. 3. **Reconcile checkout.ts.** Plan the edit so: - NPPES update/reactivation no longer present surrogate as *required* — remove the "online-only / required for those" language. - The surrogate ask is framed as the **faster, fewer-steps** option, never against a "paper" alternative. Audit/strip the existing copy that leaks mechanics to the client (e.g. "we'll send your CMS-855 to sign", "submit it to your MAC") — replace with neutral "we file it and track it for you." - Declining surrogate silently routes to our Standard path; no client-facing mention of paper/MAC/Fargo/form numbers. 4. **Reconcile npi_provider.py.** Update `access` strings + `_STANDARD_FILING_SLUGS` so nppes-update/reactivation generate the CMS-10114 (or 855 reactivation) paper + e-sign, and the admin todo reflects Standard-default / Expedited-if- surrogate-granted. Mirror the existing 855 generate→upload→esign flow. 5. **MAC + Fargo routing rule.** Document which Standard filings go where (855 → provider's MAC by state/jurisdiction; CMS-10114 → Fargo). Confirm `practice_state` intake field drives MAC envelope addressing. 7. **Daily batched-mail fulfillment (Standard path).** Design the operational flow for paper filings that are signed + pending submission: - On each **postal working day morning** (skip weekends + federal/USPS holidays), gather ALL signed-and-pending paper filings, **group by destination agency/address** (each MAC, the NPI Enumerator in Fargo, each state Medicaid/CLIA agency). - For each destination, **merge all that day's documents into one print job** plus a **cover sheet** (Performance West sender, destination agency, date, enclosed-count, per-item list of order# / provider / NPI / form). One **Priority Mail envelope per agency** → saves postage + handling. - Mark each included order as "mailed" with the batch date + tracking #. - Build this as a worker (a `daily_paper_batch` job + a cover-sheet generator in document_gen), mirroring existing worker/cron patterns (`infra/cron/*`, `business_days.py` for the working-day calendar). Decide: fully-automated print-to-PDF batch that a human prints + drops, vs. print-API (Lob/Click2Mail) auto-mail. **Recommend phase 1 = generate the per-agency batched PDF + cover sheet + manifest for a human to print & mail; phase 2 = wire a print-mail API.** 8. **Extend two-tier to state/adjacent services.** For each (State Medicaid enroll/reval, CAQH re-attest, payer credentialing, DEA renewal, state CSR, PDMP, CLIA, license renewal+CME) classify: - **Standard (no-login):** paper/mail-in form + one client signature? (e.g. CLIA = CMS-116 paper to state; Medicaid varies — some paper.) These feed the same daily batched-mail flow, grouped by their state agency. - **Expedited (delegated):** the lightest legitimate delegation that avoids a client *login* — e.g. CAQH "authorized administrator/org" grant, Medicaid "delegated official" on the app, payer EDI/CAQH attestation rights, an LOA. Distinguish "client signs one authorization once" (acceptable, still no-login) from "client must log in / share credentials" (never). - Flag services that are genuinely portal-only with NO paper standard so marketing never claims "no logins" for them. 9. **Sequence the rollout** by (Standard-feasibility first) × revenue, and write the two doc updates + the small code edits (checkout.ts, npi_provider.py, optional cms10114_pdf_filler.py, and the daily batch worker + cover sheet). All gated on approval. ## Validation (how each part is verified) - **Source-grounded:** every Standard (paper) and Expedited (delegation) claim cites the official instruction (CMS-855 instr, CMS-10114 instr, CMS-116 for CLIA, state Medicaid enrollment page, CAQH/payer docs). No unsourced claim. - **Consistency sweep:** after edits, `grep` for "online-only" / "required" / "surrogate" / "no login" across checkout.ts, npi_provider.py, and the service pages — confirm none present surrogate as *required* where a paper path exists, and Standard is the default on every surface. - **Standard path mechanism check:** `cms855_pdf_filler.fill_cms855("855i",...)` still yields filled PDF + cert anchor (read-only smoke render). If CMS-10114 filler is built, same smoke render proves a signable Fargo-bound PDF. - **Expedited path check:** confirm the surrogate-grant CTA + `ia_surrogacy` success action + admin todo together let a human file in PECOS/NPPES same-day; surrogate scope wording matches what CMS I&A actually grants (PECOS vs NPPES). - **Matrix completeness:** every service (federal + state) has Standard + (where applicable) Expedited rows with a definite client-action column and source; no "unknown" and no service that's portal-only-but-marketed-as-no-login. ## Open questions / decisions 1. **NPPES update/reactivation Standard path:** is CMS-10114 paper-to-Fargo accepted for *changes/reactivation* today (RESOLVE in step 1)? If yes, both become Standard-default + surrogate-expedited. If CMS has gone online-only, they stay surrogate-required and we say so honestly. (Directive assumes paper works as Standard; step 1 verifies.) 2. **Build `cms10114_pdf_filler.py` this pass?** Needed for a real NPPES Standard path. Recommend: yes if step 1 confirms paper, mirroring the 855 filler; otherwise defer. 3. **State Medicaid scope:** classify the mechanism generically + verify top ~5 states by our lead density now; template the rest. (50-state research is a separate effort.) 4. **CAQH / payer credentialing tier:** almost certainly Expedited = "client signs one authorization, no login" (category C). Confirm we market that as "no logins for you" with precise wording. 5. **Expedited pricing/positioning:** RESOLVED — expedited is **not** a paid tier and we never expose "paper" as the alternative. It's an intake question framed positively ("electronically granting surrogate access lets us bulk-file faster / fewer steps on our end"). If yes → online; if no → silent Standard fallback. Same price. No price delta, no separate product, no mention of paper. 6. **Client-facing messaging rule:** never surface mechanics to the client — no "paper", "CMS-855", "CMS-10114", "MAC", or "Fargo" in any client copy (cold email, order page, checkout, intake). The only client-visible choice is the positive surrogate question; everything else is "we file it for you." This applies to the checkout copy audit in step 3.