CMA9 {AdhereR} | R Documentation |
CMA9 constructor.
Description
Constructs a CMA (continuous multiple-interval measures of medication availability/gaps) type 9 object.
Usage
CMA9(
data = NULL,
ID.colname = NA,
event.date.colname = NA,
event.duration.colname = NA,
event.daily.dose.colname = NA,
medication.class.colname = NA,
medication.groups = NULL,
flatten.medication.groups = FALSE,
medication.groups.colname = ".MED_GROUP_ID",
carry.only.for.same.medication = FALSE,
consider.dosage.change = FALSE,
followup.window.start = 0,
followup.window.start.unit = c("days", "weeks", "months", "years")[1],
followup.window.start.per.medication.group = FALSE,
followup.window.duration = 365 * 2,
followup.window.duration.unit = c("days", "weeks", "months", "years")[1],
observation.window.start = 0,
observation.window.start.unit = c("days", "weeks", "months", "years")[1],
observation.window.duration = 365 * 2,
observation.window.duration.unit = c("days", "weeks", "months", "years")[1],
date.format = "%m/%d/%Y",
summary = NA,
event.interval.colname = "event.interval",
gap.days.colname = "gap.days",
force.NA.CMA.for.failed.patients = TRUE,
parallel.backend = c("none", "multicore", "snow", "snow(SOCK)", "snow(MPI)",
"snow(NWS)")[1],
parallel.threads = "auto",
suppress.warnings = FALSE,
suppress.special.argument.checks = TRUE,
arguments.that.should.not.be.defined = c(carryover.within.obs.window = TRUE,
carryover.into.obs.window = TRUE),
...
)
Arguments
data |
A |
ID.colname |
A string, the name of the column in |
event.date.colname |
A string, the name of the column in
|
event.duration.colname |
A string, the name of the column in
|
event.daily.dose.colname |
A string, the name of the column in
|
medication.class.colname |
A string, the name of the column in
|
medication.groups |
A vector of characters defining medication
groups or the name of a column in |
flatten.medication.groups |
Logical, if |
medication.groups.colname |
a string (defaults to ".MED_GROUP_ID")
giving the name of the column storing the group name when
|
carry.only.for.same.medication |
Logical, if |
consider.dosage.change |
Logical, if |
followup.window.start |
If a |
followup.window.start.unit |
can be either "days",
"weeks", "months" or "years", and represents the time
units that |
followup.window.start.per.medication.group |
a logical: if there are
medication groups defined and this is |
followup.window.duration |
either a number representing the
duration of the follow-up window in the time units given in
|
followup.window.duration.unit |
can be either "days",
"weeks", "months" or "years", and represents the time
units that |
observation.window.start , observation.window.start.unit , observation.window.duration , observation.window.duration.unit |
the definition of the observation window (see the follow-up window parameters above for details). |
date.format |
A string giving the format of the dates used in the
|
summary |
Metadata as a string, briefly describing this CMA. |
event.interval.colname |
A string, the name of a newly-created
column storing the number of days between the start of the current event and
the start of the next one; the default value "event.interval" should be
changed only if there is a naming conflict with a pre-existing
"event.interval" column in |
gap.days.colname |
A string, the name of a newly-created column
storing the number of days when medication was not available (i.e., the
"gap days"); the default value "gap.days" should be changed only if there is
a naming conflict with a pre-existing "gap.days" column in |
force.NA.CMA.for.failed.patients |
Logical describing how the
patients for which the CMA estimation fails are treated: if |
parallel.backend |
Can be "none" (the default) for single-threaded
execution, "multicore" (using |
parallel.threads |
Can be "auto" (for |
suppress.warnings |
Logical, if |
suppress.special.argument.checks |
Logical parameter for internal
use; if |
arguments.that.should.not.be.defined |
a list of argument names and pre-defined valuesfor which a warning should be thrown if passed to the function. |
... |
other possible parameters |
Details
CMA9
is similar to CMA7
and CMA8
in that it accounts for
carry-over within and before the observation window assuming that new
medication is "banked" until needed (oversupply from previous events is used
first, followed new medication supply). Yet, unlike these previous CMAs, it
does not assume the medication is used as prescribed; in longitudinal studies
with multiple CMA measures, this assumption may introduce additional
variation in CMA estimates depending on when the observation window starts
in relation to the previous medication event. A shorter time distance from
the previous event (and longer to the first event in the observation window)
results in higher values even if the number of gap days is the same, and it
may also be that the patient has had a similar use pattern for that time
interval, rather than perfect adherence followed by no medication use.
CMA9
applies a different adjustment: it computes a ratio of days
supply over each interval between two prescriptions and considers this
applies for each day of that interval, up to 100% (moving oversupply to the
next event interval). All medication events in the follow up window before
observation window are considered for carry-over calculation. The last
interval ends at the end of the follow-up window.
Thus, it accounts for timing within the observation window, as well as
before (but differently from CMA7
and CMA8
), and excludes the
remaining supply at the end of the observation window, if any.
The formula is
(number of days in the observation window, each weighted by the ratio
of days supply applicable to their event interval) / (start to end of
observation window)
Observations:
the
carry.only.for.same.medication
parameter controls the transmission of carry-over across medication changes, producing a "standard"CMA7
(default value is FALSE), and an "alternative"CMA7b
, respectively;the
consider.dosage.change
parameter controls if dosage changes are taken into account, i.e. if set as TRUE and a new medication event has a different daily dosage recommendation, carry-over is recomputed assuming medication use according to the new prescribed dosage (default value is FALSE).
Value
An S3
object of class CMA9
(derived from CMA0
)
with the following fields:
-
data
The actual event data, as given by thedata
parameter. -
ID.colname
the name of the column indata
containing the unique patient ID, as given by theID.colname
parameter. -
event.date.colname
the name of the column indata
containing the start date of the event (in the format given in thedate.format
parameter), as given by theevent.date.colname
parameter. -
event.duration.colname
the name of the column indata
containing the event duration (in days), as given by theevent.duration.colname
parameter. -
event.daily.dose.colname
the name of the column indata
containing the prescribed daily dose, as given by theevent.daily.dose.colname
parameter. -
medication.class.colname
the name of the column indata
containing the classes/types/groups of medication, as given by themedication.class.colname
parameter. -
carry.only.for.same.medication
whether the carry-over applies only across medication of the same type, as given by thecarry.only.for.same.medication
parameter. -
consider.dosage.change
whether the carry-over is adjusted to reflect changes in dosage, as given by theconsider.dosage.change
parameter. -
followup.window.start
the beginning of the follow-up window, as given by thefollowup.window.start
parameter. -
followup.window.start.unit
the time unit of thefollowup.window.start
, as given by thefollowup.window.start.unit
parameter. -
followup.window.duration
the duration of the follow-up window, as given by thefollowup.window.duration
parameter. -
followup.window.duration.unit
the time unit of thefollowup.window.duration
, as given by thefollowup.window.duration.unit
parameter. -
observation.window.start
the beginning of the observation window, as given by theobservation.window.start
parameter. -
observation.window.start.unit
the time unit of theobservation.window.start
, as given by theobservation.window.start.unit
parameter. -
observation.window.duration
the duration of the observation window, as given by theobservation.window.duration
parameter. -
observation.window.duration.unit
the time unit of theobservation.window.duration
, as given by theobservation.window.duration.unit
parameter. -
date.format
the format of the dates, as given by thedate.format
parameter. -
summary
the metadata, as given by thesummary
parameter. -
event.info
thedata.frame
containing the event info (irrelevant for most users; seecompute.event.int.gaps
for details). -
CMA
thedata.frame
containing the actualCMA
estimates for each participant (theID.colname
column).
Please note that if medication.groups
are defined, then the CMA
and event.info
are named lists, each element containing the CMA and
event.info corresponding to a single medication group (the element's name).
Examples
cma9 <- CMA9(data=med.events,
ID.colname="PATIENT_ID",
event.date.colname="DATE",
event.duration.colname="DURATION",
event.daily.dose.colname="PERDAY",
medication.class.colname="CATEGORY",
carry.only.for.same.medication=FALSE,
consider.dosage.change=FALSE,
followup.window.start=30,
observation.window.start=30,
observation.window.duration=365,
date.format="%m/%d/%Y"
);