Changes in version 1.0.0 Breaking changes - dplyr's pipe now causes an error when chaining survival operation. The new pipe |> is required in this situation. - define_survival() has been renamed define_surv_dist() for naming consistency - It is now necessary to use define_surv_fit() to specify a survival fit created with survfit(), flexsurvreg() or flexsurvspline() New Features - It is now possible to run probabilistic sensitivity analysis (PSA) with survival objects - either created from a parametric distribution (with define_surv_dist) or with real data fitted with survfit() or flexsurvreg(). See vignette("j-survival_2_psa") - plot.surv_object() gains psa argument allowing to plot the distribution to check for its variability. - Created method c.uneval_parameters() to combine outputs of define_parameters(). Other changes - All operation functions on survival objects are now of class surv_object Changes in version 0.16.0 (2023-07-18) - Remove lazyeval, plyr and pryr dependency - For PSM, when OS is lower to PFS, force the transition probability to be 0 (#7 @william-rawlinson) - get_who_mr() is working again - Mortality rates gathered with get_who_mr(..., local = TRUE) are only available as pooled for high income countries. - prop, multinom and make_gamma, deprecated since a long time are now unavailable, to be replaced with binomial, multinomial and gamma, respectively. - markov_cycle is now deprecated in favor of model_time and state_cycle in favor of state_time Changes in version 0.15.1 (2023-03-22) Compliance with r-devel Changes in version 0.15.0 (2023-02-14) - Performance improvements: using state_time is much faster now, as well as probabilistic sensitivity analyses Changes in version 0.14.5 - Rebuild vignettes - fix guides( = FALSE) Changes in version 0.14.4 (2021-10-06) - updates for compatibility with rlang 1.0.0 Changes in version 0.14.2 (2021-01-22) - checks cairo_pdf availability Changes in version 0.14.0 (2020-12-08) Breaking changes - argument "method" for run_model was inverted. Now "beginning" overestimates costs and "end" underestimates costs (#345 @zaddyzad) Changes in version 0.13.0 (2020-05-11) Prepare for dplyr 1.0.0 Bugfixes - Fix problem with state_time (fix #343 @Reale3) Changes in version 0.12.0 (2020-04-14) Bugfixes - Ready for tibble 3.0 - look_up() displays a more informative message when searching several values at once Changes in version 0.11.0 (2019-10-22) Backend changes - States are now length 2 lists: - .dots: the state values - starting_values: the state values when entering the state - Compatibility with dplyr 0.8: replaced all underscored (SE) versions of all verbs Bugfixes - get_who_mr() is again able to fetch data from GHO server Changes in version 0.10.0 (2019-07-03) New features - define_state() gains the starting_values argument (same as define_strategy()). Changes in version 0.9.4 (2019-02-24) - Compatibility with dplyr v0.8 Changes in version 0.9.3 (2019-02-07) Backend changes - Remove Hmisc dependency for weighted summaries. Changes in version 0.9.2 (2017-09-15) Breaking changes - Survival function renamed: pool()=>mix(). New features - Starting values with define_starting_values(). - Check for comma as a decimal separator in tabular data. - Auto-re-indent transition matrices with reindent_transition(). - Discounting per year with the period argument. - BCEA interface with run_bcea(). - use_distribution() to re-sample from empirical data (e.g. MCMC fit posterior distribution). Bugfixes - Better error-checking in multinomial parameters definition. - Cleaner define_psa() back-end code, variables can now be used to define distribution parameters. - Handle cases when parameters depend on state_time but those 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. Changes in version 0.9.1 (2017-05-09) 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. Changes in version 0.9.0 (2017-04-07) heemod can now be cited with: Filipovic-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 - Model calibration with calibrate_model(). - init and inflow can refer to values from define_parameters(), and are thus accessible 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 results similar to discount(). Backend changes - Renamed memoised functions. - NSE aliases (*_) to survival operation functions. Changes in version 0.8.0 (2017-02-10) Breaking changes - strategy becomes a reserved parameter name. - Counting method "half-cycle" is deprecated. - resample argument 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 model_time. - 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 software. - 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. - Co-variance 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 several 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. Acknowledgments - Thanks to Matthew Wiener, especially for the survival analysis code. Changes in version 0.7.1 (2016-11-29) Bugfixes - Fixed an error resulting in incorrect co-variance analysis results when relations between values and parameters were negative. Changes in version 0.7.0 (2016-11-21) Breaking changes - Some plotting arguments changed (e.g. type=>results). New features - Added co-variance 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 standardized processing of model objects. - Unit tests rely less on printed results. - Using new nomenclature in back-end functions (model=>strategy). - base_strategy divided in 3 concepts: central_strategy, root_strategy, noncomparable_strategy. - Non-heemod versions of discount() throw warnings. Changes in version 0.6.0 (2016-11-12) Breaking changes - Base model cannot be specified anymore: it is always the least costly model. - Renamed argument transition_matrix => transition in define_strategy(). New features - Parallel computing with use_cluster(). - Compute average values from PSA. Bugfixes - Acceptability curve returns probabilities at 0. - Correctly identify efficiency frontier. - ICER are computed on the efficiency frontier. Acknowledgments - Thanks to Matthew Wiener, Zdenek Kabat and Vojtech Filipec for their great contributions to this update. Changes in version 0.5.1 (2016-10-29) Bugfixes - Added formatR to suggest list. Changes in version 0.5.0 (2016-10-18) Breaking changes - Some functions were renamed for clarification: - define_model() => define_strategy() - run_models() => run_model() - define_matrix() => define_transition() - define_sensitivity() => define_dsa() - define_distrib() => define_psa() - run_sensitivity() => run_dsa() - run_probabilistic() => run_psa() New features - Values and probabilities can depend on state time with state_cycle, allowing to reproduce the results of micro-simulations. - define_sensitivity() now accepts any expression as input, and can call references to model parameters. - Discount rates can now be specified as parameters (allows for rates to be modified in DSA & PSA). - Any state value can be plotted. - Additional output: csv files for many of the tabular results. Bugfixes - Edges where P=0 are not plotted anymore for transition matrices. - There used to be a potential error when you wanted to save output but there had been no psa. Changes in version 0.4.0 (2016-09-16) New features - update() for heterogeneity analysis and to compute population-level values, with vignette. - run_models_tabular() to import models from tabular input, with vignette. - look_up() to look up values from external data. - Added option to pool female and male mortality rates in WHO data. - Counting method now defaults to life-table. - plot_sensitivity() now plots by default the widest bar on top. - Convenience functions for converting rates to probabilities. - Models can be run without state values, to compute counts only. - Much more informative error messages. - Objects can be converted to the R code to generate them (same idea as dput(), but easier to read). - New options heemod.verbose and heemod.memotime. - More informative messages, especially in verbose mode. - Use WHO data cached locally in case of connection problems. - New functions: get_counts() and get_init() to get state membership counts. - Smart sex code conversion for get_who_mr(). Bug fixes - really fixed problem when the argument to discount() was not defined as a parameter. Backend changes - eval_model_newdata(), the function behind re-sampling and sensitivity analysis now returns list-variables. Acknowledgments - Thanks to Matthew Wiener, Zdenek Kabat and Vojtech Filipec for their great contributions to this update. Changes in version 0.3.3 (2016-07-01) New features - Added a vignette to exactly reproduce results from Decision Modelling for Health Economic Evaluation. Bug fixes - Fixed problem when argument to discount() was not defined as a parameter. - Corrected several errors in the vignettes (thanks to Michael Schenkenberg from SBU, Stockholm, Sweden). - Updated mortality rate tests to reflect GHO database update. Changes in version 0.3.2 (2016-06-12) Bug fixes - Fix mishandling of matrix index with C in eval_matrix() (thanks to Matthew Wiener). - Fix problem with upcoming version of tidyr. Changes in version 0.3.1 (2016-04-04) Backend changes - A single set of parameters is now used for a set of models. Bug fixes - Correct error in probabilistic analysis vignette. - Fix incompatibility with upcoming dplyr update. Changes in version 0.3.0 (2016-03-20) New features - shiny interface. - Added support for different counting options. - get_who_mr() to extract mortality rates from WHO data. Changes in version 0.2.0 (2016-02-08) New features - Added ability to plot matrix. - Added framework for probabilistic uncertainty analysis. - Written vignette for probabilistic and sensitivity analysis. - Added complement alias for matrix definition. - run_* functions now output a single table instead of a list of tables. - Variables corresponding to cost and effect must now be specified in run_models(). - Plotting for sensitivity and probabilistic analysis. Bug fixes - added *_ functions. Removed - run_model_newdata() cannot run uneval_model anymore. - Removed need to use define_state_list(). Changes in version 0.1.0 (2015-12-23) - Initial CRAN submission.