hc: auto-reply for 'already revalidated' replies + permanent suppression
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.
This commit is contained in:
parent
9cb10b18e0
commit
a78d60a127
3 changed files with 155 additions and 0 deletions
114
docs/carbonio-reval-autoreply-setup.md
Normal file
114
docs/carbonio-reval-autoreply-setup.md
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
# 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.
|
||||
23
docs/hc-reval-already-completed-reply.txt
Normal file
23
docs/hc-reval-already-completed-reply.txt
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
SUBJECT: Re: Your Medicare revalidation — thank you for confirming
|
||||
|
||||
Hi {{first name}},
|
||||
|
||||
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 provider's 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue