Source file: modules/RiskTemplates/HARATemplate/attachments/risksheet.json
Hierarchy Structure
The HARA risksheet organizes risk records into a four-level tree:
| Level | Name | Control Column | Work Item Link |
|---|
| L1 | Use Step | usestep | useStep via assesses link role |
| L2 | Hazard | hazard | hazard via hasHazard link role |
| L3 | Hazardous Situation | hazardousSituation | Free-text field (no link) |
| L4 | Harm | harm | harm via hasHarm link role |
Column Reference
Identification Columns
| Column ID | Type | Binding / Link | Level | Description |
|---|
usestep | itemLink | assesses -> useStep | 1 | Links to Use Step work items |
hazard | itemLink | hasHazard -> hazard | 2 | Links to Hazard catalog items |
hazardousSituation | text | hazardousSituation field | 3 | Free-text hazardous situation description |
cause | multiItemLink | analyzedIn <- failureMode (backLink) | — | FMEA cross-reference showing linked failure modes |
harm | itemLink | hasHarm -> harm | 4 | Links to Harm catalog items |
harmSeverity | enum | harm.severity (cross-item) | — | Read-only severity from linked harm (1-5 scale) |
Initial Risk Evaluation Columns
| Column ID | Type | Binding | Description |
|---|
pHazardBefore | enum | preHazardProbability | P1: Hazardous situation probability (1-5) |
pHarmBefore | enum | preHarmProbability | P2: Harm occurrence probability (1-5) |
preControlProbability | formula | riskProbabilityPre | Combined P = bucket(P1 x P2) |
riskValuePre | formula | riskValuePre | Initial risk level from 5x5 matrix |
Risk Control Columns
| Column ID | Type | Binding | Description |
|---|
task | taskLink | mitigates -> riskControl | Links to Risk Control in Risks/RiskControlPlan |
taskTitle | text | task.title | Risk control name |
| (type) | enum | task.riskControlType | Risk control type classification |
requirements | serverRender | Velocity | Linked sysReq/desReq via risk control back-links |
verification | serverRender | Velocity | Two-hop: control -> requirements -> test cases |
Residual Risk Evaluation Columns
| Column ID | Type | Binding | Description |
|---|
pHazardAfter | enum | postHazardProbability | Post-control P1 |
pHarmAfter | enum | postHarmProbability | Post-control P2 |
postControlProbability | formula | riskProbabilityPost | Post-control combined P |
riskValuePost | formula | riskValuePost | Residual risk level |
Benefit-Risk and Final Risk Columns
| Column ID | Type | Binding | Description |
|---|
additionalControlsPossible | enum | additionalControlsPossible | Yes/No: are further controls feasible? |
benefit | text | benefit | Free-text benefit-risk justification |
riskBenefitResult | enum | riskBenefitResult | Benefit > Risk or Benefit < Risk |
finalRisk | formula | riskValueFinal | Computed final risk determination |
| (status) | enum | status | Read-only workflow status |
description | formula | description | Auto-generated: hazard + situation + harm |
P1xP2 Probability Bucketing Algorithm
The combined probability is calculated by multiplying P1 and P2 (yielding a product from 1-25), then mapping to five buckets:
| P1 x P2 Product | Probability Bucket | Label |
|---|
| 1 — 3 | 1 | Very Low |
| 4 — 8 | 2 | Low |
| 9 — 13 | 3 | Medium |
| 14 — 18 | 4 | High |
| 19 — 25 | 5 | Very High |
The threshold-based bucketing (<=3, <=8, <=13, <=18) creates unequal bucket sizes. Bucket 1 covers 3 product values while bucket 5 covers 7 values. This weighting makes higher combined probabilities more likely to be rated as high risk.
Final Risk Decision Tree
The riskValueFinal formula implements the ISO 14971 final risk determination:
- If
postRisk = acceptable —> Acceptable
- If
additionalControlsPossible != ‘no’ —> Unacceptable (forces explicit evaluation)
- If
riskBenefitResult = ‘benefitAcceptable’ —> Benefit-Risk Acceptable
- Otherwise —> Unacceptable
Risk Cell Styling
| CSS Class | Risk Level | Color |
|---|
rpn1 | Acceptable | Green |
rpn2 | Investigation | Amber |
rpn3 | Unacceptable | Red |
rpn4 | Benefit-Risk Acceptable | Purple |
Predefined Views
| View Name | Columns Shown | Purpose |
|---|
| Identify Risks | 4 columns | Hazard identification only |
| Initial Evaluation | 9 columns | Pre-mitigation risk assessment |
| Residual Evaluation | 12 columns | Post-mitigation with benefit-risk |
| Measures | All minus probabilities | Focus on risk controls |
| No Risk Records and Reqs Link | All minus cause/requirements/verification | Default view |
Data Types
| Data Type | Work Item Type | Target Document | Link Role |
|---|
risk | riskRecord | (current document) | — |
task | riskControl | Risks/RiskControlPlan | mitigates |
Additional Features
- Sort order:
usestep > hazard > hazardousSituation > harm > ~rvb (descending risk-benefit)
- Review manager: CommentBased inline review workflow
- Row header:
rowHeaderRpnNew renderer color-codes based on final risk value