library(dplyr) # to manipulate data library(ggplot2) # for nice looking plots library(Hmisc) library(psych) library(stats) library(summarytools) library(table1) library(tidyverse) library(plyr) library(readr)
# Load functions
source("R/input_parameter_functions.R") # load input parameter files source("R/model_setup_functions.R") # load model functions source("R/ICER_functions.R") # load functions to calculate outputs source("R/plot_functions.R") # functions to create plots
# Load parameter sets for BNX and Methadone scenarios
source("R/input_parameter_functions.R") # Calibrated parameter values if(is.null(v_calib_post_map)){ load(file = "outputs/Calibration/imis_output.RData") } else{} # Modified Model Specification # BNX scenario if(is.null(l_params_BUP_MMS)){ l_params_BUP_MMS <- load_all_params(file.init = "data/init_params.csv", file.init_dist = "data/init_dist_bup.csv", file.mort = "data/all_cause_mortality.csv", file.death_hr = "data/death_hr.csv", file.frailty = "data/frailty.csv", file.weibull = "data/Modified Model Specification/weibull.csv", file.unconditional = "data/Modified Model Specification/unconditional.csv", file.overdose = "data/overdose.csv", file.fentanyl = "data/fentanyl.csv", file.hiv = "data/hiv_sero.csv", file.hcv = "data/hcv_sero.csv", file.costs = "data/Modified Model Specification/costs.csv", file.crime_costs = "data/Modified Model Specification/crime_costs.csv", file.qalys = "data/Modified Model Specification/qalys.csv") } else{} # Methadone scenario if(is.null(l_params_MET_MMS)){ l_params_MET_MMS <- load_all_params(file.init = "data/init_params.csv", file.init_dist = "data/init_dist_met.csv", file.mort = "data/all_cause_mortality.csv", file.death_hr = "data/death_hr.csv", file.frailty = "data/frailty.csv", file.weibull = "data/Modified Model Specification/weibull.csv", file.unconditional = "data/Modified Model Specification/unconditional.csv", file.overdose = "data/overdose.csv", file.fentanyl = "data/fentanyl.csv", file.hiv = "data/hiv_sero.csv", file.hcv = "data/hcv_sero.csv", file.costs = "data/Modified Model Specification/costs.csv", file.crime_costs = "data/Modified Model Specification/crime_costs.csv", file.qalys = "data/Modified Model Specification/qalys.csv") } else{} # Trial Specification # BNX scenario if(is.null(l_params_BUP_TS)){ l_params_BUP_TS <- load_all_params(file.init = "data/init_params.csv", file.init_dist = "data/init_dist_bup.csv", file.mort = "data/all_cause_mortality.csv", file.death_hr = "data/death_hr.csv", file.frailty = "data/frailty.csv", file.weibull = "data/Trial Specification/weibull.csv", file.unconditional = "data/Trial Specification/unconditional.csv", file.overdose = "data/overdose.csv", file.fentanyl = "data/fentanyl.csv", file.hiv = "data/hiv_sero.csv", file.hcv = "data/hcv_sero.csv", file.costs = "data/Trial Specification/costs.csv", file.crime_costs = "data/Trial Specification/crime_costs.csv", file.qalys = "data/Trial Specification/qalys.csv") } else{} # Methadone scenario if(is.null(l_params_MET_TS)){ l_params_MET_TS <- load_all_params(file.init = "data/init_params.csv", file.init_dist = "data/init_dist_met.csv", file.mort = "data/all_cause_mortality.csv", file.death_hr = "data/death_hr.csv", file.frailty = "data/frailty.csv", file.weibull = "data/Trial Specification/weibull.csv", file.unconditional = "data/Trial Specification/unconditional.csv", file.overdose = "data/overdose.csv", file.fentanyl = "data/fentanyl.csv", file.hiv = "data/hiv_sero.csv", file.hcv = "data/hcv_sero.csv", file.costs = "data/Trial Specification/costs.csv", file.crime_costs = "data/Trial Specification/crime_costs.csv", file.qalys = "data/Trial Specification/qalys.csv") } else{}
# Run deterministic scenarios for BNX and methadone
source("R/model_setup_functions.R") source("R/ICER_functions.R") # Update parameter list with calibrated params # Modified Model Specification #l_params_BUP_MMS <- update_param_list(l_params_all = l_params_BUP_MMS, params_updated = v_calib_post_map) #l_params_MET_MMS <- update_param_list(l_params_all = l_params_MET_MMS, params_updated = v_calib_post_map) # Trial Specification #l_params_BUP_TS <- update_param_list(l_params_all = l_params_BUP_TS, params_updated = v_calib_post_map) #l_params_MET_TS <- update_param_list(l_params_all = l_params_MET_TS, params_updated = v_calib_post_map) # Produce model outputs # Modified Model Specification if(is.null(l_outcomes_BUP_MMS)){ l_outcomes_BUP_MMS <- outcomes(l_params_all = l_params_BUP_MMS, v_params_calib = v_calib_post_map) } else{} if(is.null(l_outcomes_MET_MMS)){ l_outcomes_MET_MMS <- outcomes(l_params_all = l_params_MET_MMS, v_params_calib = v_calib_post_map) } else{} df_outcomes_MMS <- rbind(l_outcomes_BUP_MMS$df_outcomes, l_outcomes_MET_MMS$df_outcomes) rownames(df_outcomes_MMS) <- c("Early take-home BNX", "Methadone") # Trial Specification if(is.null(l_outcomes_BUP_TS)){ l_outcomes_BUP_TS <- outcomes(l_params_all = l_params_BUP_TS, v_params_calib = v_calib_post_map) } else{} if(is.null(l_outcomes_MET_TS)){ l_outcomes_MET_TS <- outcomes(l_params_all = l_params_MET_TS, v_params_calib = v_calib_post_map) } else{} df_outcomes_TS <- rbind(l_outcomes_BUP_TS$df_outcomes, l_outcomes_MET_TS$df_outcomes) rownames(df_outcomes_TS) <- c("Early take-home BNX", "Methadone") # Generate ICERs ICER_MMS <- ICER(outcomes_comp = l_outcomes_MET_MMS, outcomes_int = l_outcomes_BUP_MMS) ICER_TS <- ICER(outcomes_comp = l_outcomes_MET_TS, outcomes_int = l_outcomes_BUP_TS)
# Create trace plots
source("R/plot_functions.R") #### Create plots #### # Modified Model Specification l_trace_BUP_MMS <- trace_plots(outcomes = l_outcomes_BUP_MMS) l_trace_MET_MMS <- trace_plots(outcomes = l_outcomes_MET_MMS) # Trial Specification l_trace_BUP_TS <- trace_plots(outcomes = l_outcomes_BUP_TS) l_trace_MET_TS <- trace_plots(outcomes = l_outcomes_MET_TS)
1. Early Take-Home BNX
# BUP #pdf(file = "Plots/Markov Trace/Modified Model Spec/full_trace_BUP.pdf", width = 8, height = 9) multiplot(plotlist = l_trace_BUP_MMS[[4]], layout = l_trace_BUP_MMS[[5]]) #dev.off()
1. Methadone Standard of Care
# MET #pdf(file = "Plots/Markov Trace/Modified Model Spec/full_trace_MET.pdf", width = 8, height = 9) multiplot(plotlist = l_trace_MET_MMS[[4]], layout = l_trace_MET_MMS[[5]]) #dev.off()
ICER
library(knitr) kable(ICER_MMS$df_icer)
Costs (Total)
library(knitr) kable(df_outcomes_MMS[, 1:4])
Costs (Health Sector)
library(knitr) kable(df_outcomes_MMS[, 5:8])
Costs (Crime)
library(knitr) kable(df_outcomes_MMS[, 9:12])
Costs (Treatment)
library(knitr) kable(df_outcomes_MMS[, 13:16])
QALYs (EQ-5D-5L)
library(knitr) kable(df_outcomes_MMS[, 17:20])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.