Medicare Formulary Change Tracker avatar

Medicare Formulary Change Tracker

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Medicare Formulary Change Tracker

Medicare Formulary Change Tracker

Tracks Medicare Part D formulary changes for the drugs you care about: tier moves, prior authorization added or removed, step therapy, quantity limits, drugs dropped from formularies. Official CMS data, plan-level context, structured output.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Kasım Genç

Kasım Genç

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Categories

Share

Tracks Medicare Part D formulary changes for the drugs you care about and reports every change as structured data:

  • "Ozempic moved from Tier 2 to Tier 3 on this formulary (39 plans)." (tier_changed)
  • "Prior authorization is now required." (prior_auth_added)
  • "Step therapy added." / "Quantity limit changed from 2/28d to 1/28d."
  • "The drug was dropped from this formulary entirely." (drug_removed_from_formulary)

Source: the official CMS Monthly Prescription Drug Plan Formulary files — the authoritative, complete record of every Part D formulary in the US, refreshed monthly. Drug names are resolved through the National Library of Medicine's RxNorm, so you can track by brand name ("Ozempic"), generic name ("semaglutide") or RXCUI — all dose forms are covered automatically.

Who uses this

  • Pharma market-access teams — know the day your product (or a competitor's) gets a tier bump, PA or ST anywhere in Part D.
  • Specialty pharmacies — anticipate reimbursement friction before prescriptions start bouncing.
  • Benefit consultants & brokers — advise clients with plan-level facts.
  • Healthcare analytics & investors — formulary positioning changes as a clean data feed.

How it works

Each run finds the newest CMS monthly release, extracts the formulary and plan-information files (a few MB via targeted range requests — not the full multi-GB archive), filters to your drugs' product RXCUIs, and diffs the coverage state of every (formulary × product) pair against the previous run's snapshot. Each change is enriched with plan context: how many plans use that formulary, sample plan names, contract ids and the states they operate in.

CMS publishes monthly — schedule the Actor weekly or monthly; runs between releases simply report zero changes.

Input

{
"drugs": ["Ozempic", "Eliquis", "Jardiance"],
"states": ["TX", "FL"],
"contractIds": [],
"emitBaselineRecords": false
}
FieldTypeDescription
drugs *string[]Brand/generic names or RXCUIs, max 200. All product dose forms are tracked per drug.
statesstring[]Optional: only formularies used by plans operating in these states.
contractIdsstring[]Optional: only formularies used by these CMS contracts (e.g. H0028).
emitBaselineRecordsbooleanPush the full current coverage picture on the first run. A nationwide drug can span 500+ formularies × dose forms — thousands of records. Default false.
snapshotStoreNamestringNamed key-value store for snapshots between runs.

Output

One dataset record per (formulary × drug product) change:

{
"drug": "Eliquis",
"product": "apixaban 5 MG Oral Tablet [Eliquis]",
"rxcui": "1364445",
"formularyId": "00026000",
"planCount": 39,
"samplePlans": ["Humana Gold Plus SNP-DE H0028-007 (HMO D-SNP)"],
"contracts": ["H0028", "H1036"],
"states": ["FL", "GA", "NE", "TX"],
"changeType": "tier_changed",
"previousTier": 4,
"currentTier": 3,
"priorAuthorization": false,
"stepTherapy": false,
"quantityLimit": "2/28d",
"changes": [
{ "field": "tier", "kind": "tier_changed", "old": 4, "new": 3, "description": "Tier 4 -> 3 (more favorable)" }
],
"sourceFileDate": "20260630",
"detectedAt": "2026-07-10T18:08:50.965Z",
"source": "CMS Monthly Prescription Drug Plan Formulary (Medicare Part D)"
}

changeType values

ValueMeaning
baselineFirst run — current coverage state (opt-in).
tier_changedCost-sharing tier moved (see previousTier/currentTier).
prior_auth_added / prior_auth_removedPA requirement toggled.
step_therapy_added / step_therapy_removedST requirement toggled.
quantity_limit_added / quantity_limit_removed / quantity_limit_changedQL toggled or amount/days changed.
drug_added_to_formularyProduct newly covered by a formulary.
drug_removed_from_formularyProduct no longer on a formulary.

A run summary (CMS release processed, counts per change type) is stored under the OUTPUT key of the default key-value store.

Notes & limitations

  • Scope: Medicare Part D (and MA-PD) formularies — the segment CMS publishes completely and machine-readably. Commercial/employer formularies are not included.
  • Changes are detected at formulary level (CMS's unit of truth); the planCount/contracts/states fields tell you the blast radius of each change.
  • The first run after the annual plan-year rollover (January file) naturally produces a large wave of changes — that's real (plans reset formularies yearly), not noise.
  • This is data, not advice: verify critical decisions against the CMS files and plan documents.