Time series classification
Modulai has together with Zenicor Medical Systems AB trained a deep learning model to predict an underlying paroxysmal atrial fibrillation (AF) condition in patients, using single-lead electrocardiogram (ECG) time series of the patients’ sinus ECG as input. The project was funded in part by Vinnova.
Every day, thousands of people suffer from stroke due to an underlying undiagnosed AF condition. Stroke often results in severe conditions such as paralysis or, in many cases, even death. For this reason, precise and early diagnosis of AF is an essential part of stroke prevention.
Paroxysmal AF occurs when a rapid, erratic heart rate begins suddenly and then stops on its own within seven days. It is also known as intermittent AF and often lasts for less than 24 hours.
In the early stages of patients with AF, AF sequences are short and sometimes hard to notice for the patient. As the disease progresses, sequences become longer and more frequent, thus gradually increasing the risk of stroke. Detecting AF in-sequence is not a difficult task since it comes out as clear patterns in an ECG. However, detecting patients with an underlying AF condition given an ECG not in AF sequence is a much more challenging task.
Zenicor has become one of the leading medtech companies in Europe in the fields of early diagnosis of arrhythmias and stroke prevention for health care. Zenicor has developed a unique system, Zenicor-ECG, for early detection and diagnosis of arrhythmias easily and cost-effectively. Zenicor’s products and solutions enable simple and effective diagnosis of atrial fibrillation and other cardiac arrhythmias.
How Modulai did it
Working together with the client and leading cardiologists at Karolinska Institutet as domain experts, the Modulai team tested different and modified versions of state-of-the-art CNN architectures for raw time series data. Modulai was able to create a model to detect underlying AF in normal-looking ECGs.
To further gain insight into the model, explainability methods were employed to find out how the model was able to predict the condition. The model was wrapped in a Flask API and dockerized as a last step.