This repository houses the case study R package sicksickerPack
described in a working paper:
Smith R, Mohammed W and Schneider P. Packaging cost-effectiveness models in R: A tutorial. version 1; peer review: awaiting peer review. Wellcome Open Res 2023, 8:419 https://doi.org/10.12688/wellcomeopenres.19656.1
Robert Smith1,2, Wael Mohammed1,2 & Paul Schneider1,2
1 University of Sheffield, University of Sheffield, Sheffield, UK
2 Dark Peak Analytics, Sheffield, UK
The use of programming languages such as R in health economics and decision science is increasing, and brings numerous benefits including increas- ing model development efficiency, improving transparency, and reducing human error. However, there is limited guidance on how to best develop models using R. So far, no clear consensus has emerged.
We present the advantages of creating health economic models as R packages - structured collections of functions, data sets, tests, and documentation. Assuming an intermediate understanding of R, we provide a tutorial to demonstrate how to construct a basic R package for health economic evaluation. All source code used in or referenced by this paper is available under an open source licence.
We use the Sick Sicker Model as a case study applying the steps from the tutorial to standardise model development, documentation and aid review. This can improve the distribution of code, thereby streamlining model development, and improve methods in health economic evaluation.
R Packages offer a valuable framework for enhancing the quality and transparency of health economic evaluation models. Embracing better, more standardised software development practices, while fostering a collaborative culture, has the potential to significantly improve the quality of health economic models, and, ultimately, support better decision making in healthcare.
To test the functionality of this package, install the development version of the package using the devtools package. The package has a vignette source file built into an HTML document during installation. However, as highlighted below, users can install the package without building the included vignette.
devtools::install_github("dark-peak-analytics/sicksickerPack")
devtools::install_github(
repo = "dark-peak-analytics/sicksickerPack",
dependencies = TRUE,
build_vignettes = TRUE
)
library(sicksickerPack)
Run the deterministic sick-sicker model with the dummy parameters.
run_sickSicker_model(
params_ = dummy_sickSickerModel_params
)
Run the probabilistic sick-sicker model with the dummy PSA parameters.
run_psa(
model_func_ = sicksickerPack::run_sickSicker_model,
model_func_args_ = list(
age_init_ = 25,
age_max_ = 55,
discount_rate_ = 0.035
),
psa_params_names_ = dummy_sickSickerModel_psa_params$
psa_params_names,
psa_params_dists_ = dummy_sickSickerModel_psa_params$
psa_params_dists,
psa_params_dists_args_ = dummy_sickSickerModel_psa_params$
psa_params_dists_args,
n_sim_ = 100
)
The project follows a typical R package structure as below
.
├── .gitignore # Names of files to be ignored by Git
├── .Rbuildignore # Names of files to be ignored by R-CMD
├── data/ # Package data files
├── data-raw/ # Package data-construction files
├── DESCRIPTION # Package description file
├── inst/ # Package post-installation deployed files
├── LICENSE # License file
├── LICENSE.md # License description file
├── man/ # Functions' documentation
├── NAMESPACE
├── R/ # Functions' definitions
├── README.md
├── sicksickerPack.Rproj
├── tests/ # Functions' tests
└── vignettes/ # Vignettes' source files
Rob, Wael & Paul were joint funded by the Wellcome Trust Doctoral Training Centre in Public Health Economics and Decision Science [108903] and the University of Sheffield. They now all work for Dark Peak Analytics. Please contact [email protected] with any queries.