Risk Quantification Engine for Clinical Submission Readiness

Quantifies submission risk using a Failure Modes and Effects Analysis (FMEA)-inspired framework (probability, impact, detectability). Builds risk registers from evidence, computes Risk Priority Numbers (RPN), classifies risk levels, and emits standardized R4SUB (R for Regulatory Submission) evidence table rows via 'r4subcore'. Supports risk mitigation tracking and trend analysis across submission milestones.


r4subrisk

r4subrisk is the risk quantification engine in the R4SUB ecosystem.

It uses an FMEA-inspired framework (Probability x Impact x Detectability) to quantify submission risk, build risk registers, track mitigations, and emit standardized R4SUB evidence rows.

It answers the question:

What are the key risks to submission readiness, how severe are they, and are they being addressed?

Core Concepts

FMEA Risk Model

Each risk is scored on three dimensions (1--5 scale):

  • Probability: likelihood the issue persists to submission
  • Impact: regulatory consequence if unresolved
  • Detectability: difficulty of catching the issue (1=easy, 5=hard)

RPN (Risk Priority Number) = Probability x Impact x Detectability (range 1--125)

RPN Bands

RPN Level Interpretation
80--125 critical Immediate action required
40--79 high Must resolve before submission
15--39 medium Plan mitigation
1--14 low Monitor

Installation

pak::pak(c("R4SUB/r4subcore", "R4SUB/r4subrisk"))

Quick Start

library(r4subcore)
library(r4subrisk)

# From a manual risk register
risks <- data.frame(
  risk_id       = c("R001", "R002"),
  description   = c("Missing SDTM variables", "Unmapped ADaM derivations"),
  category      = c("data_quality", "traceability"),
  probability   = c(4, 3),
  impact        = c(5, 4),
  detectability = c(2, 3)
)
rr <- create_risk_register(risks)
rr

# Or derive risks automatically from evidence
risk_items <- evidence_to_risks(evidence)
rr <- create_risk_register(risk_items)

# Compute scores and emit evidence
scores <- compute_risk_scores(rr)
ctx <- r4sub_run_context(study_id = "ABC123", environment = "DEV")
ev <- risk_register_to_evidence(rr, ctx = ctx)

Core Functions

Function Purpose
risk_config_default() FMEA scales, RPN bands, severity mappings
classify_rpn() Classify an RPN value into a risk level
create_risk_register() Build a risk register with RPN + levels
evidence_to_risks() Derive risk items from r4subcore evidence
compute_risk_scores() Aggregate risk metrics (mean/max RPN, distribution)
risk_indicator_summary() Summary indicator table
risk_register_to_evidence() Emit r4subcore-compatible evidence rows
apply_mitigations() Update risks with mitigations, recompute RPN
compare_risk_registers() Trend analysis between snapshots

Design Principles

  • FMEA-grounded: industry-standard risk methodology
  • Evidence-first: all risk items emit r4subcore evidence rows
  • Mitigation-aware: track and measure risk reduction over time
  • Transparent: every RPN is decomposable into P x I x D

License

MIT

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("r4subrisk")

0.1.0 by Pawan Rama Mali, 7 months ago


https://github.com/R4SUB/r4subrisk


Report a bug at https://github.com/R4SUB/r4subrisk/issues


Browse source code at https://github.com/cran/r4subrisk


Authors: Pawan Rama Mali [aut, cre, cph]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports cli, dplyr, r4subcore, rlang, tibble

Suggests testthat


Imported by r4sub.

Suggested by r4subprofile.


See at CRAN