ISO 14971:2019 Clause 7.1 requires that risk control measures be selected in priority order: (1) inherent safety by design, (2) protective measures, (3) information for safety. This enumeration implements that hierarchy with explicit sort ordering.
Control Type Hierarchy
| Priority | ID | Display Name | Description |
|---|---|---|---|
| 1 (highest) | InherentSafetyDesign | inherent-safety-design | Eliminate the hazard through design. Modify the design so the hazard cannot occur. This is the most effective control and must be considered first. |
| 2 | ProtectiveMeasure | protective-measure | Reduce risk through physical barriers, guards, or interlocks. Add protective mechanisms that prevent the hazardous situation from causing harm, even if the hazard exists. |
| 3 (lowest) | InformationForSafety | information-for-safety | Warn users through labels, instructions, or training. Provide information that enables users to avoid or mitigate the hazardous situation. This is the least effective control. |
Multi-Valued Field Behavior
TheriskControlType field is configured with multi='true', allowing a single Risk Control work item to be classified under multiple control types simultaneously.
For example, a risk control that involves both a physical guard (protective measure) and a warning label (information for safety) can be tagged with both ProtectiveMeasure and InformationForSafety.
Usage in HARA Risksheet
In the HARA risksheet, the risk control type is displayed via thetask.riskControlType binding in the risk control columns:
| Column | Binding | Display |
|---|---|---|
| Risk Control Type | task.riskControlType | Shows the selected control type(s) from the linked Risk Control work item |
mitigates link role and stored in the Risks/RiskControlPlan document.
ID vs. Display Name Inconsistency
| Property | Format | Example |
|---|---|---|
| Enum ID | PascalCase | InherentSafetyDesign |
| Display name | kebab-case | inherent-safety-design |
InherentSafetyDesign, while the risksheet UI displays inherent-safety-design. Be aware of this when writing custom queries or reports.
Configuration Details
| Property | Value |
|---|---|
| Source file | .polarion/tracker/fields/riskControlType-enum.xml |
| Enum type | riskControlType |
| Applied to | Risk Control (riskControlType) — multi-valued |
| Sort order | 1 (InherentSafetyDesign), 2 (ProtectiveMeasure), 3 (InformationForSafety) |
| Used in risksheet | HARA template columns 10-12 |
| Used in reports | ISO 14971 HARA Report (risk control overview section) |
Related Pages
- ISO 14971 Risk Control Hierarchy — conceptual explanation of the three-tier approach
- Assign Risk Controls to Hazards — how to link controls in the HARA risksheet
- Risk Control (riskControl) — work item type carrying the control type field
- Configure the Risk Control Plan — setting up the Risk Control Plan document
- Risk Control Plan Risksheet Configuration — risksheet configuration for the control plan
Sources
Sources
Code:
riskControlType-enum.xml, riskControl-custom-fields.xml, risksheet.json (HARA), rtm.yaml