vital_sqi: A Python package for physiological signal quality control - Le, Van-Khoa D.; Ho, Hai Bich; Karolcik, Stefan; Hernandez, Bernard; Greeff, Heloise; Nguyen, Van Hao; Phan, Nguyen Quoc Khanh; Le, Thanh Phuong; Thwaites, Louise; Georgiou, Pantelis; Clifton, David, the Vietnam ICU Translational Applications Laboratory (VITAL) Investigators (Frontiers in Physiology, 2022)
Electrocardiogram (ECG) and photoplethysmogram (PPG) are commonly used to determine the vital signs of heart rate, respiratory rate, and oxygen saturation in patient monitoring. In addition to simple observation of those summarised indexes, waveform signals can be analysed to provide deeper insights into disease pathophysiology and to support clinical decisions. Such data, generated from continuous patient monitoring from both conventional bedside and low-cost wearable monitors, are increasingly accessible. However, the recorded waveforms suffer from considerable noise and artefacts, hence are not necessarily usable prior to certain quality control (QC) measures, especially by those with limited programming experience. Various signal quality indices (SQIs) have been proposed to indicate signal quality. To facilitate and harmonize a wider usage of SQIs in practice, we present a Python package, named vital-sqi, which provides a unified interface to the state-of-the-art SQIs for ECG and PPG signals. The vital-sqi package provides with 7 different peak detectors and access to more than 70 SQIs by using different settings. The vital-sqi is designed with pipelines and graphical user interfaces to enable users of various programming fluency to use the package. Multiple SQI extraction pipelines can take PPG and ECG waveforms and generate a bespoke SQI table. As these SQI scores represents as the signal features, they can be input any quality classifier. The package provides functions to build simple rule-based decision systems for signal segment quality classification using user-defined SQI thresholds. An experiment with a carefully annotated PPG dataset suggests thresholds for the relevant PPG SQIs.