definedDailyDose {daySupply}R Documentation

Defined daily dose

Description

Uses the World Health Organization's (WHO) defined daily dose method to compute the daily dose and days' supply for prescriptions. This method assumes an average daily consumption of a fixed dose, the defined daily dose (DDD), specified by WHO on their website at https://www.whocc.no/atc_ddd_index/?code=B01AA03.

Usage

definedDailyDose(
  data,
  WHO_ddd,
  dspd_qty,
  strength,
  id,
  tot_dose_disp = NULL,
  Pt_level = FALSE
)

Arguments

data

Sample simulated data. Data may have multiple rows per person (one row per prescription fill). Required columns include: 1. ID: Patient's unique identification number 2. ServDate: Date on which each prescription was filled. 3. DSPD_QTY: Dispensed quantity: Number of tablets dispensed to patient at each prescription fill. 4. strength: Strength of the tablets dispensed.

WHO_ddd

The defined daily dose in mg as specified by the WHO.

dspd_qty

Dispensed quantity: Number of the dispensed tablets to the patient at each prescription fill.

strength

Strength of the tablet dispensed in milligrams.

id

Unique patient identification number.

tot_dose_disp

Total dose dispensed: dispensed quantity x strength of the tablets dispensed for each prescription fill.

Pt_level

When TRUE, the estimated daily dose and days' supply are averaged for the patient.

Details

The DDD method can be used for any medication. However, its accuracy has been shown to differ between drug classes.

Value

definedDailyDose returns a dataset called "DDD_result". This data set includes all the variables originally in the data, plus the following:

DDD_Rx_dose: Daily dose for prescription.

DDD_Rx_DS: Days' supply for prescription.

DDD_Pt_dose: Average daily dose for patient.

DDD_Pt_DS: Average days' supply for patient.

Examples

#Patient collects 100 tablets of 5 mg warfarin on January 3rd,
#and 100 tablets of 7 mg warfarin on February 1st.

#Generate a simulated dataset

library(dplyr)
n_patients <- 10
n_records <- 80
data <- data.frame(ID = rep(c(1 : n_patients), each = n_records))
data %>%
  group_by(ID) %>%
  mutate(ServDate = as.Date('2020/01/01') + abs(round(rnorm(n = 80, 700, 330))),
         DSPD_QTY = abs(round(rnorm(n = 80, 43, 28))),
         strength = abs(round(rnorm(n = 80, 4, 1))))  -> data
data <- as.data.frame(data)

# Using 1 unit DDD:

data_new <- definedDailyDose (data, WHO_ddd = 7.5, Pt_level = TRUE,
                              id = "ID",dspd_qty = "DSPD_QTY", strength = "strength",
                              tot_dose_disp = NULL)

#WHO_ddd is set as 7.5 mg as that is the defined daily dose set by WHO for warfarin.

#tot_dose_disp: 500mg on January 3rd and 700mg for February 1st.
#DDD_Rx_dose: 7.5 mg for each prescription fill
#DDD_Rx_DS is: For Jan 3rd:  500/7.5 = 66.66 day;
#              For Feb 1st: 700/7.5=93.33 days

#Pt_level can be set as TRUE to get mean values for each patient
#DDD_Pt_dose: (7.5+ 7.5)/2 = 7.5 mg
#DDD_Pt_DS: (66.66+ 93.33)/2 = 79.99 days



[Package daySupply version 0.1.0 Index]