chjackson / survextrap

Survival Extrapolation With a Flexible Parametric Model and External Data
https://chjackson.github.io/survextrap/
GNU General Public License v3.0
7 stars 3 forks source link

survextrap

survextrap is an R package to model survival from a combination of

  1. A standard individual-level, right-censored survival dataset, e.g.
Survival time Death Predictors...
2 years Yes
5 years No
etc...
  1. "External" data sources in the following aggregate "count" form:
Follow-up period Number Predictors...
Start time $t$End time $u$Alive at $t$Still alive at $u$
$t_{1}$ $u_{1}$ $n_{1}$ $r_{1}$
$t_{2}$ $u_{2}$ $n_{2}$ $r_{2}$
etc...

Any number of rows can be supplied for the "external" data, and the time intervals do not have to be distinct or exhaustive.

Many forms of external data that might be useful for survival extrapolation (such as population data, registry data or elicited judgements) can be manipulated into this common "count" form.

Principles

How it works

Technical details of the methods

The model is fully described in a paper: Jackson, BMC Medical Research Methodology (2023). See also vignette("methods").

vignette("priors") goes into detail on how prior distributions and judgements can be specified in survextrap - an important but often-neglected part of Bayesian analysis.

Examples of how to use it

vignette("examples") gives a rapid tour of each feature, using simple textbook examples and simulated data.

The cetuximab case study is a more in-depth demonstration of how survextrap could be used in a typical health technology evaluation, based on clinical trial, disease registry, general population and elicited data. This vignette accompanies Section 4 of the preprint paper.

Slides from presentations about survextrap

Development

The package is in "beta" status. All major features are included, and there are no substantial changes expected.

Further testing is planned before it is put on CRAN. In particular, work is ongoing to determine "default settings" (for things like priors and model flexibility) that work best in a wide range of examples based on simulation. Though the current defaults are expected to be reasonable for typical use, and there are examples in the vignettes of fine-tuning them for specific cases.

The current version can be installed as:

install.packages("survextrap", repos=c('https://chjackson.r-universe.dev',
                                       'https://cloud.r-project.org'))

Please give feedback and suggestions if you do. These can be posted on github issues, or email.

lifecycle R-CMD-check test-coverage