Skip to main content

Prerequisites

  • A working Risksheet with basic downstream tasks configured (see Configure Downstream Tasks)
  • Separate Polarion work item types defined for each mitigation category
  • Link roles created in Polarion for each category relationship

Step 1: Identify Your Mitigation Categories

Determine the distinct mitigation categories your workflow requires. For example, ISO 12100 machinery safety defines three risk reduction steps:
StepMitigation CategoryWork Item TypeLink Role
1Inherently safe designdesignMeasuremitigated_by_design
2Safeguarding measuressafeguardMeasuremitigated_by_safeguard
3Information for useinformationMeasuremitigated_by_information
Each category requires its own data type entry with a distinct work item type and link role.

Step 2: Define Multiple Task Data Types

Add separate entries in the dataTypes section for each downstream category. Use distinct keys beyond the standard task key:
{
  "dataTypes": {
    "task": {
      "type": "designMeasure",
      "role": "mitigated_by_design",
      "showInMenu": true
    },
    "task2": {
      "type": "safeguardMeasure",
      "role": "mitigated_by_safeguard",
      "showInMenu": true
    },
    "task3": {
      "type": "informationMeasure",
      "role": "mitigated_by_information",
      "showInMenu": true
    }
  }
}
diagram Each dataTypes entry maps to a Polarion work item type and link role. The showInMenu property controls whether the creation option appears in the context menu. Risksheet applies separate type-based filtering to each task category, so only work items matching the configured type appear in each column group.

Step 3: Add Columns for Each Downstream Type

Create separate column groups for each mitigation category to display them in dedicated grid sections:
{
  "columns": [
    {
      "binding": "designId",
      "header": "Design Measure",
      "type": "taskLink",
      "headerGroup": "Step 1: Design"
    },
    {
      "binding": "designTitle",
      "header": "Title",
      "type": "taskAttrib",
      "headerGroup": "Step 1: Design"
    },
    {
      "binding": "designStatus",
      "header": "Status",
      "type": "taskAttrib",
      "headerGroup": "Step 1: Design"
    },
    {
      "binding": "safeguardId",
      "header": "Safeguard Measure",
      "type": "taskLink",
      "headerGroup": "Step 2: Safeguard"
    },
    {
      "binding": "safeguardStatus",
      "header": "Status",
      "type": "taskAttrib",
      "headerGroup": "Step 2: Safeguard"
    },
    {
      "binding": "infoId",
      "header": "Information Measure",
      "type": "taskLink",
      "headerGroup": "Step 3: Information"
    },
    {
      "binding": "infoStatus",
      "header": "Status",
      "type": "taskAttrib",
      "headerGroup": "Step 3: Information"
    }
  ]
}
Using headerGroup organizes the columns visually under labeled group headers in the grid. Each group corresponds to one mitigation step.

Step 4: Configure Risk Recalculation Between Steps

For workflows that require recalculating risk after each mitigation step (common in ISO 12100), add intermediate RPN columns with formulas referencing post-mitigation ratings:
{
  "formulas": {
    "rpnAfterDesign": "function(info){ var val = info.item['sevAfterDesign'] * info.item['occAfterDesign']; return val ? val : null; }",
    "rpnAfterSafeguard": "function(info){ var val = info.item['sevAfterSafeguard'] * info.item['occAfterSafeguard']; return val ? val : null; }"
  }
}
This lets you track residual risk at each stage and demonstrate the cumulative effect of your mitigation strategy.
When configuring fields like specification or status for each mitigation type, verify that the column bindings reference the correct downstream work item type. Field assignment is controlled by the column configuration — misconfiguring this causes fields to be stored on the wrong item type (e.g., a countermeasure specification appearing on the risk item instead).
Column IDs used in levels and sortBy parameters must exactly match the id property defined in column configurations. Mismatched IDs cause row duplication in multi-level configurations. Double-check that all references are consistent.

Step 5: Load Downstream Items from Multiple Projects

If mitigation items are distributed across projects, use the projects property on each data type entry:
{
  "dataTypes": {
    "task": {
      "type": "designMeasure",
      "role": "mitigated_by_design",
      "projects": ["DesignProject", "SharedMitigations"]
    }
  }
}
The exact key naming convention for additional task types (e.g., task2, task3) should be verified against your Risksheet version. The configuration pattern may vary depending on the release.

Verification

After saving the configuration:
  1. Open the Risksheet in the configured LiveDoc document
  2. Verify that separate column groups appear for each mitigation category
  3. Right-click a risk item — the context menu should show creation options for each downstream type where showInMenu is true
  4. Create a new item under each category and confirm the correct work item type and link role are applied
  5. Check that items in each category are filtered independently (design measures do not appear in safeguard columns)
You should now see distinct downstream sections in your grid, each with its own work item type, link role, and column group.

See Also