| Literature DB >> 28445530 |
Alexandra Lelia Dima1,2, Dan Dediu3,4.
Abstract
Adherence to medications is an important indicator of the quality of medication management and impacts on health outcomes and cost-effectiveness of healthcare delivery. Electronic healthcare data (EHD) are increasingly used to estimate adherence in research and clinical practice, yet standardization and transparency of data processing are still a concern. Comprehensive and flexible open-source algorithms can facilitate the development of high-quality, consistent, and reproducible evidence in this field. Some EHD-based clinical decision support systems (CDSS) include visualization of medication histories, but this is rarely integrated in adherence analyses and not easily accessible for data exploration or implementation in new clinical settings. We introduce AdhereR, a package for the widely used open-source statistical environment R, designed to support researchers in computing EHD-based adherence estimates and in visualizing individual medication histories and adherence patterns. AdhereR implements a set of functions that are consistent with current adherence guidelines, definitions and operationalizations. We illustrate the use of AdhereR with an example dataset of 2-year records of 100 patients and describe the various analysis choices possible and how they can be adapted to different health conditions and types of medications. The package is freely available for use and its implementation facilitates the integration of medication history visualizations in open-source CDSS platforms.Entities:
Mesh:
Year: 2017 PMID: 28445530 PMCID: PMC5405929 DOI: 10.1371/journal.pone.0174426
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Two example patients (from the hypothetical dataset available in AdhereR) used in this article to illustrate computations of persistence and adherence.
| PATIENT_ID | DATE | PERDAY | CATEGORY | DURATION |
|---|---|---|---|---|
| 37 | 04/10/2036 | 4 | medA | 50 |
| 37 | 07/30/2036 | 4 | medA | 50 |
| 37 | 09/15/2036 | 4 | medA | 50 |
| 37 | 01/02/2037 | 4 | medB | 30 |
| 37 | 01/31/2037 | 4 | medB | 30 |
| 37 | 05/09/2037 | 4 | medB | 30 |
| 37 | 08/13/2037 | 4 | medB | 30 |
| 37 | 11/09/2037 | 4 | medB | 30 |
| 76 | 12/13/2035 | 20 | medA | 30 |
| 76 | 01/18/2036 | 20 | medA | 30 |
| 76 | 01/23/2036 | 2 | medA | 60 |
| 76 | 04/25/2036 | 2 | medA | 60 |
| 76 | 08/08/2036 | 2 | medA | 60 |
| 76 | 10/03/2036 | 2 | medA | 60 |
| 76 | 11/29/2036 | 2 | medA | 60 |
| 76 | 12/21/2036 | 6 | medB | 30 |
| 76 | 01/05/2037 | 6 | medB | 30 |
| 76 | 07/13/2037 | 6 | medB | 30 |
| 76 | 10/11/2037 | 2 | medA | 30 |
Treatment episodes for two example patients under three different scenarios.
| Scenario | Patient ID | Episode number | Date of episode start | Number of gap days after or at the end of the episode | Number of days in the episode (duration) | Date of episode end |
|---|---|---|---|---|---|---|
| A | 37 | 1 | 2036-04-10 | 122 | 608 | 2037-12-09 |
| 76 | 1 | 2035-12-13 | 144 | 434 | 2037-02-19 | |
| 2 | 2037-07-13 | 32 | 152 | 2037-12-12 | ||
| B | 37 | 1 | 2036-04-10 | 61 | 50 | 2036-05-30 |
| 2 | 2036-07-30 | 67 | 216 | 2037-03-03 | ||
| 3 | 2037-05-09 | 66 | 30 | 2037-06-08 | ||
| 4 | 2037-08-13 | 122 | 118 | 2037-12-09 | ||
| 76 | 1 | 2035-12-13 | 144 | 434 | 2037-02-19 | |
| 2 | 2037-07-13 | 32 | 152 | 2037-12-12 | ||
| C | 37 | 1 | 2036-04-10 | 56 | 211 | 2036-11-07 |
| 2 | 2037-01-02 | 122 | 463 | 2038-04-10 | ||
| 76 | 1 | 2035-12-13 | 0 | 374 | 2036-12-21 | |
| 2 | 2036-12-21 | 60 | 234 | 2037-08-12 | ||
| 3 | 2037-10-11 | 32 | 62 | 2037-12-12 |
A: 90-day gap, no change of treatment episode when medication changes;
B: 60-day gap, no change of treatment episode when medication changes;
C: 180-day gap, new treatment episode when medication changes
All three scenarios refer to a 2-year follow-up window from the first medication event, with carry-over within the observation window, only for the same medication, considering dosage change.
The nine CMAs implemented in AdhereR (the first eight described in Vollmer et al (11), the last original).
| CMA | Description | 2-year simple CMA | 1-year simple CMA | CMA per episode | Sliding window CMA |
|---|---|---|---|---|---|
| 1 | total number of days of medication supplied in the OW, excluding the last event; the durations of all events are added up, possibly resulting in an estimate > 1.0 | 67.4% | 140.0% | 100.3% | 85.2% |
| 33.3% | 30.6% | ||||
| 2 | total number of days of medication supplied in the OW, including the last event; the durations of all events are added up, possibly resulting in an estimate > 1.0 | 65.8% | 77.9% | 87.7% | 98.6% |
| 39.5% | 33.7% | ||||
| 3 | CMA1, capped at 1 | 67.4% | 100% | 100.0% | 85.2% |
| 33.3% | 30.6% | ||||
| 4 | CMA2, capped at 1 | 65.8% | 77.9% | 87.7% | 98.6% |
| 39.5% | 33.7% | ||||
| 5 | number of gap days for all event intervals are extracted from the total time interval; (accounting for carry over within OW and excluding the supply left) | 67.4% | 100% | 84.8% | 83.2% |
| 33.3% | 30.6% | ||||
| 6 | number of gap days for all event intervals are extracted from the total time interval; (accounting for carry over within OW and excluding the supply left) | 65.8% | 77.9% | 87.7% | 83.8% |
| 39.5% | 33.7% | ||||
| 7 | number of gap days for all event intervals extracted from the total time interval; (accounting for carry over from before the OW and within OW, and excluding the supply left at the OW end) | 65.8% | 69.0% | 87.7% | 83.8% |
| 39.5% | 47.7% | ||||
| 8 | number of gap days for all event intervals extracted from the total time interval; (accounting for carry over within OW and excluding the supply left at the OW end); the period covered by the supply carried-over from before the OW is excluded by a lagged start of the OW | 65.8% | 68.0% | 87.7% | 83.8% |
| 39.5% | 38.6% | ||||
| 9 | Similar to CMA7 and CMA8, except how carryover from before the OW and supply left at the OW end are treated: the supply of each medication event is evenly spread until the next event (ratio days supply up to 100%); oversupply is carried over to the next event | 65.8% | 70.6% | 87.7% | 83.8% |
| 39.5% | 47.7% |
CMA: continuous multiple-interval measures of medication availability/gaps; OW: observation window; FUW: follow-up window;
* CMA8 is designed for when an event with a hypothesized causal effect on adherence happens at the OW start (e.g. enrolment in an intervention study); in this case, it may be that the existing supply is not part of the relationship under study (e.g. it delays the actual start of the study for that participant) and needs to be excluded by shortening the time interval examined;
# In longitudinal studies with multiple adherence measures, the assumption of 100% adherence until current supply ends (used in CMA7) may introduce additional variation in adherence estimates depending on where the OW start is located between last event before OW start and the first event in the OW: an OW start closer to the first event in the OW generates lower estimates for the same number of gap days between the two events. To address this, CMA9 first computes a ratio of days’ supply for each event in the FUW (until the next event or FUW end), then weighs all days in the OW by their corresponding ratio to generate an average CMA value for the OW.
Fig 1Screenshot of interactive plotting session for patient 76.
Fig 2Publication-quality plotting for simple, per-episode, and sliding-window CMA 9 for patient 76.
Performance (single and two-threaded) computing CMAs for a large dataset (13922 patients with 112983 events) on a consumer-grade laptop.
| CMA | Single-threaded (min) | Two threads, multicore (min) | Two threads, snow (min) |
|---|---|---|---|
| CMA 1 | 0.68 | 0.35 | 0.37 |
| CMA 2 | 0.69 | 0.36 | 0.41 |
| CMA 3 | 0.66 | 0.34 | 0.38 |
| CMA 4 | 0.67 | 0.36 | 0.38 |
| CMA 5 | 0.94 | 0.50 | 0.53 |
| CMA 6 | 0.97 | 0.52 | 0.54 |
| CMA 7 | 0.93 | 0.48 | 0.51 |
| CMA 8 | 2.20 | 1.21 | 1.19 |
| CMA 9 | 2.66 | 1.42 | 1.44 |
| per episode | 4.40 | 2.32 | 2.33 |
| sliding window | 10.73 | 5.80 | 5.66 |
* gap = 180 days → 20009 episodes;
# length = 180 days, step = 90 days → 97454 windows
The times shown are “real” (i.e., clock) running time in minutes as reported by R’s system.time() function. In all cases, the follow-up window and observation window are identical and 2 years long. CMA per episode and sliding window computed CMA1 for each episode/window. Please note that the parallel times are longer than half the single-core times due to various overheads.
Performance (single and four-threaded) computing CMAs for a very large dataset (500000 patients with 4058110 events) on a mid/high range desktop computer.
| CMA | Single-threaded (min) | Four threads, multicore (min) | Four threads, snow (min) |
|---|---|---|---|
| CMA 1 | 30.66 | 9.62 | 12.59 |
| CMA 2 | 29.65 | 8.17 | 15.26 |
| CMA 3 | 28.01 | 7.64 | 10.14 |
| CMA 4 | 29.65 | 8.15 | 10.74 |
| CMA 5 | 41.68 | 11.39 | 14.44 |
| CMA 6 | 43.33 | 11.91 | 18.73 |
| CMA 7 | 41.35 | 11.32 | 16.47 |
| CMA 8 | 99.97 (= 1.7 hours) | 25.97 | 33.66 |
| CMA 9 | 117.33 (= 1.9 hours) | 31.58 | 50.05 |
| per episode | 192.47 (= 3.2 hours) | 50.51 | 66.57 |
| sliding window | 460.86 (= 7.7 hours) | 119.97 (= 2.0 hours) | 204.81 (= 3.4 hours) |
* gap = 180 days;
# length = 180 days, step = 90 days