Verified firsthand against the live CMS-10114 (Rev. 02/25, OMB 0938-0931): - Section 1A confirms paper is valid for Change of Information (#2) AND Reactivation (#4), not just initial enumeration. Resolves the UNCERTAIN flag. - Current mailing address is CMS NPI Enumerator Services, Mail Stop DO-01-51, 7500 Security Blvd, Baltimore MD 21244. The old Fargo PO Box 6059 is retired; corrected in mac_routing.NPI_ENUMERATOR + all docs. - No electronic no-login equivalent exists for CMS (NPI Registry API is read-only; PECOS/NPPES-IA require login), unlike FMCSA's ask.fmcsa ticket form. So tiers stay: Standard=paper CMS-10114 (no login), Expedited=NPPES surrogate. New: cms10114_pdf_filler.py fills the flat official form via text overlay (reason checkbox + NPI + Section 2A identity + Section 4A cert name + signature anchor); wired into npi_provider._generate_10114_for_signing for nppes-update. Signed forms route to the NPI Enumerator via the existing daily batch. Tests: test_cms10114.py 27/27, test_paper_batch.py 15/15, Astro build 58 pages.
9.6 KiB
Healthcare filing: Standard (no-login) vs Expedited (surrogate) — VERIFIED matrix
Internal capability map. Confirms how each healthcare service is fulfilled with no client login and no credential sharing, and where the optional Expedited (CMS I&A Surrogate) path applies.
Client-facing rule (do not break): never expose mechanics to the client. No "paper", "CMS-855", "CMS-10114", "MAC", "Fargo", or form numbers in any client copy. The only client-visible choice is the positive surrogate question ("electronically granting us I&A Surrogate access lets us bulk-file faster / fewer steps on our end"). Declining is silent; we just "file it for you." Same price either way — Expedited is NOT a paid tier.
Two service tiers (internal)
- Standard (default): we complete the official form, client signs ONE certification (e-sign link), we submit + track. For CMS-855s the signed form is mailed to the provider's MAC; for NPPES-only changes via the NPI Enumerator paper path. Daily batched mailing (see §Daily batch).
- Expedited (if client grants I&A Surrogate): we file online in PECOS/NPPES under our own login (surrogate), same-day tracking. Surrogacy is a delegation, NOT a password handover.
VERIFIED from the official CMS form PDFs in docs/ (primary source)
CMS-855I (05/23) — individual practitioner [CONFIRMED, quoted]
- Valid reasons include: revalidation, reactivation ("reactivate your Medicare billing number to resume billing"), changes to enrollment info, and enrolling with another MAC. → revalidation/reactivation/enrollment all ride the 855I paper path.
- Paper submission: "Send this completed application with original signatures and all required documentation to your designated MAC. The MAC that services your State is responsible for processing your enrollment application." → no login required; routed by STATE.
- Signature caveat: "As an individual practitioner, you are the only person who can sign this application. The authority to sign the application on your behalf may not be delegated to any other person." → client must personally sign (pen/e-sign), but that is NOT a login. A surrogate cannot sign the 855 for them — surrogacy speeds the online filing, the cert signature is still theirs.
CMS-855B (12/2025) — clinic/group/supplier [CONFIRMED, quoted]
- Same paper-to-MAC, original-signatures, routed-by-State rule.
- Org signer: a delegated/authorized official signs §15B/15D (not the individual) — still a signature, no login.
- Application FEE required (paid via PECOS feePaymentWelcome) on initial enrollment, new location, and revalidation BEFORE mailing. → org standard path has a fee-payment step we must handle/route; individual 855I does not.
CMS-855O (09/23) — ordering/referring only [CONFIRMED, quoted]
- Paper-to-MAC, original signatures, routed by state. "Sign and date section 8 using ink."
NPPES data update / NPI reactivation (CMS-10114 paper path) [CONFIRMED]
- VERIFIED firsthand against the live CMS-10114 PDF (Rev. 02/25, OMB
0938-0931, exp. 03/2028) downloaded from
cms.gov/Medicare/CMS-Forms/CMS-Forms/downloads/CMS10114.pdf, and the CMS "How to Apply" page which titles it the "NPI Application/Update Form". - The form's Section 1A "Reason for Submittal" has four checkboxes: #1 Initial Application, #2 Change of Information, #3 Deactivation, #4 Reactivation — all completed on the SAME paper form, each requiring a signed + dated certification (Section 4A individual / 4B organization). Verbatim: "If changing information, check box #2... then sign and date the certification... All changes must be reported to the NPI Enumerator within 30 days." and "If you are reactivating the NPI, check box #4... Sign and date the certification."
- So paper CMS-10114 is a valid no-login path for changes AND reactivation, not just initial enumeration. UNCERTAIN flag resolved.
- Mailing address (current, printed on the form page 5):
The previously-documented Fargo, ND PO Box 6059 address is RETIRED — code (CMS NPI Enumerator Services Mail Stop DO-01-51 7500 Security Blvd. Baltimore, MD 21244mac_routing.NPI_ENUMERATOR) and docs updated to the Baltimore address. Enumerator phone for questions: 1-800-465-3203. - No electronic no-login equivalent exists for CMS. Unlike FMCSA (whose
ask.fmcsa.dot.gov/app/ticketaccepts an MCS-150 update + attachments with no account), CMS has no public web form to submit an NPPES change without a login. Probed live: the NPI Registry API (npiregistry.cms.hhs.gov/api) is read-only lookup; PECOS and NPPES I&A both require login. Therefore for NPPES changes the two genuine tiers are: Standard = paper CMS-10114 to Baltimore (no login), Expedited = surrogate files in NPPES online. - Decision (updated): offer Expedited (surrogate → NPPES online) as the fast
path and the CMS-10114 paper-to-Baltimore path as the Standard default. Build
cms10114_pdf_filler.pyto produce the signable form (Reason checkbox driven by service: change vs reactivation vs deactivation).
CMS I&A Surrogate (Expedited path)
- Provider adds Performance West as a Surrogate in CMS I&A; we then file in PECOS/NPPES under our own credentials. No password shared.
- Scope nuance to verify in copy: confirm a single surrogacy grant covers the PECOS and NPPES functions we need (the checkout copy currently asks for both).
Per-service tier table
| Service | Standard (no-login) | Expedited (surrogate) | Fee? |
|---|---|---|---|
| Medicare revalidation | 855I/B → MAC, client signs | file in PECOS | 855B yes |
| Medicare enrollment | 855I/B/O → MAC, client signs | file in PECOS | 855B yes |
| NPI reactivation | 855I → MAC (reactivation reason) | PECOS/NPPES | no |
| NPPES data update | CMS-10114 → NPI Enumerator (Baltimore), client signs | NPPES online | no |
| OIG/SAM screening | public DBs, zero client action | n/a (no portal) | no |
| Provider compliance bundle | spawns reval + screening + NPPES | mixed | per-piece |
Daily batch (Standard-path mailing)
Each postal working day morning (skip weekends + USPS/federal holidays — use
scripts/workers/business_days.py calendar): gather all signed+pending paper
filings, group by destination agency (each MAC; NPI Enumerator Baltimore; each
state agency), merge each group into ONE print job + a cover sheet (PW sender,
destination, date, enclosed count, per-item order#/provider/NPI/form), one
Priority Mail envelope per agency. Mark each order mailed with batch date +
tracking. Phase 1: generate per-agency batched PDF + cover sheet + manifest for a
human to print & drop. Phase 2: wire a print-mail API (Lob/Click2Mail).
MAC routing
855s route by the provider's State (855I/B/O all say "the MAC that services your State"). Mailing addresses: CMS.gov/Medicare/Provider-Enrollment-and- Certification. Need a state → MAC → mailing-address table to address envelopes
- to group the daily batch.
practice_stateintake field drives this.
Implementation status (built + validated)
- mac_routing.py — state→MAC (56 jurisdictions, 12 destinations) + NPI_ENUMERATOR (NPI Enumerator Services, Baltimore MD — VERIFIED from CMS-10114 Rev. 02/25). MAC addresses still marked VERIFY before first live mail.
- npi_provider.py — two-tier
accessstrings; NPPES update/reactivation no longer "online-only"; surrogate answer surfaced in the admin todo. nppes-update now generates the CMS-10114 for e-signature (Standard path) via_generate_10114_for_signing. - cms10114_pdf_filler.py — fills the official CMS-10114 (flat PDF, text
overlay): reason checkbox (change/reactivation/deactivation) + NPI + Section 2A
identity + Section 4A certification name, with a signature anchor on the cert
line. The signed form joins the daily batch to the NPI Enumerator (Baltimore).
test_cms10114.py27/27 pass. - checkout.ts + service pages + intake — client-facing copy stripped of mechanics; surrogate is the only optional, positively-framed ask (faster, never required, never share password, never mentions paper). Astro build green.
- Daily batched mail — migration 089 (
paper_filing_batches+esign_records.paper_batch_id/filing_destination_key);batch_cover_sheet.py(per-agency cover + merged print job);daily_paper_batch.pyworker (group by destination, self-gated to postal working days);pw-paper-batchsystemd timer.test_paper_batch.py15/15 pass. - State/adjacent matrix — A/B/C/D no-login classification added to
state-healthcare-compliance-opportunities.md; CLIA (CMS-116) + state CSR are the cleanest A-category additions that reuse the daily batch flow.
TODO before first live mail (manual / verify)
- Fill the real MAC provider-enrollment PO Box addresses in
mac_routing.py(marked VERIFY) from each MAC's current enrollment page. Confirm CMS-10114 paper-for-changes acceptance + obtain the form PDFbuildDONE — verified against CMS-10114 Rev. 02/25 (address = NPI Enumerator Services, Baltimore MD); filler built + wired intocms10114_pdf_filler.pynpi_provider._generate_10114_for_signing;test_cms10114.py27/27 pass. Remaining nicety: org (Entity Type 2 / Section 4B) overlay path (currently flagged for manual completion when NPI-2 detected).- Run migration 089 on the DB; confirm the worker picks up a signed test filing and produces the per-agency cover + merged PDF in MinIO.
- Phase 2: wire a print-mail API (Lob/Click2Mail) to auto-mail the merged PDF
and fill
tracking_number.