Why Decompose the Probability of Harm in two – P1 and P2

P1 and P2

No we are not talking about the early Playstation versions…

ISO 14971 (2019 version, Annex C) indicates that the probability of a Harm occurring can be decomposed in two probabilities, P1 and P2, where:

P1 = Probability of Hazardous situation occurring

P2 = Probability of Harm occurring for a given Hazardous situation

The overall probability of a Harm occurring becomes then P = P1 * P2

This decomposition is not mandatory and many companies use a single Probability value.

Advantages of Using this Approach

1. Separation of technical and clinical events

P1 is typically related to device failures or use errors. This is competence of the developers and engineer, who can give a good estimate (qualitative or quantitative) of a certain event occurring.

P2 is more related to the clinical aspects of the product. The probability of a patient or user being injured when exposed to a certain hazard can be better estimated by clinical specialists.

So, developers don’t have to “guess” the probability of a negative clinical impact and clinical specialists do not need to get involved in the technical aspects of the device.

2. Allocation of controls

Risk controls based on the design of the device have an effect on P1, i.e. they tend to reduce, or eliminate, the probability of certain failures occurring.

P2 is instead affected more by controls related to Protection and Information, i.e. mitigation by reducing or preventing the exposure of the patient / user to the hazardous situation.

A P1 * P2 approach is definitely favorable, in case technical and clinical events can be estimated separately with a good degree of accuracy. This is particularly valid for a combination device or devices that channel drugs. In this case the physiological and clinical effect of hazards such as overdose or underdose are well known and can be assessed independently.

An Example

Following is an example of P1 * P2 approach of an insulin pump failing, where P1 is the probability of hazardous situation occurring and P2 is the probability of harm for a given hazardous situation.

One of the failures related to insulin pumps is the over delivery of the drug. This can result in (mild or severe) hypoglycemia. The underdelivery of insultin may result in diabetic ketoacidosis.

Generic failure Uncontrolled insulin delivery Overdelivery 1 in 30’000 h of use Mild hypoglycemia 1 in 100 cases Sweating and clamminess, chills, lightheadedness or dizziness, mild confusion, anxiety or nervousness, shakiness, rapid heartbeat, hunger, irritability, double vision or blurred vision, tingling in the lips or around the mouth. 1 in 3’000’000 h of use Serious
1 in 100’000 h of use Severe hypoglycemia 1 in 50 cases

Concentration problems, seizures, unconsciousness, death.

1 in 5’000’000 h of use Catastrophic
Underdelivery 1 in 50’000 h of use Diabetic ketoacidosis 1 in 10 cases

Vomiting, abdominal pain, deep gasping breathing, increased urination, weakness, confusion, loss of consciousness.

1 in 500’000 h of use Critical

How to Implement P1 * P2 with SoftComply Risk Manager and Jira Automation?

SoftComply Risk Manager is a Jira app developed specifically for medical device risk assessment that supports both FMEA and Hazard Analysis, automates traceability between risks, requirements and test cases, and generates compliant Risk Reports.

Jira Automation is a no-code rule builder that enables customers to build if-this-then-that-rules based on events in Jira. It allows teams to automate their processes, save time, keep Jira up to date and focus on what’s most important.

Automation is perfect for minor automation tasks to achieve more from the existing features of any Jira app. In this particular case, we will use automation to update Probability (P) value when either P1 or P2 is updated.

SoftComply Risk Manager currently supports only two-dimensional risk matrices i.e. we have to pack P1 and P2 into one single P. In order to achieve that we first have to add P1 and P2 as additional columns/custom fields to our risk management spreadsheet. After adding two new single select fields to our risk management table, the table will now look like this:

We have added fields P1 and P2 just before Probability column. Our goal is to update the value of Probability whenever P1 or P2 have been changed.

NB! You can define the values for P1 and P2 in any way you like!

Next, we will modify the existing Probability values. Currently the Probability values are following (Frequent-Improbable):

Our goal is to have Probability values as a function of P1 and P2. You can rename existing values to numerical values if you wish but you do not have to. Eventually you should have all possible combinations of P1 and P2 as a separate Probability value as follows:

Once the risk model is set up, we can automate the updating of Probability values according to P1 and P2.

Let’s use Jira Automation to keep data consistent and valid.

First, we will need to create a simple rule for the risk project where Probability is decomposed in two probabilities P1 and P2, i.e. select the project to which you want to apply the rule:

Automation rule itself is simple – it is activated only when either the P1 or the P2 field values have been changed:

And automation rule action is simply “update Probability field value”. Since Probability is not a simple field we must use special JSON format update under “More options”. You can see the format below:

The only tricky part here is the number you should enter. The number is an ID of the field option you wish to set. That ID value can be found from REST API. To see all field options and their representative IDs just open in your browser:


From the previous link (replace “your-host” with your Jira host name) you can find all possible field options, but since the options are project specific you need to filter them by projects. In other words, look for the field options that are connected to your project. You can find the Project ID from the following url:


And that’s it! You may want to add additional rules and conditions (if P1 value equals something and P2 equals something set P value to TBD) into the rules list as well.

Now you have implemented the P1*P2 calculation in the SoftComply Risk Manager!

Leave a Reply

Your email address will not be published. Required fields are marked *