A set of core functions for handling medical device event data in the context of post-market surveillance, pharmacovigilance, signal detection and trending, and regulatory reporting. Primary inputs are data on events by device and data on exposures by device. Outputs include: standardized device-event and exposure datasets, defined analyses, and time series.
mds
?Medical device event data are messy.
Common challenges include:
mds
?The mds
package provides a standardized framework to address these challenges:
R
files for auditability, documentation, and reproducibilityNote 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:
deviceevent()
to standardize device-event data.exposure()
to standardize exposure data (optional).define_analyses()
to enumerate possible analysis combinations.time_series()
to generate counts (and/or rates) by time based on your defined analyses.library(mds)# Step 1 - Device Eventsde <- 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 Analysesda <- define_analyses(de,device_level="device_name",exposure=ex,covariates="region")# Step 4 - Time Seriests <- time_series(da,deviceevents=de,exposure=ex)
plot(ts[[4]], "rate", type='l')
mds
0.2.2UNDER DEVELOPMENT
Potential updates
mds
0.2.1Implemented Updates
define_analyses()
and time_series()
outputs, including explicit references to device, event, and covariate levels.time_series()
define_analyses()
and time_series()
are clearer about the device and event one-up hierarchy levelsplot()
method to support updates to define_analyses()
and time_series()
mds
0.2.0Implemented Updates
deviceevents()
descriptors argumenttime_series()
examples in documentation & provided sample time series dataset called mds_ts
Bugfixes
exposure() total_events
parameter now accepts integer classdeviceevent()
: Drop records with missing device_level
s at all hierarchy levelsdeviceevent()
: Drop records with missing event_level
sdeviceevent()
: Drop records with missing covariate levelsexposure()
: Drop records with missing device_level
s at all hierarchy levelsexposure()
: Drop records with missing event_level
sexposure()
: Drop records with missing match levelsmds
0.1.0