Example 4: Harm Setting Severity

This example uses custom lookup tables for risk priority number instead of a formula, this allows to configure more complex Risk Priority Number definitions. It also shows how choosing a harm can automatically set the severity.

Code
{
  "mitigationTypes": [
    { "type": "SPEC", "name": "Specification", "required": "false" }
  ],
  "maxGreen": 21,
  "maxYellow": 40,
  "method": "lookup",
  "rbm": { "short": "Initial Risk Index", "long": "Initial Risk Index" },
  "ram": { "short": "Residual Risk Index", "long": "Residual Risk Index" },
  "factors": [
    {
      "type": "hazard",
      "label": "Hazard / Hazardous Situation",
      "inputType": "textarea",
      "weights": [
        {
          "type": "exposure",
          "label": "Probability of Occurrence",
          "help": "Exposure to Hazard",
          "values": [
            { "shortname": "Unlikely", "help": "Will almost never happen", "factor": 1 },
            { "shortname": "Remote", "help": "Will not happen often", "factor": 2 },
            { "shortname": "Occasional", "help": "Might happen sometimes", "factor": 3 },
            { "shortname": "Probable", "help": "Like to happen time device is used", "factor": 4 },
            { "shortname": "Frequent", "help": "Might happen every time device is used", "factor": 5 }
          ]
        },
        {
          "type": "probability",
          "label": "Probability of Harm",
          "help": "Probability of Harm",
          "values": [
            { "shortname": "Extremely Unlikely", "help": "0-20%", "factor": 1 },
            { "shortname": "Unlikely but Possible", "help": "20-40%", "factor": 2 },
            { "shortname": "Likely", "help": "40-60%", "factor": 3 },
            { "shortname": "Very Likely", "help": "60-80%", "factor": 4 },
            { "shortname": "Extremely Likely", "help": "80-100%", "factor": 5 }
          ]
        }
      ]
    },
    {
      "type": "harm",
      "label": "Harm",
      "inputType": "select",
      "options": [
        {
          "value": "1",
          "label": "Barotrauma",
          "changes": [
            { "changesWeight": "severity", "value": "1" }
          ]
        },
        {
          "value": "4",
          "label": "Severe Barotrauma",
          "changes": [
            { "changesWeight": "severity", "value": "2" }
          ]
        },
        {
          "value": "5a",
          "label": "Death, Asphyxia",
          "changes": [
            { "changesWeight": "severity", "value": "5" }
          ]
        },
        {
          "value": "5b",
          "label": "Asphyxia",
          "changes": [
            { "changesWeight": "severity", "value": "5" }
          ]
        }
      ],
      "weights": [
        {
          "type": "severity",
          "label": "Severity",
          "readonly": true,
          "help": "Severity of Harm",
          "values": [
            { "shortname": "Negligible", "help": "No harm to patient or user", "factor": 1 },
            { "shortname": "Minor", "help": "Results in temporary injury or impairment not requiring professional medical intervention", "factor": 2 },
            { "shortname": "Major", "help": "Results in injury or impairment requiring professional medical intervention", "factor": 3 },
            { "shortname": "Critical", "help": "e.g. Severe Barotrauma", "factor": 4 },
            { "shortname": "Catastrophic", "help": "e.g. Asphyxia", "factor": 5 }
          ]
        }
      ]
    }
  ],
  "reductions": [
    {
      "name": "00",
      "options": [
        { "shortname": "no effect", "by": 0 },
        { "shortname": "reduces probability of occurrence by 1", "changes": "exposure", "by": -1 },
        { "shortname": "reduces probability of occurrence by 2", "changes": "exposure", "by": -2 },
        { "shortname": "reduces probability of occurrence by 3", "changes": "exposure", "by": -3 },
        { "shortname": "reduces probability of occurrence by 4", "changes": "exposure", "by": -4 },
        { "shortname": "reduces probability of harm by 1", "changes": "probability", "by": -1 },
        { "shortname": "reduces probability of harm by 2", "changes": "probability", "by": -2 },
        { "shortname": "reduces probability of harm by 3", "changes": "probability", "by": -3 },
        { "shortname": "reduces probability of harm by 4", "changes": "probability", "by": -4 },
        { "shortname": "SEVERITY --", "changes": "severity", "by": -1 }
      ]
    }
  ],
  "charts": [
    { "zone": "A", "foreground": "white", "background": "blue", "textColor": "blue", "id": "NO", "label": "no risk!" },
    { "zone": 1, "foreground": "white", "background": "green", "textColor": "green", "id": "LOW", "label": "risk controlled" },
    { "zone": 2, "foreground": "black", "background": "yellow", "textColor": "orange", "id": "MEDIUM", "label": "needs justification or more controls" },
    { "zone": 3, "foreground": "white", "background": "red", "textColor": "red", "id": "HIGH", "label": "must be reduced" }
  ],
  "rpns": [
    { "exposure": "1", "probability": "1", "severity": "1", "zone": "A", "text": "nothing zero exit" },
    { "exposure": "1", "probability": "1", "severity": "2", "zone": "1", "text": "1 * 1 x 2 = 2" },
    { "exposure": "1", "probability": "1", "severity": "3", "zone": "1", "text": "1 * 1 x 3 = 3" },
    { "exposure": "1", "probability": "1", "severity": "4", "zone": "1", "text": "1 * 1 x 4 = 4" },
    { "exposure": "1", "probability": "1", "severity": "5", "zone": "1", "text": "1 * 1 x 5 = 5" },
    { "exposure": "1", "probability": "2", "severity": "1", "zone": "1", "text": "1 * 2 x 1 = 2" },
    { "exposure": "1", "probability": "2", "severity": "2", "zone": "1", "text": "1 * 2 x 2 = 4" },
    { "exposure": "1", "probability": "2", "severity": "3", "zone": "1", "text": "1 * 2 x 3 = 6" },
    { "exposure": "1", "probability": "2", "severity": "4", "zone": "1", "text": "1 * 2 x 4 = 8" },
    { "exposure": "1", "probability": "2", "severity": "5", "zone": "1", "text": "1 * 2 x 5 = 10" },
    { "exposure": "1", "probability": "3", "severity": "1", "zone": "1", "text": "1 * 3 x 1 = 3" },
    { "exposure": "1", "probability": "3", "severity": "2", "zone": "1", "text": "1 * 3 x 2 = 6" },
    { "exposure": "1", "probability": "3", "severity": "3", "zone": "1", "text": "1 * 3 x 3 = 9" },
    { "exposure": "1", "probability": "3", "severity": "4", "zone": "1", "text": "1 * 3 x 4 = 12" },
    { "exposure": "1", "probability": "3", "severity": "5", "zone": "1", "text": "1 * 3 x 5 = 15" },
    { "exposure": "1", "probability": "4", "severity": "1", "zone": "1", "text": "1 * 4 x 1 = 4" },
    { "exposure": "1", "probability": "4", "severity": "2", "zone": "1", "text": "1 * 4 x 2 = 8" },
    { "exposure": "1", "probability": "4", "severity": "3", "zone": "1", "text": "1 * 4 x 3 = 12" },
    { "exposure": "1", "probability": "4", "severity": "4", "zone": "1", "text": "1 * 4 x 4 = 16" },
    { "exposure": "1", "probability": "4", "severity": "5", "zone": "1", "text": "1 * 4 x 5 = 20" },
    { "exposure": "1", "probability": "5", "severity": "1", "zone": "1", "text": "1 * 5 x 1 = 5" },
    { "exposure": "1", "probability": "5", "severity": "2", "zone": "1", "text": "1 * 5 x 2 = 10" },
    { "exposure": "1", "probability": "5", "severity": "3", "zone": "1", "text": "1 * 5 x 3 = 15" },
    { "exposure": "1", "probability": "5", "severity": "4", "zone": "1", "text": "1 * 5 x 4 = 20" },
    { "exposure": "1", "probability": "5", "severity": "5", "zone": "1", "text": "1 * 5 x 5 = 25" },
    { "exposure": "2", "probability": "1", "severity": "1", "zone": "1", "text": "2 * 1 x 1 = 2" },
    { "exposure": "2", "probability": "1", "severity": "2", "zone": "1", "text": "2 * 1 x 2 = 4" },
    { "exposure": "2", "probability": "1", "severity": "3", "zone": "1", "text": "2 * 1 x 3 = 6" },
    { "exposure": "2", "probability": "1", "severity": "4", "zone": "1", "text": "2 * 1 x 4 = 8" },
    { "exposure": "2", "probability": "1", "severity": "5", "zone": "1", "text": "2 * 1 x 5 = 10" },
    { "exposure": "2", "probability": "2", "severity": "1", "zone": "1", "text": "2 * 2 x 1 = 4" },
    { "exposure": "2", "probability": "2", "severity": "2", "zone": "1", "text": "2 * 2 x 2 = 8" },
    { "exposure": "2", "probability": "2", "severity": "3", "zone": "1", "text": "2 * 2 x 3 = 12" },
    { "exposure": "2", "probability": "2", "severity": "4", "zone": "1", "text": "2 * 2 x 4 = 16" },
    { "exposure": "2", "probability": "2", "severity": "5", "zone": "1", "text": "2 * 2 x 5 = 20" },
    { "exposure": "2", "probability": "3", "severity": "1", "zone": "1", "text": "2 * 3 x 1 = 6" },
    { "exposure": "2", "probability": "3", "severity": "2", "zone": "1", "text": "2 * 3 x 2 = 12" },
    { "exposure": "2", "probability": "3", "severity": "3", "zone": "1", "text": "2 * 3 x 3 = 18" },
    { "exposure": "2", "probability": "3", "severity": "4", "zone": "1", "text": "2 * 3 x 4 = 24" },
    { "exposure": "2", "probability": "3", "severity": "5", "zone": "1", "text": "2 * 3 x 5 = 30" },
    { "exposure": "2", "probability": "4", "severity": "1", "zone": "1", "text": "2 * 4 x 1 = 8" },
    { "exposure": "2", "probability": "4", "severity": "2", "zone": "1", "text": "2 * 4 x 2 = 16" },
    { "exposure": "2", "probability": "4", "severity": "3", "zone": "1", "text": "2 * 4 x 3 = 24" },
    { "exposure": "2", "probability": "4", "severity": "4", "zone": "1", "text": "2 * 4 x 4 = 32" },
    { "exposure": "2", "probability": "4", "severity": "5", "zone": "1", "text": "2 * 4 x 5 = 40" },
    { "exposure": "2", "probability": "5", "severity": "1", "zone": "1", "text": "2 * 5 x 1 = 10" },
    { "exposure": "2", "probability": "5", "severity": "2", "zone": "1", "text": "2 * 5 x 2 = 20" },
    { "exposure": "2", "probability": "5", "severity": "3", "zone": "1", "text": "2 * 5 x 3 = 30" },
    { "exposure": "2", "probability": "5", "severity": "4", "zone": "1", "text": "2 * 5 x 4 = 40" },
    { "exposure": "2", "probability": "5", "severity": "5", "zone": "2", "text": "2 * 5 x 5 = 50" },
    { "exposure": "3", "probability": "1", "severity": "1", "zone": "1", "text": "3 * 1 x 1 = 3" },
    { "exposure": "3", "probability": "1", "severity": "2", "zone": "1", "text": "3 * 1 x 2 = 6" },
    { "exposure": "3", "probability": "1", "severity": "3", "zone": "1", "text": "3 * 1 x 3 = 9" },
    { "exposure": "3", "probability": "1", "severity": "4", "zone": "1", "text": "3 * 1 x 4 = 12" },
    { "exposure": "3", "probability": "1", "severity": "5", "zone": "1", "text": "3 * 1 x 5 = 15" },
    { "exposure": "3", "probability": "2", "severity": "1", "zone": "1", "text": "3 * 2 x 1 = 6" },
    { "exposure": "3", "probability": "2", "severity": "2", "zone": "1", "text": "3 * 2 x 2 = 12" },
    { "exposure": "3", "probability": "2", "severity": "3", "zone": "1", "text": "3 * 2 x 3 = 18" },
    { "exposure": "3", "probability": "2", "severity": "4", "zone": "1", "text": "3 * 2 x 4 = 24" },
    { "exposure": "3", "probability": "2", "severity": "5", "zone": "1", "text": "3 * 2 x 5 = 30" },
    { "exposure": "3", "probability": "3", "severity": "1", "zone": "1", "text": "3 * 3 x 1 = 9" },
    { "exposure": "3", "probability": "3", "severity": "2", "zone": "1", "text": "3 * 3 x 2 = 18" },
    { "exposure": "3", "probability": "3", "severity": "3", "zone": "1", "text": "3 * 3 x 3 = 27" },
    { "exposure": "3", "probability": "3", "severity": "4", "zone": "1", "text": "3 * 3 x 4 = 36" },
    { "exposure": "3", "probability": "3", "severity": "5", "zone": "2", "text": "3 * 3 x 5 = 45" },
    { "exposure": "3", "probability": "4", "severity": "1", "zone": "1", "text": "3 * 4 x 1 = 12" },
    { "exposure": "3", "probability": "4", "severity": "2", "zone": "1", "text": "3 * 4 x 2 = 24" },
    { "exposure": "3", "probability": "4", "severity": "3", "zone": "1", "text": "3 * 4 x 3 = 36" },
    { "exposure": "3", "probability": "4", "severity": "4", "zone": "2", "text": "3 * 4 x 4 = 48" },
    { "exposure": "3", "probability": "4", "severity": "5", "zone": "2", "text": "3 * 4 x 5 = 60" },
    { "exposure": "3", "probability": "5", "severity": "1", "zone": "1", "text": "3 * 5 x 1 = 15" },
    { "exposure": "3", "probability": "5", "severity": "2", "zone": "1", "text": "3 * 5 x 2 = 30" },
    { "exposure": "3", "probability": "5", "severity": "3", "zone": "2", "text": "3 * 5 x 3 = 45" },
    { "exposure": "3", "probability": "5", "severity": "4", "zone": "2", "text": "3 * 5 x 4 = 60" },
    { "exposure": "3", "probability": "5", "severity": "5", "zone": "2", "text": "3 * 5 x 5 = 75" },
    { "exposure": "4", "probability": "1", "severity": "1", "zone": "1", "text": "4 * 1 x 1 = 4" },
    { "exposure": "4", "probability": "1", "severity": "2", "zone": "1", "text": "4 * 1 x 2 = 8" },
    { "exposure": "4", "probability": "1", "severity": "3", "zone": "1", "text": "4 * 1 x 3 = 12" },
    { "exposure": "4", "probability": "1", "severity": "4", "zone": "1", "text": "4 * 1 x 4 = 16" },
    { "exposure": "4", "probability": "1", "severity": "5", "zone": "1", "text": "4 * 1 x 5 = 20" },
    { "exposure": "4", "probability": "2", "severity": "1", "zone": "1", "text": "4 * 2 x 1 = 8" },
    { "exposure": "4", "probability": "2", "severity": "2", "zone": "1", "text": "4 * 2 x 2 = 16" },
    { "exposure": "4", "probability": "2", "severity": "3", "zone": "1", "text": "4 * 2 x 3 = 24" },
    { "exposure": "4", "probability": "2", "severity": "4", "zone": "1", "text": "4 * 2 x 4 = 32" },
    { "exposure": "4", "probability": "2", "severity": "5", "zone": "1", "text": "4 * 2 x 5 = 40" },
    { "exposure": "4", "probability": "3", "severity": "1", "zone": "1", "text": "4 * 3 x 1 = 12" },
    { "exposure": "4", "probability": "3", "severity": "2", "zone": "1", "text": "4 * 3 x 2 = 24" },
    { "exposure": "4", "probability": "3", "severity": "3", "zone": "1", "text": "4 * 3 x 3 = 36" },
    { "exposure": "4", "probability": "3", "severity": "4", "zone": "2", "text": "4 * 3 x 4 = 48" },
    { "exposure": "4", "probability": "3", "severity": "5", "zone": "2", "text": "4 * 3 x 5 = 60" },
    { "exposure": "4", "probability": "4", "severity": "1", "zone": "1", "text": "4 * 4 x 1 = 16" },
    { "exposure": "4", "probability": "4", "severity": "2", "zone": "1", "text": "4 * 4 x 2 = 32" },
    { "exposure": "4", "probability": "4", "severity": "3", "zone": "2", "text": "4 * 4 x 3 = 48" },
    { "exposure": "4", "probability": "4", "severity": "4", "zone": "2", "text": "4 * 4 x 4 = 64" },
    { "exposure": "4", "probability": "4", "severity": "5", "zone": "2", "text": "4 * 4 x 5 = 80" },
    { "exposure": "4", "probability": "5", "severity": "1", "zone": "1", "text": "4 * 5 x 1 = 20" },
    { "exposure": "4", "probability": "5", "severity": "2", "zone": "1", "text": "4 * 5 x 2 = 40" },
    { "exposure": "4", "probability": "5", "severity": "3", "zone": "2", "text": "4 * 5 x 3 = 60" },
    { "exposure": "4", "probability": "5", "severity": "4", "zone": "2", "text": "4 * 5 x 4 = 80" },
    { "exposure": "4", "probability": "5", "severity": "5", "zone": "3", "text": "4 * 5 x 5 = 100" },
    { "exposure": "5", "probability": "1", "severity": "1", "zone": "1", "text": "5 * 1 x 1 = 5" },
    { "exposure": "5", "probability": "1", "severity": "2", "zone": "1", "text": "5 * 1 x 2 = 10" },
    { "exposure": "5", "probability": "1", "severity": "3", "zone": "1", "text": "5 * 1 x 3 = 15" },
    { "exposure": "5", "probability": "1", "severity": "4", "zone": "1", "text": "5 * 1 x 4 = 20" },
    { "exposure": "5", "probability": "1", "severity": "5", "zone": "1", "text": "5 * 1 x 5 = 25" },
    { "exposure": "5", "probability": "2", "severity": "1", "zone": "1", "text": "5 * 2 x 1 = 10" },
    { "exposure": "5", "probability": "2", "severity": "2", "zone": "1", "text": "5 * 2 x 2 = 20" },
    { "exposure": "5", "probability": "2", "severity": "3", "zone": "1", "text": "5 * 2 x 3 = 30" },
    { "exposure": "5", "probability": "2", "severity": "4", "zone": "1", "text": "5 * 2 x 4 = 40" },
    { "exposure": "5", "probability": "2", "severity": "5", "zone": "2", "text": "5 * 2 x 5 = 50" },
    { "exposure": "5", "probability": "3", "severity": "1", "zone": "1", "text": "5 * 3 x 1 = 15" },
    { "exposure": "5", "probability": "3", "severity": "2", "zone": "1", "text": "5 * 3 x 2 = 30" },
    { "exposure": "5", "probability": "3", "severity": "3", "zone": "2", "text": "5 * 3 x 3 = 45" },
    { "exposure": "5", "probability": "3", "severity": "4", "zone": "2", "text": "5 * 3 x 4 = 60" },
    { "exposure": "5", "probability": "3", "severity": "5", "zone": "2", "text": "5 * 3 x 5 = 75" },
    { "exposure": "5", "probability": "4", "severity": "1", "zone": "1", "text": "5 * 4 x 1 = 20" },
    { "exposure": "5", "probability": "4", "severity": "2", "zone": "1", "text": "5 * 4 x 2 = 40" },
    { "exposure": "5", "probability": "4", "severity": "3", "zone": "2", "text": "5 * 4 x 3 = 60" },
    { "exposure": "5", "probability": "4", "severity": "4", "zone": "2", "text": "5 * 4 x 4 = 80" },
    { "exposure": "5", "probability": "4", "severity": "5", "zone": "3", "text": "5 * 4 x 5 = 100" },
    { "exposure": "5", "probability": "5", "severity": "1", "zone": "1", "text": "5 * 5 x 1 = 25" },
    { "exposure": "5", "probability": "5", "severity": "2", "zone": "2", "text": "5 * 5 x 2 = 50" },
    { "exposure": "5", "probability": "5", "severity": "3", "zone": "2", "text": "5 * 5 x 3 = 75" },
    { "exposure": "5", "probability": "5", "severity": "4", "zone": "3", "text": "5 * 5 x 4 = 100" },
    { "exposure": "5", "probability": "5", "severity": "5", "zone": "3", "text": "5 * 5 x 5 = 125" }
  ]
}