← Methods repository
concept

Secondary Medication Non-Adherence

Post-initiation failure to obtain or use medication according to the intended regimen, operationalized from longitudinal dispensing or administration histories using coverage measures such as PDC and MPR, persistence and discontinuation rules, refill gaps, or adherence trajectories.

Exposure_Definitionsecondary-non-adherenceadherencepdcmprpersistencediscontinuationrefill-gapmedication-utilization
Methods reference only. Use primary source citations and local policy before applying this in a study protocol, regulatory submission, payer dossier, or clinical decision.
Child concepts

Explore this method family

In plain language

Secondary non-adherence is what happens after a patient starts treatment but does not keep medication available or stops early. PDC and MPR summarize coverage, persistence measures how long treatment continues, and refill-gap or trajectory methods show the shape of the patient's medication history.

Secondary medication non-adherence

begins only after treatment has been initiated. It describes incomplete implementation of the prescribed regimen, early discontinuation, or both during a defined follow-up period. In electronic RWE, the observed behavior is usually medication acquisition or administration rather than ingestion: pharmacy claims show when supply was dispensed, medication administration records show doses given in a care setting, and EHR medication lists show what clinicians believe is active. The card therefore treats every metric as an operational proxy tied to a data source and denominator.

Core conceptual distinction

PDC and MPR are fixed-window coverage-intensity measures; persistence is a duration-to-discontinuation construct; refill-gap measures preserve the timing and size of uncovered intervals; trajectory models classify longitudinal patterns such as consistently high, declining, intermittent, or rapid discontinuation. PDC counts the union of covered days and is bounded at 1.0. MPR sums acquired days_supply and can exceed 1.0 when fills overlap unless capped. Persistence asks how long therapy continues before a prespecified permissible gap is exceeded and can be high even when several smaller gaps reduce PDC. No one metric is the definition of secondary non-adherence. The estimand should determine which child measure is primary.

Pros, cons, and trade-offs

A secondary-adherence hub makes the measurement choice explicit and prevents PDC, MPR, and persistence from being used as synonyms. PDC is usually preferable for bounded quality measurement; MPR can preserve information about oversupply or acquisition volume; persistence is more intuitive for time-to-discontinuation; gap sequences and trajectories expose patterns hidden by one summary number. The cost is analytic multiplicity. Reporting several metrics without prespecifying one primary rule creates threshold shopping. Choose the primary measure, observation window, stockpiling rule, inpatient rule, permissible gap, switch rule, and censoring strategy before outcomes are examined.

When to use

Use this card after a valid initiation event when the research question concerns ongoing medication availability, refill behavior, time on therapy, discontinuation, intermittent use, or adherence-pattern heterogeneity. It is appropriate for drug-utilization studies, quality measures, comparative persistence, adherence interventions, and analyses that need to distinguish inadequate treatment implementation from pharmacologic non-response. Route readers to the PDC, MPR, persistence, or trajectory child card based on the required output.

When NOT to use - and when it is actively misleading

Do not apply secondary-adherence metrics to patients who never initiated; that is primary non-adherence. Do not calculate PDC or MPR when days_supply is absent or meaningless, as for many infused or procedure-administered therapies. Do not interpret a paid claim as confirmed ingestion, or an EHR order as a dispensing. Do not count missing benefit data, plan disenrollment, cash fills, or out-of-network dispensings as uncovered days. Do not define a 12-month adherence group with future data and then start outcome follow-up at initiation; this creates immortal-time and reverse-causation bias. Use a landmark before outcome follow-up, a time-varying adherence history, or a properly specified per-protocol analysis.

Data-source operational depth

Pharmacy claims support PDC, MPR, refill gaps, and persistence when `fill_date`, `days_supply`, reversals, drug identity, and continuous pharmacy enrollment are reliable. Early refills require an explicit stockpiling/carryover rule, hospitalizations require denominator removal or bridging, and switches within a class require an interchangeable-product policy. EHR data may add prescribed dose, stop orders, reasons for discontinuation, and clinical response, but orders and medication lists are not proof of supply. Medication administration records support dose-completion and appointment-gap measures for clinician-administered therapies. Registries and patient reports add reasons and actual-use context but may be incomplete longitudinally. Linked sources are strongest when their date semantics are reconciled.

Worked example

One patient initiates a chronic oral medication on January 1 and receives three consecutive 30-day fills on January 1, January 31, and March 1. The 180-day observation window runs from January 1 through June 28. Under a carryover rule, the fills provide 90 unique covered days, so PDC is 90/180 = 0.50. MPR is also 90/180 = 0.50 because no oversupply remains beyond the window. With a 60-day permissible gap, discontinuation is assigned to March 31, the first uncovered day after the last supply; persistence is 90 days. A patient with early overlapping fills could have MPR above PDC, and a patient who restarts after a long gap could have moderate PDC but short persistence to first discontinuation. Those differences are the reason the measures remain separate children.

Index definitions

Source-backed definitions and variants for the index or checklist family.

namedefinitionsourcenotes
Proportion of Days Covered (PDC)Unique covered days during a fixed observation window divided by days in the window, bounded from 0 to 1.Raebel et al. 2013; doi:10.1097/MLR.0b013e31829b1d2aPreferred bounded coverage measure for many quality and comparative analyses.
Medication Possession Ratio (MPR)Total days_supply acquired during the measurement interval divided by days in the interval.Steiner and Prochazka 1997; doi:10.1016/S0895-4356(96)00268-5Can exceed 1.0 under overlapping fills unless capped; preserves acquisition volume.
Persistence / time to discontinuationDuration from treatment initiation until discontinuation, usually identified after a permissible gap is exceeded.Cramer et al. 2008; doi:10.1111/j.1524-4733.2007.00213.xA duration construct, not a fixed-window coverage percentage.
Continuous measure of medication gaps (CMG)Proportion of the observation interval without medication available; under compatible rules it is the complement of PDC.Raebel et al. 2013; doi:10.1097/MLR.0b013e31829b1d2aExpresses non-adherence as uncovered time rather than covered time.
Refill-gap sequenceOrdered sizes and timing of uncovered intervals between dispensings rather than one aggregate ratio.Steiner and Prochazka 1997; doi:10.1016/S0895-4356(96)00268-5Retains intermittent-use patterns that PDC and MPR compress.
Group-based adherence trajectoryModel-based longitudinal class assignment using repeated coverage or refill measures over time.Child card group-based-trajectory-models-lcaUseful when pattern heterogeneity is itself the target, but class selection and future-window bias must be addressed.

Worked example

Scenario

A patient has three consecutive 30-day fills and then no further dispensing during a 180-day window. The analysis compares fixed-window coverage measures with time to discontinuation.

Dataset

Three pharmacy dispensings for one initiated patient.

person_idfill_datedays_supply
20012024-01-0130
20012024-01-3130
20012024-03-0130

Steps

  • Build daily coverage from January 1 through June 28 using a carryover rule for overlapping fills.

  • The three fills contribute 90 unique covered days, so PDC equals 90 divided by 180, or 0.50.

  • Total acquired supply is also 90 days, so uncapped MPR equals 90 divided by 180, or 0.50.

  • With a 60-day permissible gap, discontinuation is backdated to March 31, the first uncovered day after 90 days of supply.

  • Persistence is 90 days from initiation to discontinuation; PDC and persistence therefore express different aspects of the same history.

Result

PDC = 0.50, MPR = 0.50, and persistence = 90 days under a 60-day permissible-gap rule.

Runnable example

python implementation

Calculate PDC, uncapped MPR, and first-discontinuation persistence. Input fills has person_id, fill_date, and days_supply; index has person_id, index_date, window_end. This compact example assumes same-drug fills, cleaned reversals, continuous...

import pandas as pd

GAP_DAYS = 60
rows = []
for person_id, person_fills in fills.sort_values("fill_date").groupby("person_id"):
    start = index.loc[index.person_id.eq(person_id), "index_date"].iloc[0]
    end = index.loc[index.person_id.eq(person_id), "window_end"].iloc[0]
    window_days = (end - start).days + 1
    covered = set()
    supply_end = start
    discontinuation = pd.NaT
    total_supply = 0
    for fill in person_fills.itertuples():
        total_supply += int(fill.days_supply)
        fill_start = max(fill.fill_date, supply_end)
        if (fill.fill_date - supply_end).days > GAP_DAYS and pd.isna(discontinuation):
            discontinuation = supply_end
        fill_end = fill_start + pd.Timedelta(days=int(fill.days_supply))
        covered.update(pd.date_range(fill_start, fill_end - pd.Timedelta(days=1), freq="D"))
        supply_end = max(supply_end, fill_end)
    covered_days = sum(start <= day <= end for day in covered)
    rows.append({"person_id": person_id, "pdc": covered_days / window_days,
                 "mpr": total_supply / window_days,
                 "persistence_days": ((discontinuation if pd.notna(discontinuation) else supply_end) - start).days})
adherence = pd.DataFrame(rows)
r implementation

R/data.table fixed-window PDC and MPR plus a permissible-gap persistence endpoint. Inputs contain cleaned dispensings and one index/window row per initiated patient. Overlapping days are capped for PDC; this compact version does not carry stockpiled supply...

library(data.table)
setDT(fills); setDT(index)
gap_days <- 60L
daily <- fills[, .(covered_date = seq(fill_date, by = "day", length.out = days_supply)),
               by = .(person_id, fill_date)]
daily <- unique(daily)
daily <- merge(daily, index, by = "person_id")
daily <- daily[covered_date >= index_date & covered_date <= window_end]
pdc <- daily[, .(covered_days = uniqueN(covered_date)), by = person_id]
supply <- fills[, .(total_supply = sum(days_supply)), by = person_id]
out <- Reduce(function(x, y) merge(x, y, by = "person_id", all = TRUE), list(index, pdc, supply))
out[, window_days := as.integer(window_end - index_date) + 1L]
out[, `:=`(pdc = pmin(covered_days / window_days, 1), mpr = total_supply / window_days)]
setorder(fills, person_id, fill_date)
fills[, previous_end := shift(fill_date + days_supply), by = person_id]
first_gap <- fills[as.integer(fill_date - previous_end) > gap_days,
                   .(discontinuation = min(previous_end)), by = person_id]
out <- merge(out, first_gap, by = "person_id", all.x = TRUE)
out[, persistence_days := as.integer(fifelse(is.na(discontinuation), window_end + 1L, discontinuation) - index_date)]