| CMA9 | R Documentation |
Constructs a CMA (continuous multiple-interval measures of medication availability/gaps) type 9 object.
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),
...
)
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 |
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).
An S3 object of class CMA9 (derived from CMA0)
with the following fields:
data The actual event data, as given by the data
parameter.
ID.colname the name of the column in data containing the
unique patient ID, as given by the ID.colname parameter.
event.date.colname the name of the column in data
containing the start date of the event (in the format given in the
date.format parameter), as given by the event.date.colname
parameter.
event.duration.colname the name of the column in data
containing the event duration (in days), as given by the
event.duration.colname parameter.
event.daily.dose.colname the name of the column in data
containing the prescribed daily dose, as given by the
event.daily.dose.colname parameter.
medication.class.colname the name of the column in data
containing the classes/types/groups of medication, as given by the
medication.class.colname parameter.
carry.only.for.same.medication whether the carry-over applies
only across medication of the same type, as given by the
carry.only.for.same.medication parameter.
consider.dosage.change whether the carry-over is adjusted to
reflect changes in dosage, as given by the consider.dosage.change
parameter.
followup.window.start the beginning of the follow-up window,
as given by the followup.window.start parameter.
followup.window.start.unit the time unit of the
followup.window.start, as given by the
followup.window.start.unit parameter.
followup.window.duration the duration of the follow-up window,
as given by the followup.window.duration parameter.
followup.window.duration.unit the time unit of the
followup.window.duration, as given by the
followup.window.duration.unit parameter.
observation.window.start the beginning of the observation
window, as given by the observation.window.start parameter.
observation.window.start.unit the time unit of the
observation.window.start, as given by the
observation.window.start.unit parameter.
observation.window.duration the duration of the observation
window, as given by the observation.window.duration parameter.
observation.window.duration.unit the time unit of the
observation.window.duration, as given by the
observation.window.duration.unit parameter.
date.format the format of the dates, as given by the
date.format parameter.
summary the metadata, as given by the summary parameter.
event.info the data.frame containing the event info
(irrelevant for most users; see compute.event.int.gaps for
details).
CMA the data.frame containing the actual CMA
estimates for each participant (the ID.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).
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"
);
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.