Database

Service-Only Feature #29678 - Deadlock prevention when updating worklist flags

Summary

This Database enhancement adds deadlock prevention when updating order or study level worklist flags.

Previously, a database deadlock could occur when multiple users were updating different orders or studies belonging to the same patient. When two users concurrently performed an edit that resulted in a patient or order level worklist flag to be added or removed, RIS would detect the deadlock and automatically retry the transaction, but both users would experience very long (5-20 second) wait times, and other blocking could occur.

With this change, a new PatientTransactionLockEnabled RIS System Config setting locks necessary rows when updating any patient data (visit, order, study, etc) that may affect worklist flags, allowing multiple users to perform their updates in turn.

If issues related to this functionality arise, this feature may be disabled by setting PatientTransactionLockEnabled to False.

Logo  Description automatically generated with low confidence

Note that if RIS Services were started with PatientTransactionLockEnabled = True, it can be updated to False without having to restart RIS Services. Otherwise, a restart of RIS Services is required to enable it.

 

Configuration Instructions

No System Administrator actions are necessary to enable this feature.

RIS Client

Changes to RIS System Configuration Settings

The following related settings were added or updated:

Icon  Description automatically generated with medium confidence

WARNING: Do not modify PatientTransactionLockEnabled unless directed by the Service Team.

 

Setting

Default

Purpose

PatientTransactionLockEnabled

Value=Boolean, Default=[True]

Deadlock prevention when updating order or study level worklist flags. When [False], lock will be bypassed. Warning: Do not modify unless directed by the Service Team. Caution: Restart of RIS services may be required. Added in v3.2021.6.7 #29678