Medical device event data are messy.
Common challenges include:
- Performing ongoing surveillance on messy data
- Quickly answering simple questions such as:
- Are events trending up?
- How did my trends look 1 year ago? 2 years ago?
- Incompatibility of various sources of device-events
- Difficulty integrating exposures, a.k.a. denominator data
- Understanding all the possible combinations to analyze
- Application of disproportionality analysis (DPA)
- Documentation of analyses in a auditable, reproducible way
The mds
package provides a standardized framework to address these challenges:
- Standardize events involving medical devices
- Standardize exposures of the device (also known as opportunities for an event to occur, or event denominator)
- Enumerate possible analyses in a flexible way
- Generate times series of analyses for trending over time
- Set up analyses for easy application of disproportionality analysis (DPA)
- Save all files in lightweight
R
files for auditability, documentation, and reproducibility
Note on Statistical Algorithms
mds
data and analysis standards allow for seamless application of various statistical trending algorithms via the mdsstat
package (under development).
The general workflow to go from data to trending over time is as follows:
- Use
deviceevent()
to standardize device-event data. - Use
exposure()
to standardize exposure data (optional). - Use
define_analyses()
to enumerate possible analysis combinations. - Use
time_series()
to generate counts (and/or rates) by time based on your defined analyses.
library(mds)
# Step 1 - Device Events
de <- deviceevent(
maude,
time="date_received",
device_hierarchy=c("device_name", "device_class"),
event_hierarchy=c("event_type", "medical_specialty_description"),
key="report_number",
covariates="region",
descriptors="_all_")
# Step 2 - Exposures (Optional step)
ex <- exposure(
sales,
time="sales_month",
device_hierarchy="device_name",
match_levels="region",
count="sales_volume")
# Step 3 - Define Analyses
da <- define_analyses(
de,
device_level="device_name",
exposure=ex,
covariates="region")
# Step 4 - Time Series
ts <- time_series(
da,
deviceevents=de,
exposure=ex)
plot(ts[[4]], "rate", type='l')