513 lines
27 KiB
Markdown
513 lines
27 KiB
Markdown
# New Compliance Sectors — Detectable Signals + Contact Channels
|
||
|
||
Companion to the FCC RMD and FMCSA/trucking playbooks. The winning pattern is:
|
||
a public government registry + a per-record recurring obligation + an automated
|
||
deficiency check + outreach to the operator. This doc covers the three best next
|
||
sectors and, critically, **how to reach the license holders besides postal mail.**
|
||
|
||
> Honesty note on email: unlike FCC RMD (`contact_email`) and FMCSA (carrier
|
||
> email), these three registries are **address/phone-rich but email-poor**. The
|
||
> deficiency engine still works; the channel is the hard part. Section 4 solves
|
||
> that.
|
||
|
||
---
|
||
|
||
## 1. NPPES / Healthcare Providers (NPI)
|
||
|
||
**Source:** CMS NPPES monthly full-replacement dissemination file (free bulk CSV,
|
||
~10M rows). Verified live against `npidata_pfile_20050523-20260510.csv`
|
||
(`download.cms.gov/nppes/`). Cross-joinable with OIG LEIE (exclusions) and the
|
||
CMS revalidation list, both free.
|
||
|
||
**Email in file:** ❌ **VERIFIED — no email field exists** (file has 104 columns;
|
||
none is email). Contact info available: **mailing + practice TELEPHONE
|
||
(cols 27, 35), mailing + practice FAX (cols 28, 36)**, full mailing + practice
|
||
addresses, and Authorized Official telephone (col 47). So channel = fax, phone,
|
||
mail, or email-append. Not email-native.
|
||
|
||
### Verified columns we care about (104-col file)
|
||
| Col # | Field (exact) |
|
||
|---|---|
|
||
| 1, 2 | NPI, Entity Type Code (1=individual, 2=org) |
|
||
| 5–11 | Org legal name / provider name + credential |
|
||
| 21–28 | Mailing address, **mailing telephone (27)**, **mailing fax (28)** |
|
||
| 29–36 | Practice location address, **practice telephone (35)**, **practice fax (36)** |
|
||
| 37 | Provider Enumeration Date |
|
||
| 38 | Last Update Date |
|
||
| 39, 40, 41 | NPI Deactivation Reason Code, Deactivation Date, Reactivation Date |
|
||
| 43–47 | Authorized Official name/title + **telephone (47)** |
|
||
| 48–103 | Up to **15× {Taxonomy Code, License Number, License State Code, Primary Taxonomy Switch}** |
|
||
|
||
> Note: the public file does NOT contain a "Is Sole Proprietor" or EIN-validated
|
||
> field in a usable way (EIN col 4 is usually masked). Earlier guess corrected.
|
||
|
||
### Detectable from the file (verified)
|
||
| Signal | Field(s) | Obligation | Service |
|
||
|---|---|---|---|
|
||
| Stale `Last Update Date` (>1–2 yrs) | col 38 | NPPES update within 30 days of any change | NPPES refresh/attestation |
|
||
| Deactivated NPI | cols 39–41 | Deactivated NPI can't bill | NPI reactivation |
|
||
| Old enumeration + never updated | col 37 vs 38 | Likely overdue Medicare revalidation (5-yr) | PECOS revalidation |
|
||
| Taxonomy w/ license but no license-state | taxonomy/license/state sets | License/specialty inconsistency | License/taxonomy reconcile |
|
||
| No primary taxonomy flagged (switch all N) | Primary Taxonomy Switch_n | Billing/credentialing errors | Taxonomy cleanup |
|
||
| Org (Type 2) missing Authorized Official | cols 2, 43–47 | Incomplete org NPI | Org NPI correction |
|
||
|
||
**Inferable only (not in file):** exact revalidation due date (PECOS), HIPAA
|
||
posture, active billing, sanctions (use OIG LEIE join), email.
|
||
|
||
**Best cross-join hook:** NPPES ⨝ OIG LEIE ⨝ CMS revalidation list.
|
||
|
||
---
|
||
|
||
## 2. FMC Ocean Transportation Intermediaries (OTI: NVOCC + freight forwarders)
|
||
|
||
**Source:** FMC OTI lookup (per-record web lookup; a few thousand licensees).
|
||
Closest analog to FCC RMD in size and clock.
|
||
|
||
**Email in record:** Inconsistent — sometimes present, often not. Partial coverage.
|
||
|
||
### Detectable from the record
|
||
| Signal | Field(s) | Obligation | Service |
|
||
|---|---|---|---|
|
||
| License issue ≥ ~3 yrs ago | issue/license date | **Triennial renewal** (every 3 yrs) | OTI renewal filing |
|
||
| Bond below current minimum | financial responsibility | $75k NVOCC / $50k forwarder bond | Bond placement/review |
|
||
| Missing proof of bond | financial responsibility status | Required to operate | Bond compliance |
|
||
| QI stale/absent | qualifying individual | OTI must have a qualified QI | QI / Form FMC-18 update |
|
||
| NVOCC w/o tariff indicator | cross-ref tariff systems | NVOCCs must publish tariffs / SARs | Tariff publication setup |
|
||
| Status inactive/revoked/surrendered | license status | Operating lapsed = penalties | Reinstatement |
|
||
|
||
**Inferable only:** exact renewal due date, whether tariff actually published
|
||
(separate tariff registry), email when absent.
|
||
|
||
---
|
||
|
||
## 3. EPA RCRA Hazardous Waste Handlers (via ECHO / RCRAInfo / FRS)
|
||
|
||
**Source:** ECHO bulk files (`echo.epa.gov/files/echodownloads/`) — verified live.
|
||
Two relevant downloads:
|
||
- **`ECHO_EXPORTER`** (137 cols) — one row per facility across all programs, holds
|
||
the compliance signals. Column dict: `echo_exporter_columns_*.xlsx`.
|
||
- **`rcra_downloads.zip`** — 6 RCRA-specific CSVs: `RCRA_FACILITIES.csv` (15 cols),
|
||
`RCRA_VIOLATIONS.csv`, `RCRA_EVALUATIONS.csv`, `RCRA_ENFORCEMENTS.csv`,
|
||
`RCRA_NAICS.csv`, `RCRA_VIOSNC_HISTORY.csv`.
|
||
|
||
**Email in file:** ❌ **VERIFIED — no email anywhere in ECHO bulk.**
|
||
`RCRA_FACILITIES.csv` has only: `ID_NUMBER, FACILITY_NAME, ACTIVITY_LOCATION,
|
||
FULL_ENFORCEMENT, HREPORT_UNIVERSE_RECORD, STREET_ADDRESS, CITY_NAME, STATE_CODE,
|
||
ZIP_CODE, LATITUDE83, LONGITUDE83, FED_WASTE_GENERATOR, TRANSPORTER, ACTIVE_SITE,
|
||
OPERATING_TSDF`. **No contact name, no phone, no email** in ECHO RCRA. Owner/
|
||
operator contact NAME + PHONE (still no email) exists only in the deeper RCRAInfo
|
||
handler download (`rcrapublic.epa.gov`), where a PHONE field is present.
|
||
So channel = phone (from RCRAInfo) + mail + email-append. Not email-native.
|
||
|
||
### Verified ECHO_EXPORTER RCRA signal columns
|
||
`RCRA_FLAG`, `RCRA_IDS`, `RCRA_PERMIT_TYPES`, `RCRA_NAICS`,
|
||
`RCRA_INSPECTION_COUNT`, `RCRA_DAYS_LAST_EVALUATION`, `RCRA_INFORMAL_COUNT`,
|
||
`RCRA_FORMAL_ACTION_COUNT`, `RCRA_DATE_LAST_FORMAL_ACTION`, `RCRA_PENALTIES`,
|
||
`RCRA_LAST_PENALTY_DATE`, `RCRA_LAST_PENALTY_AMT`, `RCRA_QTRS_WITH_NC`,
|
||
`RCRA_COMPLIANCE_STATUS`, `RCRA_SNC_FLAG`, `RCRA_3YR_COMPL_QTRS_HISTORY`. Plus
|
||
facility-level: `FAC_DATE_LAST_INSPECTION`, `FAC_SNC_FLG`, `FAC_COMPLIANCE_STATUS`.
|
||
|
||
### Detectable from the data (verified)
|
||
| Signal | Field(s) | Obligation | Service |
|
||
|---|---|---|---|
|
||
| Generator status (LQG/SQG/VSQG) | `FED_WASTE_GENERATOR` (1/2/3/N), `RCRA_PERMIT_TYPES` | Biennial report + manifest + training | Generator program |
|
||
| Open/current violation | `RCRA_COMPLIANCE_STATUS`, `RCRA_QTRS_WITH_NC` | Return-to-compliance | Violation remediation |
|
||
| SNC flag | `RCRA_SNC_FLAG`, `FAC_SNC_FLG` | High enforcement priority | Audit prep + corrective |
|
||
| Old/never evaluated + LQG | `RCRA_DAYS_LAST_EVALUATION`, `FAC_DATE_LAST_INSPECTION` | Overdue inspection risk | Self-audit |
|
||
| Recent penalty / formal action | `RCRA_PENALTIES`, `RCRA_DATE_LAST_FORMAL_ACTION` | Active enforcement | Remediation/defense |
|
||
| TSDF without active permit | `OPERATING_TSDF`, `RCRA_PERMIT_TYPES` | TSDF permit renewal | Permit renewal |
|
||
| NAICS implies waste, no RCRA ID | `RCRA_NAICS` / FRS NAICS w/o `RCRA_FLAG` | Should be registered as generator | Generator registration |
|
||
| Cross-program: RCRA + TRI reporter | `RCRA_FLAG` + `TRI_FLAG` | EPCRA/Tier II overlap | Tier II / SPCC filing |
|
||
|
||
**Inferable only (not in file):** biennial-report-not-filed status (need RCRAInfo
|
||
BR module, not in ECHO bulk), SPCC plan existence, actual chemical inventory,
|
||
contact email. (Earlier "biennial flag" claim corrected — ECHO bulk does not
|
||
expose a clean biennial-filed flag.)
|
||
|
||
**Cross-join opportunity:** ECHO_EXPORTER `RCRA_FLAG` + `TRI_FLAG` + `FAC_NAICS_CODES`
|
||
to find facilities that should be reporting but aren't.
|
||
|
||
---
|
||
|
||
## 4. How to Contact License Holders (Besides Postal Mail)
|
||
|
||
The registries above give us name + entity + address + phone (+ sometimes fax).
|
||
Ranked options to reach them on cheaper/faster channels:
|
||
|
||
### A. Email append (turn address/phone into email)
|
||
- **B2B email-append vendors** (e.g. data providers that match company name +
|
||
address → business email): bulk match files, pay per match. Best for NPPES org
|
||
records and EPA facilities (real businesses).
|
||
- **Domain inference + verification:** derive likely domain from business name /
|
||
website, generate `info@`, `first.last@`, etc., then run an email-verification
|
||
API (SMTP/MX validation) to keep only deliverable addresses. Cheap, scalable,
|
||
works well where the entity has a website.
|
||
- **Website-scrape enrichment:** for each entity, find the website (search by
|
||
name+city), scrape contact/`mailto:` and `/contact` pages for published
|
||
business email. High accuracy when a site exists.
|
||
- **People/B2B data APIs** keyed on the **Authorized Official / Qualifying
|
||
Individual / facility contact name** we already have from the registry.
|
||
|
||
### B. Phone (we already have it in all three)
|
||
- **Cold call** the listed phone — these registries reliably include phone.
|
||
- **Ringless voicemail / voicemail drop** to the listed number.
|
||
- **SMS** to numbers that resolve to mobile (carrier-lookup the phone first;
|
||
honor TCPA/DNC — we already run DNC compliance services, so scrub against the
|
||
NDNC and keep consent records). This is the channel we must be most careful on.
|
||
|
||
### C. Fax (underrated for NPPES + EPA)
|
||
- NPPES and many EPA records include **fax**. Compliance/medical/industrial
|
||
audiences still read fax. Cheap blast, low competition, novelty cut-through.
|
||
|
||
### D. Web / digital, no contact info needed
|
||
- **Free public lookup tool** (like `/tools/dot-compliance-check`): e.g.
|
||
`/tools/npi-compliance-check`, `/tools/oti-renewal-check`,
|
||
`/tools/rcra-compliance-check`. Drives inbound; the provider searches their own
|
||
NPI/license/EPA ID and self-identifies. Pair with SEO + paid search on
|
||
"NPI revalidation", "FMC license renewal", "RCRA biennial report".
|
||
- **Retargeting / lookalike audiences:** upload the matched-email or hashed
|
||
contact list to ad platforms for display/social retargeting even without
|
||
reaching the inbox.
|
||
- **LinkedIn / Sales Navigator outreach** keyed on the Authorized Official / QI
|
||
name (especially good for FMC OTIs and EPA facility EHS managers).
|
||
|
||
### E. Channel-fit by sector
|
||
| Sector | Phone | Fax | Email-append quality | Web/SEO inbound |
|
||
|---|---|---|---|---|
|
||
| NPPES (NPI) | ✅ strong | ✅ good | Medium (org > individual) | ✅ "NPI revalidation" |
|
||
| FMC OTI | ✅ strong | ⚠️ some | Medium-high (have websites) | ✅ "FMC license renewal" |
|
||
| EPA RCRA | ✅ strong | ⚠️ some | High (real businesses + EHS contact) | ✅ "RCRA biennial report" |
|
||
|
||
### Compliance guardrails for these channels
|
||
- **TCPA/DNC:** scrub all phone/SMS against DNC, prefer manual-dial or established
|
||
business relationship, keep consent/records. (We already sell DNC compliance —
|
||
practice what we preach.)
|
||
- **CAN-SPAM:** appended emails must carry unsubscribe + physical address (our
|
||
Listmonk templates already do).
|
||
- **State telemarketing & fax (TCPA/JFPA):** fax blasting has its own rules; treat
|
||
as opt-out-respecting and B2B-only.
|
||
|
||
---
|
||
|
||
## Recommendation / Sequencing
|
||
|
||
1. **FMC OTI first** — cleanest RMD analog (small set, 3-yr clock, bond math),
|
||
some email already present, businesses with websites = easy email-append.
|
||
2. **EPA RCRA** — best deficiency richness + highest fine fear = best conversion;
|
||
reach via email-append + phone + free lookup tool.
|
||
3. **NPPES** — biggest volume, but email-poor and individual-heavy; lead with a
|
||
free NPI revalidation lookup tool + fax + org-targeted email-append.
|
||
|
||
> If email-native outreach (like FCC RMD) is the hard requirement, the better
|
||
> targets are state license boards (contractors/CSLB, insurance producers, NMLS,
|
||
> cannabis/ABC) that publish licensee email directly. Worth a separate survey.
|
||
|
||
---
|
||
|
||
## 5. Postcard Print-and-Mail Vendor Pricing (Lob vs PostGrid vs Click2Mail)
|
||
|
||
For our use case (targeted list of named license holders with mailing addresses,
|
||
personalized + QR to the free compliance-check tool, API-driven like Listmonk),
|
||
a print-and-mail API is the right tool — no USPS permit, no presort, no BMEU
|
||
drop-off. Per-piece is all-in (printing + postage + address verification).
|
||
|
||
Rates verified from live pricing pages on the session date. Confirm before
|
||
committing volume; these vendors change rates and gate some behind sales.
|
||
|
||
### Lob — VERIFIED from lob.com/pricing/print-mail
|
||
4x6 postcard, "starting at" per-piece by plan tier (volume + automation lower it):
|
||
|
||
| Plan | Monthly fee | 4x6 postcard from | Notes |
|
||
|---|---|---|---|
|
||
| Developer (free) | $0 | **$0.872 / postcard** | up to 5 templates, low limits, good for testing |
|
||
| Growth | **$260/mo** | **$0.612 / postcard** | 10 HTML templates, address verif. included tiers |
|
||
| Enterprise | **$550/mo** | **$0.582 / postcard** | 25 templates, custom volume, lowest per-piece |
|
||
|
||
- Letters from ~$0.806 / check ~$1.159 (for reference).
|
||
- Address verification (US) ~$0.05/lookup pay-go, cheaper bundled.
|
||
- Strong API + webhooks (in-transit tracking), best docs of the three.
|
||
- Best fit if we want to wire postcards into the existing pipeline cleanly.
|
||
|
||
### PostGrid — quote/login gated (not publicly itemized)
|
||
- Pricing page does not publish per-piece; requires signup/sales for the rate
|
||
card. Historically positioned **slightly under Lob per-piece** (~$0.50–$0.80
|
||
range for 4x6 depending on volume) with pay-as-you-go + no mandatory monthly
|
||
minimum on the entry tier.
|
||
- US + Canada print/mail, address verification (CASS/NCOA, SERP for Canada),
|
||
good API. Often pitched as the cheaper Lob alternative.
|
||
- **Action:** get an actual quote keyed to our expected monthly volume before
|
||
choosing — the public "slightly cheaper" claim is unverified here.
|
||
|
||
### Click2Mail — login/quote gated, but the cheapest at low volume historically
|
||
- Public pages (postcards / cost-calculator) gate exact rates behind an account;
|
||
rates depend on size (4x6, 4x9, 5x8, 6x9, 6x11), class (First-Class vs
|
||
Standard/Marketing Mail), and quantity.
|
||
- Historically the **lowest all-in for small/medium runs** (often well under
|
||
$0.50/4x6 First-Class at modest volume) because it's a self-serve mail house,
|
||
not a developer-API-first platform. Has an API but less polished than Lob.
|
||
- **Action:** run their cost calculator logged in for a real number on a sample
|
||
4x6 First-Class run of ~1,000 and ~5,000 pieces.
|
||
|
||
### Practical comparison
|
||
|
||
| | Lob | PostGrid | Click2Mail |
|
||
|---|---|---|---|
|
||
| Per-piece 4x6 (4x6) | $0.58–$0.87 (verified) | ~$0.50–$0.80 (quote) | typically lowest at low vol (quote) |
|
||
| Monthly fee | $0 / $260 / $550 | none on entry (quote) | none (self-serve) |
|
||
| API quality | Best | Good | Basic |
|
||
| Address verif (CASS/NCOA) | Yes | Yes | Yes |
|
||
| Best for | API-wired campaigns at scale | cheaper Lob-style API | cheapest small/medium runs |
|
||
|
||
### Recommendation
|
||
- **Start on Click2Mail (or Lob Developer free tier) for the first test batch** to
|
||
validate conversion at the lowest fixed cost — no $260/$550 monthly commitment.
|
||
- **Move to Lob Growth/Enterprise (or a PostGrid quote) once volume justifies the
|
||
per-piece drop** (~the monthly fee pays for itself only at several thousand
|
||
pieces/month). Lob's API is the cleanest to wire into our existing pipeline.
|
||
- Always personalize with the detected deficiency + a **QR code / short URL** to
|
||
the relevant free lookup tool — that QR is our tracking + conversion bridge,
|
||
the same role the email CTA plays today.
|
||
|
||
---
|
||
|
||
## 6. NPI Compliance Programs, "Expired" Signals & Suggested Rates
|
||
|
||
### What we actually know is expired/dead (honest breakdown)
|
||
NPPES alone has **no license/cert/revalidation expiry date**. The only hard
|
||
"dead" status in the file is **NPI deactivation**. Real dateable "expired"
|
||
signals come from FREE companion databases joined to NPPES by NPI or name.
|
||
|
||
| Source | What it proves is expired/wrong | Hook |
|
||
|---|---|---|
|
||
| NPPES (deactivation cols 39-41) | NPI deactivated — cannot bill | NPI reactivation (HARD) |
|
||
| NPPES (Last Update col 38) | Record stale (not "expired", a nudge) | NPPES update |
|
||
| **CMS PECOS Revalidation list** | **Medicare revalidation due/overdue date (5-yr)** — the real dateable hook | Revalidation filing (flagship) |
|
||
| **OIG LEIE** | Provider EXCLUDED from federal programs | Exclusion remediation (urgent) |
|
||
| **SAM.gov exclusions** | Debarred / additional exclusions | Screening + remediation |
|
||
| State medical board lookups | License itself expired (not in NPPES) | License renewal |
|
||
|
||
> Flagship analog to FCC RMD recertification = **CMS Medicare revalidation due
|
||
> date**, joined to NPPES by NPI. That is the genuine "your X expired" signal.
|
||
|
||
### Programs to sell (ranked by trigger defensibility)
|
||
1. Medicare PECOS revalidation filing (flagship)
|
||
2. NPI reactivation (hard NPPES signal)
|
||
3. NPPES data update / attestation
|
||
4. State license renewal monitoring / filing
|
||
5. OIG/SAM exclusion screening + remediation
|
||
6. CAQH profile attestation (re-attest ~every 120 days)
|
||
7. HIPAA compliance package (universal, not detectable)
|
||
8. Credentialing / re-credentialing with payers
|
||
9. Taxonomy / enrollment cleanup
|
||
|
||
### Suggested rates
|
||
| Service | Price | Cadence | Notes |
|
||
|---|---|---|---|
|
||
| NPPES data update / attestation | **$149** | one-time | low-friction entry product |
|
||
| NPI reactivation | **$249** | one-time | hard trigger |
|
||
| Medicare PECOS revalidation filing | **$399** | every 5 yrs | flagship, high stakes |
|
||
| State license renewal (per license) | **$149/license** | annual/biennial | recurring |
|
||
| OIG/SAM exclusion screening | **$99/yr** ($19/mo) | recurring | sticky subscription |
|
||
| CAQH attestation/maintenance | **$249/yr** | recurring | high-churn pain |
|
||
| HIPAA compliance package | **$799–$1,499** | one-time + annual | biggest ticket |
|
||
| Credentialing (per payer) | **$199/payer** | as needed | volume add-on |
|
||
| **Provider Compliance Bundle** | **$599–$899/yr** | annual subscription | revalidation watch + exclusion screening + NPPES upkeep |
|
||
|
||
Pricing logic: solo/small providers are price-sensitive, but fear of losing
|
||
Medicare billing privileges (revalidation, exclusion) supports premium pricing on
|
||
those two. Data-update products stay cheap as door-openers. The **annual bundle**
|
||
is the goal — mirrors the trucking compliance-bundle model for recurring revenue.
|
||
|
||
### Recommendation
|
||
Lead with **Medicare revalidation** (real dateable expiry from the free CMS list,
|
||
like FCC RMD recert), use **NPI-deactivated** + **stale-NPPES** as secondary
|
||
triggers, package into a **$599-899/yr Provider Compliance Bundle**.
|
||
|
||
---
|
||
|
||
## 7. Companion Databases — VERIFIED (downloaded & inspected)
|
||
|
||
All free, all joinable to NPPES by **NPI**. Counts below are from the live files
|
||
pulled on the session date. This is the data that turns "stale record" into a
|
||
real, dateable "your X expired" hook.
|
||
|
||
### 7.1 CMS Revalidation Due Date List (the flagship)
|
||
`revalidation_base.csv` — **~2.9M rows, 2.42M distinct NPIs.**
|
||
Columns: Enrollment ID, **National Provider Identifier (NPI)**, First/Last Name,
|
||
Organization Name, Enrollment State Code, Enrollment Type, Provider Type Text,
|
||
Enrollment Specialty, **Revalidation Due Date**, **Adjusted Due Date**,
|
||
Individual Total Reassign To, Receiving Benefits Reassignment.
|
||
|
||
**Verified population:**
|
||
- **261,878 enrollments have a concrete due date set** (rest are "TBD" = CMS
|
||
hasn't scheduled them yet).
|
||
- **217,968 are PAST DUE (overdue revalidation)** — these are the hottest leads.
|
||
- 43,910 are upcoming (future-dated) — perfect for "due soon" pre-emptive offers.
|
||
|
||
This is the direct analog to the FCC RMD recertification date. Sell **Medicare
|
||
PECOS revalidation filing ($399)** to the 217,968 overdue + watch service to the
|
||
upcoming ones. Join to NPPES to get their address/phone for outreach.
|
||
|
||
### 7.2 OIG LEIE (Exclusions)
|
||
`UPDATED.csv` — **83,256 excluded providers/entities.**
|
||
Columns: LASTNAME, FIRSTNAME, MIDNAME, BUSNAME, GENERAL, SPECIALTY, UPIN, **NPI**,
|
||
DOB, ADDRESS, CITY, STATE, ZIP, EXCLTYPE, EXCLDATE, REINDATE, WAIVERDATE, WVRSTATE.
|
||
|
||
**Verified:** only **8,608 have a valid joinable NPI** (most exclusions predate
|
||
NPI or are entities w/ `0000000000`). Use this two ways:
|
||
- As a **screening product** sold to OTHER providers ($99/yr) — "we check you and
|
||
your staff against LEIE monthly."
|
||
- As a **remediation hook** to the 8,608 excluded-with-NPI (reinstatement help),
|
||
though excluded providers are a harder, riskier audience.
|
||
|
||
### 7.3 Medicare Opt-Out Affidavits
|
||
`OptOut_*.csv` — **56,300 opt-out affidavits.**
|
||
Columns: First/Last Name, **npi**, Specialty, **Optout Effective Date**,
|
||
**Optout End Date**, address, City, State, Zip, Eligible to Order and Refer,
|
||
Last updated.
|
||
|
||
**Verified:** **22,379 have an opt-out period ending within 12 months.** Opt-out
|
||
auto-renews every 2 years unless cancelled — a real dateable event. Sell
|
||
**opt-out renewal / re-enrollment decision support**.
|
||
|
||
### 7.4 Order & Referring File
|
||
`OrderReferring_*.csv` — **~2.0M rows.**
|
||
Columns: **NPI**, LAST_NAME, FIRST_NAME, PARTB, DME, HHA, PMD, HOSPICE (Y/N flags).
|
||
Tells us which providers are eligible to order/refer for each program. Use to
|
||
**qualify leads** (a provider missing eligibility they should have = enrollment
|
||
gap = service opportunity).
|
||
|
||
### 7.5 PPEF Public Provider Enrollment
|
||
`PPEF_Enrollment_Extract_*.csv` — **~2.98M rows.**
|
||
Columns: **NPI**, MULTIPLE_NPI_FLAG, PECOS_ASCT_CNTL_ID, ENRLMT_ID,
|
||
PROVIDER_TYPE_CD/DESC, STATE_CD, names, ORG_NAME. This is the authoritative
|
||
"who is actively enrolled in Medicare" list. Join against NPPES to find:
|
||
- NPPES providers **NOT in PPEF** = not Medicare-enrolled (enrollment opportunity).
|
||
- Cross-check enrollment state vs NPPES practice state (mismatch = cleanup).
|
||
|
||
### Join architecture
|
||
```
|
||
NPPES (10M providers, addr/phone/fax) <- outreach contact + base universe
|
||
⨝ NPI ⨝
|
||
Revalidation Due (217,968 overdue) <- flagship "expired" hook + $399
|
||
⨝ NPI ⨝
|
||
LEIE (8,608 excluded w/ NPI) <- screening product + urgent flag
|
||
⨝ NPI ⨝
|
||
Opt-Out (22,379 ending <12mo) <- renewal hook
|
||
⨝ NPI ⨝
|
||
PPEF / Order-Referring <- enrollment gaps / lead qualification
|
||
```
|
||
|
||
### Headline takeaway
|
||
The single best, defensible, dateable hook is **217,968 providers with OVERDUE
|
||
Medicare revalidation**, each enrichable with NPPES address/phone/fax for
|
||
outreach. That is a larger and harder-deadline audience than the FCC RMD list,
|
||
and the $399 revalidation filing is a clean flagship product.
|
||
|
||
---
|
||
|
||
## 8. Free Email Append for NPI — VERIFIED FINDINGS
|
||
|
||
**Yes, there is a partial free email source, plus a free verification path.**
|
||
Investigated and tested live on the session date.
|
||
|
||
### 8.1 NPPES Endpoint file = free, NPI-keyed email addresses
|
||
The NPPES dissemination ZIP contains a separate **`endpoint_pfile`** (123 MB)
|
||
that we had not previously parsed. It holds electronic endpoints keyed by **NPI**.
|
||
Verified contents:
|
||
- **597,927 endpoint rows, covering 491,761 distinct NPIs.**
|
||
- **390,639 rows are email-formatted** (`user@domain.tld`).
|
||
- Endpoint types: DIRECT 356,394 · CONNECT 91,616 · SOAP 56,543 · FHIR 46,764 ·
|
||
OTHERS 45,938 · REST 672.
|
||
|
||
**The honest catch:** most are **Direct Secure Messaging (HISP) addresses**, not
|
||
normal inboxes. The top domains are health-system Direct gateways
|
||
(`ehrdirect.mayoclinicmsg.org`, `direct.iuhealth.org`, `upmcdirect.com`, …).
|
||
Direct addresses route only inside the DirectTrust network — **you cannot cold-
|
||
email them from a normal mail server; they will not deliver.** So the raw 390k is
|
||
NOT a usable marketing email list.
|
||
|
||
**BUT — the usable slice:** a meaningful subset are **real consumer/business
|
||
inboxes** the provider self-published:
|
||
- **~19,759 rows on common consumer webmail** (gmail.com 12,427, plus yahoo,
|
||
hotmail, outlook, aol, icloud).
|
||
- Verified samples are clearly personal/practice inboxes: `tcneurology@gmail.com`,
|
||
`veinsofkc@yahoo.com`, `kendalncarlsondmd@gmail.com`, `scottcopt@aol.com`, etc.
|
||
- Plus an additional long tail of non-Direct **practice-domain** emails
|
||
(clinic websites) that are also normal inboxes.
|
||
|
||
So the genuinely free, cold-emailable slice from NPPES endpoints is on the order
|
||
of **tens of thousands** (consumer webmail + real practice domains), not the full
|
||
391k. Still free, still NPI-keyed (joins to revalidation/LEIE/etc.), and exactly
|
||
the small-practice owner-operators who are our buyer.
|
||
|
||
### 8.2 Free SMTP/MX verification is possible from our infra
|
||
Tested from this host:
|
||
- **Port 25 egress is OPEN** (connected to `gmail-smtp-in.l.google.com:25`, got
|
||
`220` banner).
|
||
- **MX lookups work** (resolved MX for gmail.com, mayoclinic.org).
|
||
|
||
That means we can run **free email verification** ourselves (MX check + SMTP
|
||
RCPT-TO probe) with no paid validation vendor, to:
|
||
1. Filter the endpoint emails down to deliverable ones.
|
||
2. Verify guessed emails for the domain-inference path below.
|
||
|
||
> Caution: aggressive SMTP probing can get an IP greylisted/blocked. Throttle,
|
||
> rotate, and prefer MX-only validation where possible. Do it from a non-sending
|
||
> IP so it never touches our warmed MTA reputation.
|
||
|
||
### 8.3 Free domain-inference append (for the rest)
|
||
For NPIs without a usable endpoint email but with an org name + practice address:
|
||
1. Find the practice **website** (search name + city; or guess `name.com`).
|
||
2. Generate candidate emails (`info@`, `office@`, `contact@`, `first.last@`).
|
||
3. **MX + SMTP verify for free** (8.2) and keep only deliverable.
|
||
This is zero-cost compute, just our time/infra. Lower hit rate than a paid append
|
||
vendor but free.
|
||
|
||
### 8.4 Bottom line
|
||
| Path | Cost | Yield | Cold-emailable? |
|
||
|---|---|---|---|
|
||
| NPPES endpoint Direct addresses (~356k) | free | high count | ❌ no (HISP-only routing) |
|
||
| NPPES endpoint consumer/practice inboxes (~20k+) | free | tens of thousands | ✅ yes |
|
||
| Domain-inference + free SMTP verify | free (compute) | medium, varies | ✅ yes |
|
||
| Paid B2B email append vendor | $ per match | highest | ✅ yes |
|
||
|
||
**Recommendation:** build a free pipeline = (a) extract the cold-emailable subset
|
||
of endpoint emails, (b) domain-infer + free-SMTP-verify the rest, (c) fall back to
|
||
phone/fax/mail for non-matches. This recovers a real email channel for a
|
||
meaningful chunk of the 217,968 overdue-revalidation targets at **zero vendor
|
||
cost**, and we verify deliverability ourselves since port 25 + MX both work here.
|
||
|
||
---
|
||
|
||
## 9. NPI Outreach Pipeline — BUILT & RUN (`scripts/build_npi_outreach_lists.py`)
|
||
|
||
A reusable pipeline that joins the free NPPES endpoint emails to the CMS
|
||
revalidation list and cross-flags LEIE + opt-out. Run against live data:
|
||
|
||
### Verified output (session date)
|
||
| Segment | Rows | Use |
|
||
|---|---|---|
|
||
| **All cold-emailable NPIs** | **120,408** | broad Provider Compliance Bundle campaign — START HERE |
|
||
| ↳ of which overdue revalidation | 1,909 | hottest: lead with the $399 revalidation hook |
|
||
| ↳ of which upcoming revalidation | 500 | "due soon" pre-emptive offer |
|
||
| ↳ no current reval flag | 117,999 | general compliance bundle / screening / HIPAA |
|
||
| **Direct-secure (DirectTrust later)** | 3,897 (overdue) / 235,747 total | park until DirectTrust signup, then send via HISP |
|
||
|
||
Cold-emailable universe = **120,408 normal inboxes** (consumer webmail + practice
|
||
domains), all NPI-keyed. Direct/HISP universe = **235,747** addresses held for the
|
||
DirectTrust channel once you sign up — that becomes a huge, spam-resistant,
|
||
high-trust second wave.
|
||
|
||
### Strategy confirmed
|
||
- **Start now:** email the 120,408 cold inboxes the Provider Compliance Bundle,
|
||
leading the 1,909 overdue with the revalidation deadline.
|
||
- **Phase 2 (DirectTrust):** once registered, the 235,747 Direct addresses are a
|
||
second, higher-deliverability channel (DirectTrust is closed/trusted, not
|
||
spam-filtered like normal email).
|
||
- MX/SMTP-verify the cold list first (port 25 + MX confirmed working on our infra)
|
||
to strip dead addresses before sending and protect MTA reputation.
|
||
|
||
Output CSVs: `npi_all_cold_emailable.csv`, `npi_overdue_cold_emailable.csv`,
|
||
`npi_overdue_direct_secure.csv` (NPI, email, name, specialty, state, due date,
|
||
days overdue, LEIE flag, opt-out ending).
|