Hospital readmission risk can change after discharge as time passes and new information becomes available. A prediction made only at discharge cannot show how the remaining risk evolves during follow-up.
Readmission Risk Pool (RRP) is an analytical platform for
reassessing that risk at chosen times and retaining what each assessment
found. readmit is the R package used to create and operate an
organization’s RRP project.
For an episode still within follow-up and without a known readmission or
death, each assessment concerns the remaining probability of a first
hospital readmission strictly after the assessment time and through 30
elapsed days after the original discharge. The endpoint stays fixed;
another assessment does not start a new 30-day window. The estimate
should use information available at that time. For eligibility,
readmit distinguishes when a readmission or death occurred from when
it became known, so later knowledge does not rewrite an earlier
assessment.
Repeated assessments retain accepted estimates, provider failures, and ineligible episodes in project history. This history shows what was assessed at each time rather than only the latest result.
An RRP project is an ordinary, organization-owned directory with
configuration, source-mapping and risk-provider scripts, and its own
Shiny application. readmit defines canonical inputs for discharge
episodes and terminal events, applies shared eligibility rules, retains
completed assessments, and derives three analytical products: current
remaining risk, recorded risk trajectories, and an operational summary.
The project application explores those products.
This repository contains the RRP 1.0.0 release source. The CRAN
readmit 0.0.1 package
contains earlier, substantially different functionality under an MIT
license; it does not install RRP. Until the RRP release is available on
CRAN, install this repository version from GitHub:
install.packages("remotes")
remotes::install_github("centralstatz/readmit")Choose a new project path whose parent directory already exists:
library(readmit)
project <- rrp_project_init(
path = "my-rrp-project",
project_id = "my-project"
)
rrp_project_validate(project)The initializer creates editable project guidance, configuration, branding, two authoring scripts, and a Shiny app. The scripts start as deliberate stubs. Validation checks that the structure and functions load; it does not run them or establish that assessments are ready.
Implement R/produce-canonical.R to map your source data to the
required discharge episodes and terminal events, and
R/calculate-risk.R to provide risk estimates for eligible episodes.
rrp_state_init(project) creates persistent history and
rrp_project_status(project) reports project state; both can be used
before those scripts are implemented. Once they work,
rrp_run(project, as_of_time) records an assessment at a specified UTC
time. Use rrp_inspect_history(project) to examine retained results
after state initialization, and rrp_refresh_products(project) to
derive products after at least one completed run. Refresh does not run
another assessment.
The application can open before products exist and will show empty
views. Install its runtime packages (shiny, bslib, reactable,
plotly, and yaml), then launch it with
shiny::runApp(file.path(project, "app")). After a product refresh, the
app reads the generated products.
Your organization supplies source mapping and a risk provider, evaluates
whether its data and model are suitable for the intended use, and
decides how results inform clinical or operational decisions. readmit
supplies the analytical structure around those inputs; it does not
include a clinically validated prediction model or establish that using
RRP improves outcomes.
For function reference, use help(package = "readmit") after
installation. Each generated project’s README.md explains the
canonical contract, risk provider, and application in more detail.

