Skip to main content
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

PriorityIDDisplay NameDescription
1 (highest)InherentSafetyDesigninherent-safety-designEliminate the hazard through design. Modify the design so the hazard cannot occur. This is the most effective control and must be considered first.
2ProtectiveMeasureprotective-measureReduce 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)InformationForSafetyinformation-for-safetyWarn users through labels, instructions, or training. Provide information that enables users to avoid or mitigate the hazardous situation. This is the least effective control.
diagram

Multi-Valued Field Behavior

The riskControlType 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.
When a control spans multiple tiers, tag all applicable types. However, the highest priority type should drive the risk reduction effectiveness assessment. A control that is primarily a warning label with a minor design element should not be evaluated as if it were a full inherent safety design change.

Usage in HARA Risksheet

In the HARA risksheet, the risk control type is displayed via the task.riskControlType binding in the risk control columns:
ColumnBindingDisplay
Risk Control Typetask.riskControlTypeShows the selected control type(s) from the linked Risk Control work item
Risk controls are linked to Risk Records via the mitigates link role and stored in the Risks/RiskControlPlan document.

ID vs. Display Name Inconsistency

PropertyFormatExample
Enum IDPascalCaseInherentSafetyDesign
Display namekebab-caseinherent-safety-design
This means ID-based queries (Lucene, Velocity) use InherentSafetyDesign, while the risksheet UI displays inherent-safety-design. Be aware of this when writing custom queries or reports.

Configuration Details

PropertyValue
Source file.polarion/tracker/fields/riskControlType-enum.xml
Enum typeriskControlType
Applied toRisk Control (riskControlType) — multi-valued
Sort order1 (InherentSafetyDesign), 2 (ProtectiveMeasure), 3 (InformationForSafety)
Used in risksheetHARA template columns 10-12
Used in reportsISO 14971 HARA Report (risk control overview section)

Code: riskControlType-enum.xml, riskControl-custom-fields.xml, risksheet.json (HARA), rtm.yaml