healthcare emails: remove prices, fix click tracking, de-risk claims
Diagnosing zero healthcare sales (11k sent, 5479 opens, 0 clicks, 0 orders).
Root cause of clicks=0: Listmonk only registers a link for tracking when the
href ends with the literal @TrackLink marker; all 10 hc templates lacked it
(trucking/CRTC have it). So the entire funnel was unmeasurable below 'open'.
Changes:
- Click tracking: append @TrackLink + UTM to every /order/ CTA across all 10
templates (external gov self-verify links left untracked on purpose).
- Remove all service prices from emails (99/49/49/99yr/9mo). Price is
now revealed on the order page after value is established; catalog
(api/src/service-catalog.ts) stays source of truth. Kept the 0,000 OIG
penalty stat (regulatory fact, not our price). Added a neutral 'flat fee shown
up front' reassurance block where the fee table used to be.
- Compliance/honesty: the nppes_outdated email asserted a per-record
'FLAGGED OUT OF DATE / detected' status, but its selector only checks
deliverability and the data has no NPPES last-updated field -> unsubstantiated
for every recipient. Reframed to a generally-true periodic-attestation message
('PERIODIC REVIEW REQUIRED', 'most practices drift out of date'). Same hedging
applied to npi_reactivation ('may be deactivated ... confirm on official
sources'). Substantiated reval 'past due' claims (backed by the public CMS
Revalidation list) were kept.
- Fixed stale $299 OIG metadata in build script -> $79/mo (reference only).
Docs: docs/healthcare-competitive-pricing.md (benchmark research) and
docs/healthcare-email-compliance-review.md (CAN-SPAM / FTC / impersonation pass;
flags SOC2/HIPAA/PCI badge claims for owner confirmation).
Verified headless: all 10 render with 0 JS errors, exactly 1 tracked CTA each,
no price leaks.
This commit is contained in:
parent
9a9b0b9130
commit
d8e3e40dda
13 changed files with 256 additions and 48 deletions
|
|
@ -58,7 +58,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take the CLIA renewal off your plate — the sooner we start, the better.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take the CLIA renewal off your plate — the sooner we start, the better.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
||||||
<a href="https://performancewest.net/order/clia-renewal?clia={{ .Subscriber.Attribs.clia }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Renew my CLIA certificate →</a>
|
<a href="https://performancewest.net/order/clia-renewal?clia={{ .Subscriber.Attribs.clia }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-clia-renewal@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Renew my CLIA certificate →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,13 @@
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
|
||||||
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">What's included</h3>
|
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">What's included</h3>
|
||||||
<div style="font-size:13px;color:#065f46;line-height:1.7;">Revalidation monitoring & filing, NPPES updates/attestation, and your <strong>first OIG/SAM exclusion screening</strong> — one flat annual price, all tracked, all documented. Continue monthly exclusion monitoring afterward for $79/month (optional, cancel anytime).</div>
|
<div style="font-size:13px;color:#065f46;line-height:1.7;">Revalidation monitoring & filing, NPPES updates/attestation, and your <strong>first OIG/SAM exclusion screening</strong> — one flat annual price, all tracked, all documented. Continue monthly exclusion monitoring afterward (optional, cancel anytime).</div>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Detail row -->
|
<!-- Detail row -->
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;font-size:13px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;font-size:13px;">
|
||||||
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">NPI</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.npi }}</td></tr>
|
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">NPI</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.npi }}</td></tr>
|
||||||
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">Practice</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.practice }}</td></tr>
|
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">Practice</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.practice }}</td></tr>
|
||||||
<tr><td style="padding:10px 0;color:#6b7280;">Our service fee</td><td style="padding:10px 0;font-weight:700;text-align:right;color:#047857;">$899/yr</td></tr>
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- Verify-it-yourself: the bundle monitors public government sources end to
|
<!-- Verify-it-yourself: the bundle monitors public government sources end to
|
||||||
|
|
@ -43,7 +42,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">One annual bundle covers your core CMS obligations.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">One annual bundle covers your core CMS obligations.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We watch the deadlines so you never miss one.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We watch the deadlines so you never miss one.</p>
|
||||||
<a href="https://performancewest.net/order/provider-compliance-bundle?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Get the compliance bundle →</a>
|
<a href="https://performancewest.net/order/provider-compliance-bundle?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-compliance-bundle@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Get the compliance bundle →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,15 @@
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
|
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
|
||||||
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
|
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
|
||||||
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Provider Enrollment Alert</h1>
|
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Provider Enrollment Check</h1>
|
||||||
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Deactivated enrollment detected</p>
|
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Make sure your Medicare enrollment is still active</p>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
|
||||||
<!-- Body -->
|
<!-- Body -->
|
||||||
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
|
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
|
||||||
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
|
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
|
||||||
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Your enrollment looks deactivated — let's fix it fast</h2>
|
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Your enrollment looks deactivated — let's fix it fast</h2>
|
||||||
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">Our compliance monitoring flagged the enrollment for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) as <strong>deactivated or inactive</strong>.</p>
|
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">Our compliance monitoring suggests the enrollment for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) <strong>may be deactivated or inactive</strong> — it is worth confirming on the official sources below.</p>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
|
||||||
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
|
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
|
||||||
|
|
@ -42,12 +42,9 @@
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- Service fee -->
|
<!-- Pricing reassurance (no number in email; shown on the order page) -->
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
|
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee — shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
|
||||||
<td style="font-size:13px;color:#6b7280;">Our service fee to reactivate it for you</td>
|
|
||||||
<td style="font-size:22px;font-weight:800;text-align:right;color:#047857;white-space:nowrap;">$449</td>
|
|
||||||
</tr></table>
|
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Verify-it-yourself: deactivation status is not a single public dataset,
|
<!-- Verify-it-yourself: deactivation status is not a single public dataset,
|
||||||
|
|
@ -65,7 +62,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We handle the CMS-855 reactivation end to end.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We handle the CMS-855 reactivation end to end.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We verify every field against current CMS requirements.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We verify every field against current CMS requirements.</p>
|
||||||
<a href="https://performancewest.net/order/npi-reactivation?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Reactivate my enrollment →</a>
|
<a href="https://performancewest.net/order/npi-reactivation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-npi-reactivation@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Reactivate my enrollment →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,15 @@
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
|
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
|
||||||
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
|
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
|
||||||
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">NPPES Data Alert</h1>
|
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">NPPES Data Check</h1>
|
||||||
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Outdated registry information detected</p>
|
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Keep your registry record current & attested</p>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
|
||||||
<!-- Body -->
|
<!-- Body -->
|
||||||
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
|
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
|
||||||
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
|
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
|
||||||
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Outdated NPPES data can hold up your payments</h2>
|
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Outdated NPPES data can hold up your payments</h2>
|
||||||
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">The public NPPES registry record for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) appears <strong>out of date</strong>.</p>
|
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">CMS requires every provider to keep their NPPES registry record current and to periodically attest to it. Records for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) and most practices drift out of date over time — it is worth a 60-second check.</p>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
|
||||||
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
|
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
|
||||||
|
|
@ -32,20 +32,17 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
|
||||||
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
|
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
|
||||||
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Registered to</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
|
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Registered to</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
|
||||||
<tr><td style="padding:9px 0;color:#64748b;">Record status</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">FLAGGED OUT OF DATE</td></tr>
|
<tr><td style="padding:9px 0;color:#64748b;">Attestation</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b45309;">PERIODIC REVIEW REQUIRED</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: NPPES NPI Registry (npiregistry.cms.hhs.gov). Staleness flagged by our compliance monitoring — confirm on the official registry below.</p>
|
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: NPPES NPI Registry (npiregistry.cms.hhs.gov). CMS requires periodic NPPES attestation — review your current record on the official registry below.</p>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- Service fee -->
|
<!-- Pricing reassurance (no number in email; shown on the order page) -->
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0"><tr>
|
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee — shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
|
||||||
<td style="font-size:13px;color:#6b7280;">Our service fee to update it for you</td>
|
|
||||||
<td style="font-size:22px;font-weight:800;text-align:right;color:#047857;white-space:nowrap;">$349</td>
|
|
||||||
</tr></table>
|
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Verify-it-yourself: the NPPES registry is fully public, so the provider
|
<!-- Verify-it-yourself: the NPPES registry is fully public, so the provider
|
||||||
|
|
@ -61,7 +58,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We update and attest your NPPES record for you.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We update and attest your NPPES record for you.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Address, taxonomy, contacts, and authorized official.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Address, taxonomy, contacts, and authorized official.</p>
|
||||||
<a href="https://performancewest.net/order/nppes-update?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Update my NPPES record →</a>
|
<a href="https://performancewest.net/order/nppes-update?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-nppes-update@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Update my NPPES record →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;font-size:13px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;font-size:13px;">
|
||||||
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">NPI</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.npi }}</td></tr>
|
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">NPI</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.npi }}</td></tr>
|
||||||
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">Practice</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.practice }}</td></tr>
|
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">Practice</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.practice }}</td></tr>
|
||||||
<tr><td style="padding:10px 0;color:#6b7280;">Our service fee</td><td style="padding:10px 0;font-weight:700;text-align:right;color:#047857;">$79/month</td></tr>
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- Verify-it-yourself: the OIG LEIE and SAM exclusion lists are public and
|
<!-- Verify-it-yourself: the OIG LEIE and SAM exclusion lists are public and
|
||||||
|
|
@ -42,8 +41,8 @@
|
||||||
<!-- CTA -->
|
<!-- CTA -->
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We run and document your OIG/SAM exclusion screening.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We run and document your OIG/SAM exclusion screening.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Monthly checks with an audit-ready record — $79/month, cancel anytime.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Monthly checks with an audit-ready record — cancel anytime.</p>
|
||||||
<a href="https://performancewest.net/order/oig-sam-screening?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Set up exclusion screening →</a>
|
<a href="https://performancewest.net/order/oig-sam-screening?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-oig-screening@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Set up exclusion screening →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -50,14 +50,9 @@
|
||||||
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov ↗</a>
|
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov ↗</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Service fee -->
|
<!-- Pricing reassurance (no number in email; shown on the order page) -->
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
|
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee — shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
|
||||||
<tr>
|
|
||||||
<td style="font-size:13px;color:#6b7280;font-family:Inter,system-ui,sans-serif;">Our service fee to file it for you</td>
|
|
||||||
<td style="font-size:22px;font-weight:800;text-align:right;color:#047857;font-family:Inter,system-ui,sans-serif;white-space:nowrap;">$599</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Convenience: no password / no login / no 2FA: we do the work, you just e-sign -->
|
<!-- Convenience: no password / no login / no 2FA: we do the work, you just e-sign -->
|
||||||
|
|
@ -71,7 +66,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We file your PECOS revalidation for you, well before the deadline.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We file your PECOS revalidation for you, well before the deadline.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Most filings submitted within 1-2 business days.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Most filings submitted within 1-2 business days.</p>
|
||||||
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Start my revalidation →</a>
|
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-due-soon@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Start my revalidation →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -50,14 +50,9 @@
|
||||||
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov ↗</a>
|
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov ↗</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Service fee -->
|
<!-- Pricing reassurance (no number in email; shown on the order page) -->
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
|
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee — shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
|
||||||
<tr>
|
|
||||||
<td style="font-size:13px;color:#6b7280;font-family:Inter,system-ui,sans-serif;">Our service fee to file it for you</td>
|
|
||||||
<td style="font-size:22px;font-weight:800;text-align:right;color:#047857;font-family:Inter,system-ui,sans-serif;white-space:nowrap;">$599</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<!-- Convenience: no password / no login / no 2FA: we do the work, you just e-sign -->
|
<!-- Convenience: no password / no login / no 2FA: we do the work, you just e-sign -->
|
||||||
|
|
@ -71,7 +66,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We file your PECOS revalidation for you, before the clock runs out.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We file your PECOS revalidation for you, before the clock runs out.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Most filings submitted within 1-2 business days.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Most filings submitted within 1-2 business days.</p>
|
||||||
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Start my revalidation →</a>
|
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-overdue@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Start my revalidation →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us get your past-due revalidation filed right away.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us get your past-due revalidation filed right away.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
||||||
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation →</a>
|
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-overdue-personal@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take revalidation off your plate — the sooner we start, the better.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take revalidation off your plate — the sooner we start, the better.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
||||||
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation →</a>
|
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-personal@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
|
||||||
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take revalidation off your plate — the sooner we start, the better.</p>
|
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take revalidation off your plate — the sooner we start, the better.</p>
|
||||||
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
|
||||||
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation →</a>
|
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-turnover@TrackLink" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation →</a>
|
||||||
</td></tr></table>
|
</td></tr></table>
|
||||||
|
|
||||||
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
|
||||||
|
|
|
||||||
126
docs/healthcare-competitive-pricing.md
Normal file
126
docs/healthcare-competitive-pricing.md
Normal file
|
|
@ -0,0 +1,126 @@
|
||||||
|
# Healthcare services — competitive pricing research
|
||||||
|
|
||||||
|
**Date:** 2026-06-20
|
||||||
|
**Purpose:** Benchmark our healthcare compliance prices against what other firms
|
||||||
|
charge, to inform email copy (price removal), landing-page pricing, and offer design.
|
||||||
|
|
||||||
|
## Methodology & honest caveat
|
||||||
|
|
||||||
|
Automated web search (Google / Bing / DuckDuckGo) and direct vendor-page scraping
|
||||||
|
were attempted and largely **bot-blocked**, and nearly every specialist firm
|
||||||
|
(ProviderTrust, Verisys, Streamline Verify, Exclusion Screening LLC, most
|
||||||
|
credentialing companies) **gates pricing behind a "schedule a call" sales motion**.
|
||||||
|
That gating is itself a signal: this market is sales-led and quote-based, which is
|
||||||
|
exactly the friction our flat-fee, no-login, self-serve checkout is designed to
|
||||||
|
undercut.
|
||||||
|
|
||||||
|
The figures below are from **established market knowledge** of the healthcare
|
||||||
|
credentialing / compliance space, with **confidence levels marked**. Specific
|
||||||
|
vendor quotes were NOT fabricated — where a number could not be verified live it
|
||||||
|
is presented as a market range, not a vendor-attributed price. Government fees
|
||||||
|
(CLIA) are public but the CMS pages are JS-rendered and did not scrape cleanly;
|
||||||
|
amounts below are flagged for re-verification.
|
||||||
|
|
||||||
|
> **Action item:** when we can get live quotes (mystery-shop a few competitors, or
|
||||||
|
> pull their gated PDFs), replace the ranges here with sourced, dated, vendor-named
|
||||||
|
> figures.
|
||||||
|
|
||||||
|
## Our current prices (source of truth: `api/src/service-catalog.ts`)
|
||||||
|
|
||||||
|
| Service | Slug | Our price | Billing |
|
||||||
|
|---|---|---:|---|
|
||||||
|
| Medicare PECOS Revalidation | `npi-revalidation` | **$599** | one-time |
|
||||||
|
| Medicare Enrollment (PECOS) | `medicare-enrollment` | **$699** | one-time |
|
||||||
|
| NPI Reactivation | `npi-reactivation` | **$449** | one-time |
|
||||||
|
| NPPES Data Update / Attestation | `nppes-update` | **$349** | one-time |
|
||||||
|
| CLIA Certificate Renewal | `clia-renewal` | **$449** | one-time (+ govt fee) |
|
||||||
|
| OIG/SAM Exclusion Screening | `oig-sam-screening` | **$79** | **per month** (recurring) |
|
||||||
|
| Provider Compliance Bundle (Annual) | `provider-compliance-bundle` | **$899** | per year |
|
||||||
|
|
||||||
|
> Note: the build script `scripts/build_healthcare_campaigns.py` SEGMENTS dict had
|
||||||
|
> a stale `"price": "$299"` for OIG — that is **dead metadata** not used at
|
||||||
|
> checkout (catalog says $79/mo). Worth cleaning up to avoid confusion, but it
|
||||||
|
> never affected what a customer was charged.
|
||||||
|
|
||||||
|
## Benchmarks by service
|
||||||
|
|
||||||
|
### 1. Medicare Revalidation / PECOS enrollment filing — our $599 / $699
|
||||||
|
- **Market:** credentialing/enrollment firms typically charge **~$200-$500 per
|
||||||
|
provider, per payer** for enrollment, often inside a broader credentialing
|
||||||
|
retainer. Medicare-specific revalidation a-la-carte commonly **~$150-$400**;
|
||||||
|
full new Medicare enrollment (855I/855B) often **~$300-$600**. Many bill hourly
|
||||||
|
($50-$150/hr) inside a retainer rather than flat.
|
||||||
|
- **Verdict:** our $599 reval / $699 enrollment is **at or slightly above** the
|
||||||
|
a-la-carte midpoint, but **defensible** as flat-fee, no-login, done-for-you,
|
||||||
|
single provider. Confidence: **medium-high** (the per-payer model is well
|
||||||
|
established).
|
||||||
|
|
||||||
|
### 2. OIG/SAM exclusion screening — our $79/month ← most mispriced
|
||||||
|
- **Market:** specialist exclusion monitoring is almost always **per-covered-life /
|
||||||
|
per-employee, per-month**, roughly **$1-$3 per name per month**, often with
|
||||||
|
**annual minimums ~$300-$1,000+** for a small practice. One-time single-name
|
||||||
|
searches run **~$5-$15**.
|
||||||
|
- **Verdict:** a flat **$79/month for the whole practice** is **cheap-to-mid** for a
|
||||||
|
10+ person office but potentially **expensive for a solo provider** screening
|
||||||
|
1-3 names — who can DIY free on the public LEIE / SAM.gov sites (which our own
|
||||||
|
email tells them to do). The flat model is fine; the **recurring** ask is the
|
||||||
|
hard part in cold email vs the perceived free-DIY alternative. Confidence:
|
||||||
|
**medium-high** on the per-life model.
|
||||||
|
|
||||||
|
### 3. NPPES / NPI update — our $349 ← looks high
|
||||||
|
- **Market:** NPI registration/update is **commodity work**; services that file NPI
|
||||||
|
applications charge roughly **$50-$200**, and some credentialing firms bundle it
|
||||||
|
**free** with enrollment.
|
||||||
|
- **Verdict:** **$349 for an NPPES update looks high** relative to perceived effort
|
||||||
|
(the provider knows NPPES is a free government portal). Widest price-to-perceived-
|
||||||
|
value gap of any item → likely a conversion drag. Confidence: **medium**.
|
||||||
|
|
||||||
|
### 4. NPI reactivation — our $449
|
||||||
|
- **Market:** tied to restoring Medicare billing; more defensible than a plain
|
||||||
|
update because the stakes (claims paying again) are high. Comparable to a reval
|
||||||
|
filing in effort. Confidence: **medium**.
|
||||||
|
|
||||||
|
### 5. CLIA renewal — our $449 service fee (+ government fee, separate)
|
||||||
|
- **Government CLIA certificate fee** (paid to CMS, separate from any service fee):
|
||||||
|
Certificate of Waiver / PPM historically **~$180**; Certificate of
|
||||||
|
Compliance/Accreditation **scales with annual test volume from ~$180 up to
|
||||||
|
several thousand**. *(Re-verify current amounts on the CMS CLIA fee schedule —
|
||||||
|
CMS updates them; page is JS-rendered and did not scrape cleanly.)*
|
||||||
|
- **Verdict:** a **$449 service fee** to prepare/submit the CMS-116 is reasonable,
|
||||||
|
**but the email/landing copy must make clear it's on top of the government fee**.
|
||||||
|
Confidence: **high** that a separate govt fee exists; **medium** on exact current
|
||||||
|
amounts.
|
||||||
|
|
||||||
|
## Synthesized ranges (low / typical / high)
|
||||||
|
|
||||||
|
| Service | Market low | Market typical | Market high | Ours | Read |
|
||||||
|
|---|---:|---:|---:|---:|---|
|
||||||
|
| Medicare revalidation (a-la-carte) | $150 | $250-350 | $500 | **$599** | slightly high, defensible (flat, no-login) |
|
||||||
|
| Medicare new enrollment | $300 | $400-500 | $600+ | **$699** | top of range; justify with done-for-you |
|
||||||
|
| NPI reactivation | $150 | $300 | $500 | **$449** | upper-mid, OK (billing at stake) |
|
||||||
|
| NPPES/NPI update | $50 | $100-150 | $200 | **$349** | **high vs perceived value** |
|
||||||
|
| CLIA renewal service fee | $150 | $300 | $600 | **$449** | mid; must separate govt fee |
|
||||||
|
| OIG/SAM screening (small practice) | ~$25/mo | ~$50-100/mo | $300+/mo (per-life) | **$79/mo** | mid, but recurring = hard cold ask |
|
||||||
|
|
||||||
|
## Takeaways for the campaign
|
||||||
|
|
||||||
|
1. **Removing price from the cold email is the right call** — it kills the biggest
|
||||||
|
objection at the worst moment, lets price be revealed on the landing page after
|
||||||
|
value is established, and sidesteps NPPES/OIG sticker shock. Catalog prices stay
|
||||||
|
the source of truth at checkout.
|
||||||
|
2. **Best-priced / most defensible:** revalidation ($599), reactivation ($449),
|
||||||
|
CLIA ($449) sit at sensible levels.
|
||||||
|
3. **Mispriced-feeling (review):** NPPES update **$349** reads high for "update a
|
||||||
|
free form"; OIG **$79/mo recurring** competes against free DIY. Consider a lower
|
||||||
|
NPPES anchor or a one-time OIG option as an entry product.
|
||||||
|
4. **Differentiator to lean on:** competitors are sales-led and quote-gated. Our
|
||||||
|
edge is **transparent flat pricing + no-login done-for-you + instant checkout**.
|
||||||
|
That should be the wedge, not undercutting on raw price.
|
||||||
|
|
||||||
|
## Confidence summary
|
||||||
|
- Per-payer credentialing model & ranges: **medium-high**
|
||||||
|
- Exclusion-screening per-life model: **medium-high**
|
||||||
|
- NPI update being commodity-cheap: **medium**
|
||||||
|
- Exact CLIA government fee amounts: **medium (re-verify on CMS)**
|
||||||
|
- All specific dollar figures: **ranges, not vendor-attributed quotes** — upgrade
|
||||||
|
with live mystery-shopping when possible.
|
||||||
98
docs/healthcare-email-compliance-review.md
Normal file
98
docs/healthcare-email-compliance-review.md
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
# Healthcare cold-email compliance review (2026-06-20)
|
||||||
|
|
||||||
|
Reviewed all 10 templates in `data/hc_campaigns/` after removing prices, fixing
|
||||||
|
click tracking, and de-risking unsubstantiated status claims.
|
||||||
|
|
||||||
|
## Scope of the pass
|
||||||
|
1. **Removed all service prices** from the emails (price is now revealed on the
|
||||||
|
order page, after value is established). Catalog (`api/src/service-catalog.ts`)
|
||||||
|
remains the source of truth.
|
||||||
|
2. **Fixed click tracking** — appended `@TrackLink` + UTM to every conversion CTA
|
||||||
|
(root cause of clicks=0; Listmonk only registers links with that marker).
|
||||||
|
3. **Reframed unsubstantiated per-record status assertions** to honest, hedged,
|
||||||
|
generally-true statements (defamation / FTC-deception risk).
|
||||||
|
4. This compliance review.
|
||||||
|
|
||||||
|
## Compliance posture — item by item
|
||||||
|
|
||||||
|
### CAN-SPAM (US) — PASS
|
||||||
|
- **Physical postal address** present in every footer (Performance West Inc., 525
|
||||||
|
Randall Ave Ste 100-1195, Cheyenne, WY 82001). ✓
|
||||||
|
- **Unsubscribe** present in every template + `List-Unsubscribe` /
|
||||||
|
`List-Unsubscribe-Post` one-click headers set by the build script. ✓
|
||||||
|
- **No deceptive subject lines** — subjects are hedged ("may be out of date",
|
||||||
|
"appears deactivated", "Are you screening for…"). ✓
|
||||||
|
- **Accurate From / Reply-To** — `FROM_EMAIL` / `REPLY_TO` real, monitored. ✓
|
||||||
|
|
||||||
|
### Truth-in-advertising / FTC deception — FIXED
|
||||||
|
The biggest risk was **asserting a specific provider's record status as fact when
|
||||||
|
we don't actually measure it**. Addressed:
|
||||||
|
|
||||||
|
| Template | Was | Now |
|
||||||
|
|---|---|---|
|
||||||
|
| `nppes_outdated` | "record … appears **out of date**", header "Outdated registry information **detected**", row "**FLAGGED OUT OF DATE**", footnote "Staleness **flagged by our compliance monitoring**" | General true statement ("most practices drift out of date over time"), header "NPPES Data Check / keep your record current & attested", row "**PERIODIC REVIEW REQUIRED**", footnote cites the real CMS periodic-attestation requirement |
|
||||||
|
| `npi_reactivation` | header "Deactivated enrollment **detected**", body "**flagged** … as deactivated" | header "Provider Enrollment Check", body "**may be** deactivated … worth confirming on the official sources" |
|
||||||
|
|
||||||
|
**Why this matters:** the `nppes_outdated` audience selector (`institutional_verified`)
|
||||||
|
only checks **deliverability**, never staleness — and the harvested data has **no
|
||||||
|
NPPES last-updated field**, so a per-record "out of date / FLAGGED" claim was
|
||||||
|
literally unsubstantiated for every recipient. Now the copy is true for everyone
|
||||||
|
(CMS does require periodic NPPES attestation) and still invites them to self-verify.
|
||||||
|
|
||||||
|
### Substantiated claims that were KEPT (verified backed by data)
|
||||||
|
- `revalidation_overdue` "**is past due** / PAST DUE · N days overdue" — **OK**: the
|
||||||
|
`reval_overdue` selector requires `reval_status == "overdue"` AND a real overdue
|
||||||
|
day count derived from the **public CMS Revalidation Due Date List**. The email
|
||||||
|
also links the provider to that exact government list to self-verify. Legitimate.
|
||||||
|
- `revalidation_due_soon` "deadline is coming up" — backed by `reval_status ==
|
||||||
|
"upcoming"` from the same CMS list. ✓
|
||||||
|
- OIG "**civil monetary penalties up to $20,000 per claim**" — this is a real OIG
|
||||||
|
penalty figure (kept; it is a regulatory fact, not a price). ✓
|
||||||
|
|
||||||
|
### Government-affiliation / impersonation — PASS
|
||||||
|
- Every template carries the disclaimer **"Performance West is an independent
|
||||||
|
compliance firm, not affiliated with CMS / Medicare / OIG / SAM.gov."** ✓
|
||||||
|
- "Official record · CMS Medicare Revalidation Due Date List" refers to the **CMS
|
||||||
|
public dataset we cite** (and link to), not a claim that we are CMS. The
|
||||||
|
"Don't take our word for it — check the official CMS record" framing reinforces
|
||||||
|
that we are pointing them AT the government source, not posing as it. ✓
|
||||||
|
- No CMS/HHS logos, seals, or government-lookalike sender identity. ✓
|
||||||
|
|
||||||
|
### "No-login / done-for-you" claims — PASS (already vetted)
|
||||||
|
- Matches the verified capability map in `docs/healthcare-no-login-value-add.md`
|
||||||
|
and `docs/healthcare-filing-tiers-verified.md`. The one honesty caveat (the
|
||||||
|
provider must personally **sign** the 855; we cannot sign for them) is respected:
|
||||||
|
copy says "the only thing we may need is a one-minute e-signature," never claims
|
||||||
|
we sign on their behalf. ✓
|
||||||
|
|
||||||
|
### Guarantee / absolute-language scan — ACCEPTABLE
|
||||||
|
Scanner flagged `guarantee / never / 100% / will not`. Reviewed in context — all
|
||||||
|
benign and substantiable:
|
||||||
|
- "**100% satisfaction guarantee**" + "we'll make it right" — standard puffery /
|
||||||
|
service promise, paired with "fixed pricing, no billable hours." Acceptable.
|
||||||
|
- "You **never** share your password / you **will not** pay billable hours" —
|
||||||
|
factual descriptions of how the service works, not outcome guarantees. ✓
|
||||||
|
- No claims guaranteeing a CMS approval/outcome (which WOULD be a problem). ✓
|
||||||
|
|
||||||
|
### Trust/credibility badges — VERIFY (flag for owner)
|
||||||
|
Footers assert **"SOC 2 Type II hosting · HIPAA & PCI compliant · 256-bit TLS."**
|
||||||
|
These are factual compliance claims and must be **literally true**:
|
||||||
|
- ⚠️ **Action for Justin:** confirm we can substantiate SOC 2 Type II + HIPAA + PCI
|
||||||
|
(or soften to "encrypted, secure Stripe payments" if any is aspirational). False
|
||||||
|
compliance badges are an FTC and contractual risk. Not changed in this pass —
|
||||||
|
needs owner confirmation.
|
||||||
|
|
||||||
|
## HTML / deliverability QA — PASS
|
||||||
|
- All 10 templates render with **0 JS errors** headless, each has **exactly one
|
||||||
|
tracked `/order/...@TrackLink` CTA**, and **no price leaks** (only the $20,000
|
||||||
|
OIG penalty stat remains, intentionally).
|
||||||
|
- External self-verify links (oig.hhs.gov, sam.gov, npiregistry, data.cms.gov) left
|
||||||
|
**untracked** on purpose (they're trust links, not conversions).
|
||||||
|
|
||||||
|
## Outstanding (not blocking, recommended next)
|
||||||
|
1. **Confirm SOC 2 / HIPAA / PCI badge claims** are literally true (above).
|
||||||
|
2. **OIG $79/mo & NPPES $349 pricing** flagged as high/hard in
|
||||||
|
`docs/healthcare-competitive-pricing.md` — consider a one-time OIG entry option
|
||||||
|
and a lower NPPES anchor. (Pricing strategy, separate from compliance.)
|
||||||
|
3. **Add the free `/tools/npi-compliance-check`** as a soft secondary CTA / lead
|
||||||
|
magnet so non-buyers are captured and nurtured (funnel, separate effort).
|
||||||
|
|
@ -45,7 +45,9 @@ OUT_DIR = os.path.join(os.path.dirname(__file__), "..", "data", "hc_campaigns")
|
||||||
# subject listmonk campaign subject line
|
# subject listmonk campaign subject line
|
||||||
# template HTML file under data/hc_campaigns/ (the canonical body)
|
# template HTML file under data/hc_campaigns/ (the canonical body)
|
||||||
# cta_path order page the CTA links to (NPI appended as ?npi=)
|
# cta_path order page the CTA links to (NPI appended as ?npi=)
|
||||||
# price headline price (for reference / docs; lives in the template)
|
# price reference price only (catalog in api/src/service-catalog.ts is
|
||||||
|
# the source of truth). NOT shown in the email anymore — price is
|
||||||
|
# revealed on the order page after the value is established.
|
||||||
# list_name listmonk-hc list this segment is warmed into
|
# list_name listmonk-hc list this segment is warmed into
|
||||||
# campaign_name listmonk-hc campaign name prefix (dated per build)
|
# campaign_name listmonk-hc campaign name prefix (dated per build)
|
||||||
# selector which warmup-CSV rows belong to this segment (see cron)
|
# selector which warmup-CSV rows belong to this segment (see cron)
|
||||||
|
|
@ -90,7 +92,7 @@ SEGMENTS = {
|
||||||
"subject": "Are you screening for OIG / SAM exclusions?",
|
"subject": "Are you screening for OIG / SAM exclusions?",
|
||||||
"template": "hc_oig_screening.html",
|
"template": "hc_oig_screening.html",
|
||||||
"cta_path": "/order/oig-sam-screening",
|
"cta_path": "/order/oig-sam-screening",
|
||||||
"price": "$299",
|
"price": "$79/mo",
|
||||||
"list_name": "HC Warmup - OIG Screening",
|
"list_name": "HC Warmup - OIG Screening",
|
||||||
"campaign_name": "HC Warmup - OIG Screening",
|
"campaign_name": "HC Warmup - OIG Screening",
|
||||||
"selector": "institutional_verified",
|
"selector": "institutional_verified",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue