healthcare: two-tier (standard paper / expedited surrogate) filing model

- Verified Standard(no-login)/Expedited(surrogate) matrix from official CMS-855
  PDFs (docs/healthcare-filing-tiers-verified.md): reactivation+revalidation are
  855I paper-to-MAC reasons, original-signature, routed by state; sig may not be
  delegated; 855B needs PECOS app fee.
- Add scripts/workers/mac_routing.py: state->MAC routing (all 56 jurisdictions,
  12 destinations) for envelope addressing + daily batch grouping. Addresses
  marked VERIFY before live mail.
- npi_provider.py: fix access strings to two-tier framing; NPPES update/reactivation
  no longer 'online-only'; note 855B fee.
- checkout.ts + service pages: strip client-facing mechanics & the paper-vs-tier
  choice; surrogate is the only optional, positively-framed ask (faster, never
  required, never share password).
This commit is contained in:
justin 2026-06-07 00:24:56 -05:00
parent 74c1259c9a
commit 258d23bdc6
7 changed files with 417 additions and 289 deletions

View file

@ -46,7 +46,8 @@ _SLUG_META = {
"enrollment record, and submit. Capture the PECOS tracking ID."
),
"access": (
"Standard: prepare CMS-855I/B/R, provider signs cert, submit to MAC. Expedited: file in PECOS via CMS I&A surrogate access."
"Standard (default): prepare CMS-855I/B, provider e-signs cert, mail to MAC (daily batch). "
"Expedited (if surrogate granted at intake): file in PECOS via CMS I&A surrogate access, same-day tracking."
),
"priority": "high",
},
@ -54,11 +55,12 @@ _SLUG_META = {
"name": "NPI Reactivation",
"portal": "https://nppes.cms.hhs.gov/",
"action": (
"Reactivate the deactivated NPI in NPPES. Verify the deactivation "
"Reactivate the deactivated NPI. Verify the deactivation "
"reason, correct any stale data, and re-certify the record."
),
"access": (
"NPPES via CMS I&A surrogate access (online-only)."
"Standard (default): prepare CMS-855I (reactivation reason), provider e-signs, mail to MAC (daily batch). "
"Expedited (if surrogate granted): reactivate online in PECOS/NPPES via I&A surrogate access."
),
"priority": "high",
},
@ -71,7 +73,8 @@ _SLUG_META = {
"changes and certify."
),
"access": (
"NPPES via CMS I&A surrogate access (online-only)."
"Standard (default): prepare CMS-10114 NPPES update, provider e-signs, mail to NPI Enumerator (Fargo, daily batch). "
"Expedited (if surrogate granted): update online in NPPES via I&A surrogate access."
),
"priority": "normal",
},
@ -83,7 +86,9 @@ _SLUG_META = {
"Confirm taxonomy, practice location, and authorized official."
),
"access": (
"Standard: prepare CMS-855, provider signs cert, submit to MAC. Expedited: file in PECOS via CMS I&A surrogate access."
"Standard (default): prepare CMS-855, provider e-signs cert, mail to MAC (daily batch). "
"Expedited (if surrogate granted): file in PECOS via CMS I&A surrogate access, same-day tracking. "
"NOTE: org (855B) enrollment/revalidation requires the CMS application fee paid via PECOS before submission."
),
"priority": "high",
},
@ -109,16 +114,22 @@ _SLUG_META = {
"record. Set the next revalidation reminder."
),
"access": (
"Standard CMS-855 filing for the enrollment/revalidation piece; NPPES + PECOS via CMS I&A surrogate access; screening is public."
"Standard (default): CMS-855 paper filing for the enrollment/revalidation piece, mailed to MAC (daily batch); screening is public (no client action). "
"Expedited (if surrogate granted): NPPES + PECOS pieces filed online via CMS I&A surrogate access."
),
"priority": "high",
},
}
# Slugs whose fulfilment includes a CMS-855 (auto-filled official form, signed
# via the secure e-sign link, then submitted to the provider's MAC). The
# bundle's revalidation piece is handled by the dedicated revalidation order it
# spawns, so it is not listed here.
# via the secure e-sign link, then submitted to the provider's MAC via the daily
# batched mailing). The bundle's revalidation piece is handled by the dedicated
# revalidation order it spawns, so it is not listed here.
#
# nppes-update is intentionally NOT here: its Standard path is the CMS-10114 (NPPES
# update mailed to the NPI Enumerator in Fargo), handled by a separate filler when
# built. Until then, nppes-update falls to the admin todo (Expedited if surrogate
# granted, otherwise manual CMS-10114 prep).
_STANDARD_FILING_SLUGS = {
"npi-revalidation",
"npi-reactivation",