A lead replied with proof their Medicare revalidation was already approved (CMS
data-lag: the public Revalidation Due Date List still showed them overdue weeks
after approval). Two of these arrived same-day, so:
- Carbonio auto-reply (deployed on co.carrierone.com): created mailbox
hc-replies@ on the info@ distribution list with a Sieve that auto-acknowledges
'my revalidation is already complete' replies (tag + mark read + file into a
'Reval Completed (auto-acked)' folder + on-brand reply explaining the CMS lag).
CRITICAL: info@ is the shared reply-to for ALL campaigns (healthcare, trucking,
telecom), so every rule is anchored to Medicare/revalidation context -- a
trucking 'MCS-150 done, this is bogus' or telecom 'RMD done' reply does NOT
trigger it (tested + passing). A buyer guard ('please file / how much') also
suppresses the auto-reply so a human handles the sale.
Carbonio 25.x Sieve quirks documented (vacation/imap4flags/body :text all
unsupported; use reply/flag/tag/body :contains).
- Permanent suppression: new data/hc_suppress.txt do-not-contact list the warmup
honors at import AND --prune removes from the live lists. Seeded with the two
completed providers (Pangea Lab, Yakima Valley FWC); both also blocklisted in
listmonk_hc and removed from lists 3 + 4.
114 lines
5.1 KiB
Markdown
114 lines
5.1 KiB
Markdown
# Carbonio auto-reply: "my Medicare revalidation is already complete" replies
|
|
|
|
Recurring pattern (Pangea Lab/Sue Kincer; Yakima Valley Farm Workers/Sheila
|
|
Robertson, both same day). Root cause is the CMS data-lag window: the public CMS
|
|
Medicare Revalidation Due Date List still shows a provider as due for several
|
|
weeks after they have actually been approved, so a recently completed
|
|
revalidation can still look overdue in the published data we target from. Our
|
|
outreach matched the official list; the list was just behind reality.
|
|
|
|
## How it's deployed (Carbonio / co.carrierone.com)
|
|
|
|
`info@performancewest.net` is a Carbonio **distribution list**, and EVERY PW
|
|
campaign (healthcare, trucking, telecom) uses `info@` as its reply-to. So the
|
|
auto-reply must (a) live on a mailbox that receives `info@` mail and (b) be
|
|
anchored to Medicare/revalidation context so it never fires on a trucking
|
|
(MCS-150/UCR) or telecom (FCC/RMD) reply.
|
|
|
|
Setup that is LIVE:
|
|
- Created mailbox `hc-replies@performancewest.net` and added it as a second
|
|
member of the `info@` distribution list (justin@ stays on it too).
|
|
- Installed the Sieve below on hc-replies@ via
|
|
`zmprov ma hc-replies@performancewest.net zimbraMailSieveScript "<script>"`
|
|
then `zmprov fc account hc-replies@performancewest.net`.
|
|
- Created folder "Reval Completed (auto-acked)" on hc-replies@.
|
|
|
|
Carbonio Sieve gotchas learned the hard way (this version = 25.3.1 Zextras):
|
|
- `vacation` is NOT supported as an incoming-filter action -> use `reply`.
|
|
- `imap4flags` / `addflag` are NOT supported -> use `flag "read"`.
|
|
- `body :text :contains` fails ("Subnode null") -> use `body :contains`.
|
|
- Tagging uses the `tag` action, not addflag.
|
|
|
|
## The working Sieve (as deployed)
|
|
|
|
require ["fileinto", "reply", "tag", "flag", "body"];
|
|
|
|
# 1) Genuine healthcare service request -> do nothing, a human handles the sale.
|
|
if allof (
|
|
anyof (
|
|
body :contains "revalidation",
|
|
body :contains "medicare",
|
|
body :contains "pecos",
|
|
body :contains "npi"
|
|
),
|
|
anyof (
|
|
body :contains "please file",
|
|
body :contains "sign me up",
|
|
body :contains "get started",
|
|
body :contains "how much",
|
|
body :contains "interested"
|
|
)
|
|
) {
|
|
stop;
|
|
}
|
|
|
|
# 2) Healthcare reval "already complete / objection" -> auto-acknowledge, tag,
|
|
# mark read, file into the auto-acked folder. The Medicare/reval ANCHOR (first
|
|
# anyof) is mandatory so trucking/telecom replies on the shared info@ list
|
|
# (MCS-150, UCR, FCC, RMD, etc.) never trigger this.
|
|
if allof (
|
|
anyof (
|
|
body :contains "revalidation",
|
|
header :contains "subject" "revalidation",
|
|
body :contains "medicare",
|
|
body :contains "pecos"
|
|
),
|
|
anyof (
|
|
body :contains "was completed",
|
|
body :contains "already revalidated",
|
|
body :contains "was approved",
|
|
body :contains "already completed",
|
|
body :contains "already done",
|
|
body :contains "this is bogus",
|
|
body :contains "is bogus",
|
|
body :contains "completed on"
|
|
)
|
|
) {
|
|
tag "reval-already-complete";
|
|
flag "read";
|
|
reply "Hi,
|
|
|
|
Thank you for letting us know, and congratulations on completing your revalidation. We have noted it and removed your practice from any further revalidation reminders.
|
|
|
|
For context: our notice was based on the CMS public Medicare Revalidation Due Date List, which CMS refreshes periodically. There is often a lag of several weeks between when a providers revalidation is approved and when CMS updates that public list, so a recently completed revalidation can still show as due in the published data. That appears to be exactly what happened here.
|
|
|
|
No action is needed on your part. If we can ever help with NPI/NPPES updates, enrollment, reactivation, or OIG/SAM exclusion screening, we are glad to assist.
|
|
|
|
Thank you again for the heads-up, and apologies for any confusion.
|
|
|
|
Best regards,
|
|
Performance West Compliance
|
|
(888) 411-0383 - info@performancewest.net
|
|
Performance West is an independent compliance firm, not affiliated with CMS or Medicare.";
|
|
fileinto "Reval Completed (auto-acked)";
|
|
stop;
|
|
}
|
|
|
|
## Tested
|
|
- Healthcare "Medicare revalidation was completed / this is bogus" -> auto-reply
|
|
sent, tagged, marked read, filed into Reval Completed (auto-acked). PASS.
|
|
- Trucking "MCS-150 already completed, this is bogus" -> NO reply, stays in
|
|
Inbox for a human. PASS.
|
|
- Telecom "RMD filing completed, this is bogus" -> NO reply, stays in Inbox.
|
|
PASS.
|
|
- Healthcare "please file it for me, how much" -> NO auto-reply (buyer guard),
|
|
stays in Inbox. PASS.
|
|
|
|
## Suppression (so the warmup never re-mails a completed provider)
|
|
Append the provider's email to data/hc_suppress.txt, then run:
|
|
python3 scripts/build_healthcare_campaigns_cron.py --prune-only
|
|
The cron skips suppressed emails at import, and --prune removes them from the
|
|
warmup lists. Done for:
|
|
- Pangea Laboratory LLC, NPI 1851915888 (reval approved 05/01/2026) -- skincer@medicalpracticepartner.com
|
|
- Yakima Valley Farm Workers Clinic, NPI 1710422407 (approved 04/29/2026) -- sheilar@yvfwc.org
|
|
Both also blocklisted in listmonk_hc and removed from lists 3 + 4.
|