Signature
MPR_fixed = sum_(i=1)^n [S_i] / D
| Inputs | Definition | Unit |
|---|---|---|
S_i | Days' supply recorded for fill i dispensed in the observation period | days |
D | Days from the first dispensing to the end of the observation period, counted inclusively | days, above zero |
MPR_fixed | Days' supply dispensed in the observation period as a share of the days in it | proportion, can exceed 1, often reported as a percentage |
|---|
nNumber of fills dispensed in the observation period (count)
Function
Medication possession ratio from summed days' supply function
Maps a patient's dispensing records for one medicine, each a fill date and a days' supply, to the medication possession ratio (MPR): the days' supply dispensed divided by a count of days. The variants differ in which fills enter the numerator and which days form the denominator: a fixed interval from the first dispensing to the end of the observation period, or a refill interval between the first and last dispensing, with or without the last fill. Because supply is summed without regard to overlap, an uncapped MPR can exceed 1, and it is often capped at 1. The records follow the notation of the Medication Possession Ratio article. The proportion of days covered, which counts unique covered days instead, is HE-FM-PDC-001.
Computational function
Computational function: medication possession ratio variants from a fill history and window
Takes a patient's fill history for one medicine, as dispensing days and days' supply, and the last day of the observation period, and returns the fixed-interval MPR (HE-FM-MPR-001), the refill-interval MPR including the last fill (HE-FM-MPR-002), the MPRm excluding it (HE-FM-MPR-003) and the capped fixed-interval MPR (HE-FM-MPR-004). It keeps the fills dispensed on or before the end day, sorts them by date, and builds each denominator from the first and last dispensing days. The inputs therefore differ from the formulas' variables: the formulas need D, f_1, f_n and S_n, and the function derives them from the raw fills.
Inputs and outputs:
fill_day: Dispensing day of each fill, with the first dispensing as day 1; required, whole numbers. Unit: day number.;supply: Days' supply of each fill, in the same order; required, above zero. Unit: days.;end_day: Last day of the observation period on the same scale; required. Unit: day number.;fixed,refill,mprm,capped: The four ratios. Unit: proportion; all but the capped ratio can exceed 1.Assumption: The fills are of one medicine, the dispensing record is complete and dispensed supply is taken as directed. The refill-interval ratios need at least two fills on different days.
Worked example (Five fills over 180 days): The article's history gives a fixed-interval MPR of about 1.167, a refill-interval MPR of about 1.055, a capped MPR of 1 and an MPRm of about 1.065 (computed here for illustration).
fill_day = [1,22,45,121,170]; supply = [30,30,30,90,30]; end_day = 180; MPR_fixed = 1.1667; MPR_refill = 1.0553; MPR_m = 1.0651; MPR_capped = 1Worked example (Patient stops after the third fill): With fills on days 1, 22 and 45 only, the fixed interval gives 0.5 while the refill interval including the last fill gives about 1.216 (computed here for illustration).
fill_day = [1,22,45]; supply = [30,30,30]; end_day = 180; MPR_fixed = 0.5; MPR_refill = 1.2162; MPR_m = 1.3636; MPR_capped = 0.5Excel:
=SUMIFS(Supplies,FillDays,"<="&EndDay)/(EndDay-MIN(FillDays)+1)With dispensing days in a range named FillDays, days' supply in a range named Supplies and the end day in a cell named EndDay, this returns the fixed-interval MPR. The refill-interval MPR is=SUM(Supplies)/(MAX(FillDays)-MIN(FillDays)+INDEX(Supplies,MATCH(MAX(FillDays),FillDays,0)))for fills up to the end day.R:
mpr <- function(fill_day, supply, end_day) { k <- fill_day <= end_day; o <- order(fill_day[k]); f <- fill_day[k][o]; s <- supply[k][o]; n <- length(f); fixed <- sum(s)/(end_day-f[1]+1); c(fixed = fixed, refill = sum(s)/(f[n]-f[1]+s[n]), mprm = (sum(s)-s[n])/(f[n]-f[1]), capped = min(fixed, 1)) }Returns 1.1667, 1.0553, 1.0651 and 1 for the article's fills.Python:
def mpr(fill_day, supply, end_day): fs = sorted((f, s) for f, s in zip(fill_day, supply) if f <= end_day); tot = sum(s for _, s in fs); fixed = tot/(end_day-fs[0][0]+1); return {"fixed": fixed, "refill": tot/(fs[-1][0]-fs[0][0]+fs[-1][1]), "mprm": (tot-fs[-1][1])/(fs[-1][0]-fs[0][0]), "capped": min(fixed, 1)}With a single fill the MPRm divides by zero, so such patients are handled separately.Test (Capped ratio equals the uncapped ratio at or below 1): The cap changes only values above 1. Expected result: TRUE. Excel check:
=OR(MPRFixed>1,MPRCapped=MPRFixed)Test (Fixed and refill intervals agree when the last supply ends on the end day): When the last fill's supply runs out exactly on the end day, the two denominators are the same number of days and the two ratios coincide. Expected result: TRUE. Excel check:
=IF(LastFillDay+LastSupply-1=EndDay,ABS(MPRRefill-MPRFixed)<1E-9,TRUE)Common error (Taking the last record rather than the latest dispensing): If the day-121 fill is the last row of unsorted data, using it as the last fill gives a refill-interval denominator of 120 + 90 = 210 days and a ratio of 1.000 instead of about 1.055 (computed here for illustration). The fills are sorted by dispensing day first.
Source: Raebel MA, Schmittdiel J, Karter AJ, Konieczny JL, Steiner JF. Standardizing terminology and definitions of medication adherence and persistence in research employing electronic databases. Medical Care. 2013;51(8 Suppl 3):S11-S21. Table 2, MPR row: variations 1 to 3 and the cap at 1.0.
D = E - f_1 + 1; MPR_fixed = sum_(i=1)^n [S_i] / D; MPR_refill = sum_(i=1)^n [S_i] / (f_n - f_1 + S_n); MPR_m = (sum_(i=1)^n [S_i] - S_n) / (f_n - f_1); MPR_capped = min(MPR_fixed, 1)
Try this function
Implementations
Excel
Fixed-interval MPR from a supply range and window days
Excel sums the named range holding the days' supply of the fills dispensed in the window and divides by the days from the named first dispensing day to the named end day, inclusive.
=SUM(Supplies)/(EndDay-FirstFillDay+1)
Assumptions
Dispensed supply taken as directed
Possession stands for use: medicine dispensed is assumed to be taken as prescribed. Patients may give medicine to others, discard it before refilling or stockpile it, none of which the ratio can detect.
Window long enough after the first dispensing
Measurement starts with a dispensing, which biases the ratio upwards over short windows. In an asthma cohort whose fills typically lasted 2 to 3 months, the bias was most pronounced over periods shorter than about 9 months.
Worked examples
Fixed-interval MPR of the five-fill history over 180 days
The article's five fills (days 1, 22, 45, 121 and 170) supply 30 + 30 + 30 + 90 + 30 = 210 days over a 180-day window, so the fixed-interval MPR is 210 / 180, about 1.167, although days 91 to 120 had no medicine.
n = 5; S_i = [30,30,30,90,30]; D = 180; MPR_fixed = 1.1667
Fixed-interval MPR when the patient stops after the third fill
If the patient in the same example made no fill after day 45, the three fills supply 90 days and the ratio over the 180-day window is 0.5, so the fixed interval records the discontinuation (computed here for illustration).
n = 3; S_i = [30,30,30]; D = 180; MPR_fixed = 0.5
Common errors
Reading an MPR above 0.8 as continuous supply
The article's patient has an MPR of about 1.167, or 1.000 capped, while 30 of the 180 days (16.7%) had no medicine and the PDC is about 0.833. Every version of the MPR passes an 80% threshold, so a dichotomised MPR hides the gap.
Summing supply across drugs in a class for the MPR
When the MPR is calculated for a class, a switch between drugs with an overlap, or two drugs taken together, adds both supplies to the numerator. Two drugs from the same class each dispensed for 90 days on day 1 of a 90-day window give an MPR of 2 for 90 days of treatment (computed here for illustration).
Sources
Standard definitions and variants of the medication possession ratio
Raebel MA, Schmittdiel J, Karter AJ, Konieczny JL, Steiner JF. Standardizing terminology and definitions of medication adherence and persistence in research employing electronic databases. Medical Care. 2013;51(8 Suppl 3):S11-S21. Table 2, MPR row: ratio of total days' supply to days in the observation period, variation 1 (most common) from the first dispensing to the end of the observation period, which accounts for discontinuation; overestimation with early refills, class switching and concurrent drugs in a class.
Upward bias of dispensing-based adherence measures over short windows
Vollmer WM, Xu M, Feldstein A, Smith D, Waterbury A, Rand C. Comparison of pharmacy-based measures of medication adherence. BMC Health Services Research. 2012;12:155. Results and Discussion: measures that require a dispensing to start are biased upwards, especially over periods shorter than about 9 months, in a cohort whose inhaled corticosteroid fills averaged 2 to 3 months.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0