The goal of ‘dynamicpv’ is to provide a simple way to calculate (net) present values and outputs from health economic models (especially cost-effectiveness and budget impact) in discrete time that reflect dynamic pricing and dynamic uptake.
Dynamic pricing is also known as life cycle pricing; dynamic uptake is also known as multiple or stacked cohorts, or dynamic disease prevalence. Shafrin (2024) provides an explanation of dynamic value elements, in the context of Generalized Cost Effectiveness Analysis, and Puls (2024) reviews challenges of incorporating such dynamic value elements. This package aims to reduce those challenges.
Through the dynpv() function, the package provides calculations of the present values of costs, life years, QALYs or other payoffs allowing for dynamic uptake and dynamic pricing. The starting point is a conventional cohort cost-effectiveness model, such as one computed using the heemod package.
The package should shortly be available on CRAN. Installing from here is simplest, once available.
# CRAN installation - when available
install.packages("dynamicpv")You can install the development version of dynamicpv from GitHub as follows.
# Install devtools package if not already installed
install.packages("devtools")
# Install dynamicpv using pak from MSD repository
pak::pak("MSDLLCpapers/dynamicpv")Note that the above does not install vignettes. Vignettes may be viewed on the package website or by instead running the following.
devtools::install_github("MSDLLCpapers/dynamicpv", build_vignettes=TRUE)You should then load the package, alongside some other packages used here.
# Load the dynamicpv package
library(dynamicpv)
# Recommended others
library(dplyr)
library(heemod)
library(ggplot2)
library(tidyr)There are four vignettes provided.
-
The Mathematical Framework vignette (
vignette("math-framework")) describes the motivation and mathematical framework behind this package. -
The Net Present Value vignette (
vignette("net-present-value")) describes how the package can be used to derive Net Present Values of simple cashflows with dynamic pricing and/or dynamic uptake. -
The Cost-Effectiveness Applications (
vignette("cost-effectiveness-applications")) vignette describes how, given a static cost-effectiveness model (single cohort, prices constant in real terms), Incremental Cost-Effectiveness Ratios may be calculated that allow for dynamic pricing and/or dynamic uptake. This is illustrated by taking an example three-state partitioned survival model of a new intervention for an oncology indication compared to standard of care, with stated assumptions for how pricing and uptake may be dynamic. Nominal and Real ICERs are plotted over time, illustrating the impact of the loss of exclusivity points for each intervention. -
The Budget Impact Applications (
vignette("budget-impact-applications")) vignette describes how, given a static cost-effectiveness model (single cohort, prices constant in real terms) and dynamic uptake, a budget impact can be readily calculated. The calculations are repeated with the dynamic pricing assumptions to illustrate how easily this can be done, and examine the differences between a budget impact assessment with and without dynamic pricing.
