Skip to content
Back to skills

Iso 14971

ASecurity

Integrate ISO 14971:2019 risk management into software development: hazard identification, risk evaluation, control implementation in code, verification of effectiveness, and documentation of residual risk.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
documentationsecuritydocumentation

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add lilinji/GeneTind-Life-Skills --skill iso-14971 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Iso 14971?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Iso 14971
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lilinji-iso-14971/badge)](https://www.skillsdirectory.com/skills/lilinji-iso-14971)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
skill_id: REG-ISO14971
version: 1.0.0
last_updated: 2026-01-04
applies_to: [Class A, Class B, Class C]
jurisdiction: [FDA, EU MDR, Canada, UK]
prerequisites: []
---

# ISO 14971 Risk Management for Software

## Purpose
Integrate ISO 14971:2019 risk management into software development: hazard identification, risk evaluation, control implementation in code, verification of effectiveness, and documentation of residual risk.

## When to Apply
- Any change affecting hazards, controls, or mitigations.
- New features, interfaces, or protocols.
- Safety classification updates or architecture changes.
- Cybersecurity-relevant changes (maps into threat modeling skill if used).

## Requirements (testable)
1. Hazard Identification: Maintain a software hazard list with causes, sequences, and harms per ISO 14971:2019 5–6. Rationale: foundation for controls.
2. Risk Evaluation: Use defined criteria for severity/probability; classify risks and document rationale. Rationale: consistent decisions.
3. Risk Control Implementation: For each unacceptable risk, implement controls in design/code with explicit link to `RISK-CTRL-###` per 7. Rationale: traceable controls.
4. Verification of Controls: Each control has verification evidence (test, analysis, inspection) showing risk reduction per 8. Rationale: effectiveness.
5. Residual Risk: Record residual risk acceptability and justification; escalate if aggregate risk changes per 8. Rationale: decision visibility.
6. Safe State Definition: Define and implement safe states for hazardous conditions; test transitions. Rationale: bounded failure behavior.
7. Fault Handling: Link fault handlers to hazards/controls and verify logging/annunciation where applicable. Rationale: detect/respond to faults.
8. Documentation: Maintain risk management file artifacts updated with changes (hazards, controls, verification, residuals). Rationale: auditability.
9. Commit Traceability: Commits modifying controls or hazards must include IDs (`RISK-###`, `RISK-CTRL-###`, `REQ-###`). Rationale: change traceability.

## Recommended Practices
- Keep a single source of truth: `risk-register.yaml` with hazards, controls, verification.
- Use templated commit messages: `RISK: RISK-12 mitigated via RISK-CTRL-7; TEST-305 added`.
- Align safe-state logic with architecture segregation (see safety-classification skill).
- Pair risk controls with monitoring/diagnostics to detect degradation.

## Patterns
Risk control with traceability and safe state:
```c
// HZ-07: Over-infusion; RISK-CTRL-19: clamp and alarm within 100 ms
// REQ-221, TEST-410 covers timing
bool enforce_over_infusion_limit(float rate_ml_per_hr) {
    if (rate_ml_per_hr > MAX_RATE_ML_PER_HR) {
        clamp_line();            // physical mitigation
        alarm_over_rate();       // user mitigation
        enter_safe_state();      // safe state: pump stopped, alarm latched
        return false;
    }
    return true;
}
```

Residual risk documentation (YAML):
```yaml
hazard: HZ-07
control: RISK-CTRL-19
verification:
  - TEST-410: timing <100 ms pass
  - TEST-411: alarm annunciation pass
residual_risk: acceptable_per_policy_RP-02
justification: Meets severity/probability target after control per table RM-1
```

Commit message format:
```
feat: enforce over-infusion limit

RISK: HZ-07 mitigated by RISK-CTRL-19
REQ: REQ-221 updated
TEST: TEST-410 added, TEST-411 updated
```

## Anti-Patterns (risks)
- Generic “improved safety” commits without IDs -> risk: lost traceability.
- Controls implemented without verification -> risk: unproven effectiveness.
- Safe state undefined or unreachable -> risk: uncontrolled hazardous behavior.
- Fault handlers that log only -> risk: no actual mitigation.
- Residual risk not reassessed after change -> risk: aggregate risk drift.

## Verification Checklist
- [ ] Hazards updated for new/changed functionality; causes and harms documented.
- [ ] Risk evaluation uses defined criteria; severity/probability recorded.
- [ ] Controls mapped to hazards with IDs (`RISK-CTRL-###`) and implemented.
- [ ] Verification evidence exists and passes for each control.
- [ ] Safe states defined, reachable, and tested for hazardous conditions.
- [ ] Fault handling paths tied to hazards; logging/annunciation verified.
- [ ] Residual risk acceptability documented; escalation performed if needed.
- [ ] Commits touching hazards/controls include IDs in message.
- [ ] Risk management file artifacts regenerated/baselined after change.

## Traceability
- Use stable IDs: hazards (`HZ-###`), controls (`RISK-CTRL-###`), requirements (`REQ-###`), tests (`TEST-###`).
- Embed IDs in code comments, test names, and commit messages.
- Maintain `risk-register.yaml` or equivalent; generate hazard->control->verification views.

## References
- ISO 14971:2019, clauses 4–10 (risk management process).
- IEC TR 80002-1:2019 (guidance on applying ISO 14971 to software; second edition).
- FDA Guidance: "Content of Premarket Submissions for Device Software Functions" (2023) for submission expectations.
- FDA Guidance: "Cybersecurity in Medical Devices" (2023) for security risk management alignment.
- MDCG 2019-16 (guidance on cybersecurity for medical devices; EU MDR context).

## Changelog
- 1.0.1 (2026-01-04): Audit corrections - updated IEC TR 80002-1 to 2019 edition, clarified FDA guidance references.
- 1.0.0 (2026-01-04): Initial skill with hazard/control patterns, safe state guidance, commit traceability, and verification checklist.

## Audit History
- **2026-01-04**: Regulatory audit performed. Corrections applied:
  - IEC TR 80002-1:2009 updated to 2019 edition (second edition)
  - Generic "FDA premarket software guidance" replaced with specific 2023 guidance titles

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…