An implementation of the modelling and reporting features described
in reference textbook and guidelines (Briggs, Andrew, et al. Decision
Modelling for Health Economic Evaluation. Oxford Univ. Press, 2011;
Siebert, U. et al. State-Transition Modeling. Medical Decision Making
32, 690-700 (2012).): deterministic and probabilistic sensitivity analysis,
heterogeneity analysis, time dependency on state-time and model-time
(semi-Markov and non-homogeneous Markov models), etc.
Markov Models for Health Economic Evaluations. An implementation of the modelling and reporting features described in reference textbooks and guidelines: deterministic and probabilistic sensitivity analysis, heterogeneity analysis, time dependency on state-time and model-time (semi-Markov and non-homogeneous Markov models), etc.
Most of the analyses presented in Decision Modelling for Health Economic Evaluation can be performed with heemod. See the Reproducing Exact Results from DMHEE vignette for an exact reproduction of the analyses from the book.
Learning heemod
To get started read the An Introduction to heemod vignette. Specific analysis examples (mostly inspired from Decision Modelling for Health Economic Evaluation) can be found in the package vignettes.
use_distribution() to resample from empirical data (e.g. MCMC fit posterior distribution).
Bugfixes
Better error-checking in multinomial parameters definition.
Cleaner define_psa() backend code, variables can now be used to define distributin parameters.
Handle cases when parameters depend on state_time but thoses parameters are not used by a strategy.
Empty calls to modify() are supported.
Fix error in survival vignette.
Backend changes
The development branch is now called master, the release branch is called cran.
Survival operation are wrapped in a common class.
Expansion code moved to own function.
Faster computation of expanded states.
Stricter dependency version management (to avoid install failures on an outdated system).
Removed dependency to tidyr.
heemod 0.9.1
Breaking changes
Survival function renamed: project()=>join().
Removed get_code().
New features
NMB is now reported as relative values.
Bugfixes
Fixed error with run_dsa() in state expansion situations.
Backend changes
Multiple changes to prepare for the dplyr update 0.6.0.
heemod 0.9.0
heemod can now be cited with:
Filipović-Pierucci A, Zarca K and Durand-Zaleski I (2017).
“Markov Models for Health Economic Evaluations: The R
Package heemod.” ArXiv e-prints. R package version
0.8.0, 1702.03252, <URL: https://pierucci.org/heemod>.
Model calibration with calibrate_model().
init and inflow can refer to values from define_parameters(), and are thus accesible to PSA / DSA.
inflow can be time-varying.
Breaking changes
get_probs_from_surv()=>compute_surv().
New features
Operations on survival functions, see vignette("j-survival"). Thanks to Jordan Amdahl.
Model calibration with calibrate_model(). Thanks to Matthew Wiener.
State membership correction works for partitioned survival model.
Custom state membership correction functions can be passed to the method argument of run_model().
get_who__mr() can take a region argument, and automatically pool results when sex is not passed.
Additional DSA plotting options.
Bugfixes
heemod::discount() now produces restults similar to discount().
Backend changes
Renamed memoised functions.
NSE aliases (*_) to survival operation functions.
heemod 0.8.0
Breaking changes
strategy becomes a reserved parameter name.
Counting method "half-cycle" is deprecated.
resample arguement in run_psa() renamed to psa.
Probability distributions for PSA were renamed, see ?distributions.
state_cycle renamed to state_time, added a model_time alias to markov_cycle.
The inflow argument for budget impact analysis is specified with define_inflow().
prob_to_prob()=>rescale_prob().
New features
Transition probabilities from survival models with get_probs_from_surv():
Parametrically defined by define_survival().
Or fitted on data by the flexsurv package.
Support for partitioned survival models with define_part_surv().
Plot EVPI.
Export PSA files for Sheffield Accelerated Value of Information sofware.
Individuals can enter the model after the beginning with the inflow argument in run_model() (mainly for budget impact analysis).
Strategy name can be used to define values with dispatch_strategy() or using the strategy name (vignettes homogeneous and probabilistic have been updated to use this feature).
Beta and triangle distributions for PSA.
Custom distributions can be defined.
Covariance analysis on strategy differences, more options for gam() fitting.
Other features
Convenience function rescale_discount_rate().
Better error messages at parameter evaluation.
combine_probs(): given several independent probabilities of an event, return the total probability of the event.
More informative error messages for incorrect matrices.
Infinite parameter values generate an error.
New parameters can be added with modify().
Backend changes
Cleaner handling of clusters.
Package diagram, Hmisc and logitnorm moved from Imports to Suggests.
Bugfixes
Fixed sevral bugs that would return incorrect efficiency frontiers in some situations, or would return duplicated strategy names in some edge cases (thanks to Vince Daniels).
Fixed a failure of tabular input when a column could be read as all numeric.
Character variables from newdata were mistakenly parsed as lazy expressions.
newdata now handles factor variables.
state_cycle_limit was not passed to PSA, DSA, or updating.
PSA and DSA tabular files were not saved.
Acknowledments
Thanks to Matthew Wiener, especially for the survival analysis code.
heemod 0.7.1
Bugfixes
Fixed an error resulting in incorrect covariance analysis results when relations between values and parameters were negative.
heemod 0.7.0
Breaking changes
Some plotting arguments changed (e.g. type=>results).
New features
Added covariance analysis for PSA with type = "cov" plot.
All plotting functions can now represent multiple strategies with facets.
CECA plotted on a log scale by default.
Black & white plots for publications with the bw plot option.
Remove variables that are not sensitive in DSA with remove_ns.
Backend changes
Important object structure change (from attributes to lists).
More systematic use of getter functions.
More standarized processing of model objects.
Unit tests rely less on printed results.
Using new nomenclature in backend functions (model=>strategy).
base_strategy divided in 3 concepts: central_strategy, root_strategy, noncomparable_strategy.
Non-heemod versions of discount() throw warnings.
heemod 0.6.0
Breaking changes
Base model cannot be specified anymore: it is always the least costly model.
Renamed arguement transition_matrix => transition in define_strategy().