Proposal: Enhancing Clinical Decision Support using Numerical Methods for Systolic Blood Pressure

​While looking through my numerical methods notes, I noticed a good use case for the normal/standard (Gaussian) distribution for registering systolic blood pressure in lab work. When a medic would enter a blood pressure of, let’s say, 108 and he accidentally types 180, such a blood pressure would leave the 3-sigma rule, making it quite unlikely. On such an event, it could be flagged and require a confirmation repeating the number. ​The general rule is that the systolic arterial pressure can be represented on the Gaussian distribution, meaning there is a center of greatest likelihood and a symmetrical decline in the likelihood of a registry being right. Values outside of the 1-sigma rule have a likelihood of ~32%, where sigma is a fixed interval centered on the maximum likelihood. ​If this is considered a good use and addition, I would love to see where there would be interest to be implemented, e.g., the laboratory app.

​It would likely help with prescriptions also, as to better differentiate causes for the present issue (I would, but do not fully know how to detail this as I lack great medical knowledge). Having a sort of historical overview for each entry would also probably help see upward trends to better help assess the functionality of treatment / following of it. ​ Would love to get some feedback on the validity and the possibility to implement (wouldn’t be too hard to implement, just need to assess if it is worth it).

(Edit) this would likely be implemented in the openmrs-esm-laboratory-app

​VeryFriendlySolver

2 Likes

This is an interesting idea, especially for detecting potential data entry errors in clinical workflows.

Using statistical methods such as the 3-sigma rule to flag unlikely systolic blood pressure values is conceptually sound. However, one important consideration is that blood pressure can vary significantly across patients depending on factors such as age, medical conditions, and clinical context.

It may be more effective to base thresholds on patient-specific history or configurable ranges rather than a fixed distribution. This would help reduce false positives and improve clinical relevance.

From a usability perspective, implementing this as a non-blocking warning with confirmation (rather than strict validation) would likely integrate better into existing workflows.

Overall, this seems like a promising direction, particularly if aligned with configurable and context-aware validation mechanisms within OpenMRS.

We already provide visual feedback for high BPs based on fixed thresholds. Centering the prior distribution on past values is an interesting idea.

Replies from devs are not useful IMO; let’s get practitioners in here. @jteich and dunno who else

2 Likes

Interesting idea, thanks. I agree with @varshithreddy that if you’re looking for erroneous entries, it may be preferred to flag changes from the patient’s normal rather than using a single standard and normal distribution. Some people with chronic hypertension could have usual systolic (the higher number) BPs in the 160-170 range – doesn’t mean that’s ideal, but it’s not an emergency – while others may live around 90-110. Children have normal systolic BPs from 60-100 depending on age and size (their blood doesn’t have nearly as far to climb to reach their head!), pregnant patients have lower BPs, etc.

An unusually high or low BP could indicate serious acute illness - strokes, heart attacks, aortic aneurysms on the high side, sepsis or heart failure on the low side. They are very important markers, and the first reaction we want to evoke is '“is this patient in trouble?” But yes, they could be errors.

I’d say:

  • It’s reasonable to quietly red-letter BPs that are off standard norms – say, systolic over 160 or under 100 for an adult. Sounds like we are already doing that. That’s a patient-health issue.
  • For flagging possibly erroneous BPs – and also recognizing that, if correct, these are urgent – you could think of something more visually compelling, such as a colored pop-up or message, for BPs more than about 30 points lower or higher than the patient’s normal. Whatever is chosen, it should be non-interrupting. Expect that some clinicians may consider this to be over-alerting, especially in emergency rooms and clinics where they are treating blood pressure.

Happy to discuss further!

Jonathan

1 Like

Thank you for the detailed explanation, this is really helpful.

The distinction between general thresholds for patient health and deviations from a patient’s baseline for detecting potential errors makes a lot of sense.

Using something like a delta from the patient’s normal (for example, around ±30) as a trigger for a non-interrupting alert seems like a practical approach, especially to balance safety and avoid alert fatigue.

This gives a much clearer direction for how such validation could be implemented in a clinically meaningful way. I really appreciate the guidance.

​So from what I gather @jteich :

  1. ​The UI feedback has to have minimal implications as to not be tedious.
  2. ​There is already a fixed range in which a patient’s BP (any patient’s BP from what I understand) should be inside of.
  3. ​BP ranges differ with age and pregnancy (ofc with females). HOWEVER, the normal high BPs with some patients that have chronic hypertension would be weirder to document as there has to be clear precedent.

​So, upon a first entry, there should be a clear categorization in place so that we know what values to expect and circle around as “safe” or non-urgency. When a medic logs the systolic BP of a new patient, can he know for sure it is a chronic disease or does he later find out? If so, should we suggest within the UI?

​Some insight into how such an issue is typically handled would be very helpful!

(Edit) And to link it with my initial proposal, a normal distribution could still be relevant, but not a general one. Rather, we could use multiple distributions for each category of patient, or combination of categories (as I assume a patient can have both chronic hypertension and be pregnant, or other combinations of known conditions). I assume the publicly available medical data, combined with local hospital data, should suffice to structure these curves properly.

​VeryFriendlySolver