## hesim 0.5.0

### New features

• A transition intensity matrix can be created from a multi-state model fit using msm::msm() with the qmatrix.msm() method. Similarly, a CohortDtstmTrans object can be created with create_CohortDtstmTrans.msm().

• The ... argument to create_PsmCurves() now passes arguments to create_params.partsurvfit() when object is of class flexsurvreg_list. This allows more control over bootstrapping (i.e., use of the max_errors and silent arguments).

• summary.ce() is a new summary method for a hesim::ce object that produces confidence intervals for quality-adjusted life-years (QALYs) and each cost category; format.summary.ce() formats the output for pretty printing.

• icer() generates a tidy table of incremental cost-effectiveness ratios (ICERs) given output from cea_pw(); format.icer() formats the output for pretty printing.

• plot_ceplane(), plot_ceac(), plot_ceaf(), and plot_evpi() plot the cost-effectiveness plane, cost-effectiveness acceptability curve (CEAC), cost-effectiveness acceptability frontier (CEAF), and expected value of perfect information (EVPI), respectively.

• autoplot.survival() and autoplot.stateprobs() plot survival curves and state probabilities, respectively.

### API changes

• The first column of each matrix listed in the coef element returned by create_params.flexsurvreg() is now named “(Intercept)” instead of the name of the corresponding parameter.

• The create_params() methods now use the argument uncertainty to draw parameters and the old arguments point_estimate and bootstrap are deprecated. This also affects create_CohortDtstmTrans(), create_IndivCtstmTrans(), and create_PsmCurves().

• icer_tbl() has been deprecated in favor of icer().

• The column trans in the data table returned by the $hazard() and $cumhazard() methods from the hesim::CtstmTrans class has been renamed transition_id.

### Documentation

• Performance benchmarks are now provided here.

• The $summarize() method of hesim::Psm now contains the by_grp argument so that subgroup analyses can be performed. ## hesim 0.4.2 ### New features • There are new functions to construct (and debug the construction of) the multiple transition probability matrices stored in tparams_transprobs() objects and used for simulation of discrete time state transition models. These can either stored as 3-dimensional arrays or as 2-dimensional tabular objects (i.e., data.table, data.frame, matrix). • as_array3() and as_tbl2() lets users convert 2-dimensional tabular objects where each row stores a flattened square matrix to a 3-dimensional array of square matrices and vice versa. • qmatrix() lets you store transition intensity matrices which can be used to construct transition probability matrices with the matrix exponential via expmat(). The latter is a simple wrapper around msm::MatrixExp() that computes the matrix exponential for all matrices in an array rather than just a single matrix. • apply_rr() applies relative risks (stored in a 2-dimensional tabular object) to (potentially multiple elements) of transition probability matrices stored in an array. This function is vectorized so it can be performed very quickly even for large arrays. • as.data.table.tparams_transprobs() converts the array of transition probability matrices stored in a tparams_transprobs object into a data.table which can be helpful for debugging to ensure that the right transition probability matrices correspond to the right observations (i.e., treatment strategies, patients, etc.). • The tpmatrix element of define_tparams() can now be a 3-dimensional array in addition to the output of tpmatrix() to increase flexibility for the user. • 2-dimensional tabular objects (in addition to vectors) can now be passed to ... with tpmatrix(). See the new examples. • A new dataset hesim::onc3 was added as an example multi-state dataset for an oncology use case with 3 health states (Stable, Progression, Death) and 3 possible transitions (Stable -> Progression, Stable -> Death, and Progression -> Death). This is similar to hesim::mstate3_exdata but does not allow for reversible transitions and does not contain cost or utility data. • The function as_pfs_os() can convert a multi-state dataset in the same format as hesim::onc3 into a dataset with one row per patients containing time to event information for progression free survival (PFS) and overall survival (OS). ### Bug fixes • The cycle_length field in CohortDtstmTrans was fixed so that it corresponds to a model cycle in terms of years (e.g., a value of 2 means a model cycle is 2 years long and that state probabilities are computed every 2 years with $sim_stateprobs()).

• The simulated dataset multinom3_exdata was fixed by removing a bug where some patients were simulated to have died more than once.

### New features

• The hesim::CohortDtstm class simulates cohort discrete time state transition models (cDTSTM). State transitions in a cDTSTM are simulated using the hesim::CohortDtstmTrans class, which can be constructed from a multinom_list() object or using define_model().

### API changes

• The argument sim was renamed sample in icea(), icea_pw(), and incr_effect().
• Custom functions and variables are no longer supported in icea() and icea_pw().

## hesim 0.1.0

The initial CRAN submission containing support for CEA but not for model development. Decision uncertainty is represented using cost-effectiveness planes, cost-effectiveness acceptability curves, cost-effectiveness acceptability frontiers, and the expected value of perfect information. CEAs by subgroup (i.e., individualized CEAs) are performed with icea() and icea_pw().