Risks

What. The risk register. Each risk has likelihood × impact scoring, a treatment strategy, and a residual score after the treatment is in place. Where. /risks.

Lifecycle

Identified → Analyzed → Treatment Planned → Treatment In Progress → Closed
                                                              ↘ Accepted

Create a risk

  1. Side nav → Risk RegisterNew Risk.
  2. Fill Risk Title (required).
  3. Fill Description, Cause, Consequence (free text, all optional).
  4. Pick a Category (e.g. Operational, Compliance, Strategic). (Currently optional - see Known gaps if you hit a save error.)
  5. Pick Owner (a user) and Site (optional).
  6. Risk Assessment - pick Likelihood (Rare / Unlikely / Possible / Likely / Almost Certain) and Impact (Insignificant / Minor / Moderate / Major / Catastrophic).
  7. Inherent Risk auto-computes (Likelihood × Impact, 1-25). The level (Low / Medium / High / Critical) is derived from the score.
  8. Residual Risk (Post-Treatment) - set after treatment is planned.
  9. Risk Management - pick Status (Identified / Analyzed / Treatment Planned / In Progress / Closed / Accepted) and Treatment Strategy (Avoid / Reduce / Transfer / Accept).
  10. Review Date - when this risk should be re-assessed.
  11. Save → status defaults to Identified.

Generated columns. inherent_risk_score and residual_risk_score are auto-computed by the database from likelihood × impact. The Dart model doesn't send those fields on insert.

List page

KPIs: Total, High Risk (score ≥ 15), Requires Treatment, Closed.

Filters: Status, Category, Levels (Low / Medium / High / Critical).

Default sort: highest inherent score first, then by created date.

Each row shows: risk number (auto-assigned RISK-NNNNNN), title, level chip (color-coded), status chip, owner avatar.

Treatments

A risk can have multiple treatments that link to CAPAs. Treatment table = risk_treatments. From the risk detail:

Linkages

A risk may link to:

Linkages render on the risk detail page in side panels.

Test it

← Back to CompStack