Patent ID: 12251229

DETAILED DESCRIPTION

The drawings and the description that follow essentially contain elements of a definite nature. They may therefore serve not only to assist with the understanding of the present invention, but also to contribute to the definition thereof, where appropriate.

The present description contains elements for which a claim for copyright is likely to have been made. The copyright owner has no objection to the reproduction by anyone of the present patent document or the description thereof, as it appears in the official records, but reserves all other copyright rights.

FIG.1shows an embodiment of a device for detecting heart rhythm disorders according to the invention.

The device2comprises an engine4, a classifier6, a driver8and a memory10.

In the example described here, the device2is implemented on a computer which receives cardiac electrogram data as input and provides an output to a practitioner via a graphical user interface not shown. This computer is, in this case, a personal computer provided with the Windows 10 operating system, and a graphics card capable of managing one or more displays. Of course it can be made in a different manner, with a different operating system, with wireless or wired communication with the one or more displays. The term ‘computer’ must be interpreted in the broad sense. For example, it can be a tablet or a smartphone, an interaction terminal with a compute server, or an element on a distributed resource grid, etc.

The engine4, the classifier6and the driver8are, in this case, programs run by the processor of the computer. Alternatively, one or more of these elements could be implemented in a different manner by means of a dedicated processor. The term ‘processor’ must be understood to mean any processor adapted to the data processing operations described hereafter. Such a processor can be made in any known manner, in the form of a microprocessor for a personal computer, a dedicated chip of the FPGA or SoC (System on Chip) type, a computing resource on a grid, a microcontroller, or any other form suitable for providing the computing power required to carry out the operations described hereafter. One or more of these elements can also be made in the form of specialized electronic circuits such as an ASIC. An electronic circuit-processor combination can also be considered.

The memory10can be any type of data storage suitable for receiving digital data: hard drive, solid state drive (SSD), flash drive of any form, random access memory, magnetic drive, cloud or local distributed storage, etc. The data computed by the device2can be stored in any type of memory similar to the memory10, or therein. These data can be erased after the device has carried out its tasks, or they can be saved.

As shown inFIG.1, the memory10receives a plurality of different types of data which contribute to the functioning of the device2. Thus, the engine4accesses training data12to compute a first classification model for detecting heart rhythm disorders14and a second for detecting heart rhythm disorders16. These data are then used to classify input data18.

In the example described here, the engine4is a supervised machine learning engine. Thus, the training data12comprise cardiac electrograms which have been labelled to indicate whether or not they are associated with a sought cardiac disorder. In the example described here, the cardiac disorder targeted concerns atrial fibrillation. In other embodiments, it can be one or more other cardiac disorders.

Also alternatively, the engine4can use another machine learning engine, for example a semi-supervised or unsupervised machine learning engine. The dotted arrow between the input data18and the engine4represent the capacity of the latter to operate in semi-supervised or unsupervised mode. The engine4can also implement a combination of supervised, semi-supervised and/or unsupervised machine learning methods. In the example described here, the engine4mainly uses a data clustering algorithm.

Alternatively, the engine4can implement a regression algorithm, an instance-based algorithm, a regularization algorithm, a decision tree, a Bayesian algorithm, a neural network, a deep learning algorithm, or a combination thereof.

Alternatively, the engine4can be omitted, and the device2can operate based on predefined models for detecting heart rhythm disorders.

In the embodiment described here, the input data represent cardiac electrograms, i.e. the electric signals derived from the cardiac activity. To process them, these electrograms are cut into sequences of a chosen duration. In a preferred manner, this duration corresponds to the parameters of the model used for detecting heart rhythm disorders. This means that, in general, the duration with which the electrogram data are cut for determining the model for the engine4is the same as the duration of the electrogram data used by the device2during the operational functioning thereof.

Thus, the driver8receives the input data and cuts them according to the duration associated with the model with which the classification is sought, then the classifier6is called with the model and the cut data.

The Applicant has discovered that the detection was more effective when two models are used. For this purpose, the first model for detecting heart rhythm disorders is established using a first duration for the electrogram data, in the example described here, of 5 seconds, whereas the second model for detecting heart rhythm disorders is established using a second duration, which is an integer multiple of the first duration. In the example described here, the integer multiple is equal to 5. Alternatively, it can vary between 2 and 10.

In the example described here, these two models use the smallest of two estimators computed from the electrogram data. The purpose of these estimators is to qualify the cycle duration associated with the electrogram data. For this purpose, the electrogram data are stored in a vector, each element whereof corresponds to a sample of the signal represented by the electrogram data. Then, an autocorrelation parameter T is used to define two vectors of size T: a first vector comprising the first T samples of the electrogram data vector, and a second vector comprising the last T samples of the electrogram data vector.

In the example described here, the first estimator is computed by measuring a normalized autocorrelation by determining the scalar product of the first vector and of the second vector, divided by the product of the Euclidean norms of the first vector and of the second vector. By varying T, a maximum value and a minimum value of the first estimator are determined, then the value retained for the first estimator is chosen to be that for which the value of T is the smallest and such that the first estimator computed with this T value is greater than the difference between the maximum value of the first estimator subtracted from 0.3 times the difference between the maximum value and the minimum value of the first estimator. Alternatively, the first estimator can be determined differently, for example by changing the coefficient of 0.3, or by searching for a T value that optimizes the estimator, in an empiric, or exhaustive manner or by machine learning.

In the example described here, the second estimator is computed by computing, for each T value, the Euclidean norm squared of the difference between the first vector and the second vector, divided by the product of the sample having the highest absolute value in the first vector and the sample having the highest absolute value in the second vector. As for the first estimator, a maximum value and a minimum value of the second estimator are determined, then the value retained for the second estimator is chosen to be that for which the value of T is the smallest and such that the second estimator computed with this T value is greater than the difference between the minimum value of the second estimator added to 0.2 times the difference between the maximum value and the minimum value of the second estimator. Alternatively, the first estimator can be determined differently, for example by changing the coefficient of 0.3, or by searching for a T value that optimizes the estimator, in an empiric, or exhaustive manner or by machine learning.

Also alternatively, the first model and the second model can be based on other features, in addition to or in replacement of the first and second estimators.

The combination of these two models is particularly advantageous since the first model is extremely fast to implement since the first duration is short, whereas the second model is extremely precise although the second duration is much longer.

It should be noted that the cardiac electrograms are obtained by moving an electrode inside the heart in the areas of interest. The speed of movement of the electrode is thus crucial for the detection, however it must not be too slow in order to limit surgical risks. This speed of movement of the electrode inevitably influences the measurement precision. More specifically, as the electrode is progressively moved from a first area to a second area, the measurements taken are decreasingly associated with the first area, and increasingly associated with the second area.

Within the scope of the invention, this can make the second model for detecting heart rhythm disorders less efficient as a result of the longer duration of the second duration. Thus, although the first model is less precise, it procures a primary detection of the areas of interest in which a practitioner must spend more time so that the second model can indicate, with certainty, whether these areas are relevant. It should be noted that this advantage remains valid whether the device according to the invention is used in real time during a procedure or it is in delayed mode, in order to limit false negatives, i.e. areas which should have been detected as relevant, but for which the practitioner moved on “too quickly”.

Conventionally, when the classifier6applies the first model for detecting heart rhythm disorders or the second model for detecting heart rhythm disorders to cardiac electrogram data, it returns a value at the output. This value represents a probability of whether the electrogram data in question are considered to be indicative of a detection of a heart rhythm disorder.

Advantageously, when the driver8applies the first model for detecting heart rhythm disorders to cardiac electrogram data and when the response value exceeds a chosen detection threshold (for example 70%), alert data20are emitted. Nonetheless, it is only when the second model for detecting heart rhythm disorders returns a response value that exceeds a second chosen threshold (for example 80%) that an area from which the cardiac electrogram data were derived is considered to be relevant. Thus, the alert data20allow to indicate that an area is of interest, and calls for a more in-depth analysis in order for the second model to be optimally applied.

FIG.2shows one example implementation of a detection function by the driver8.

This function begins with an operation200wherein the input data are received, in addition to the execution parameters such as the first duration d1and the second duration d2, as well as the detection thresholds s1for the first model and s2for the second model.

Conventionally, the input data are received in packets.FIG.2shows the processing of a packet, the function being repeated for each new packet. To simplify this presentation, the example described here concerns the case whereby a data packet corresponds to the second duration. In the case whereby the packets are larger or smaller than the second duration, the function inFIG.2can be easily adapted to take missing or excess data into consideration.

Then, in an operation210, the data are cut according to the first duration, then an index i is set to 0 and the integer multiple corresponding to the division of the second duration by the first duration is computed in an operation220.

A loop is thus launched to apply the first model with each piece of the input data having the first duration, and the second model to the input data as a whole.

For this purpose, a loop exit test checks in an operation whether the index i is strictly less than the multiple k in an operation230. When this is the case, the first model is applied to the input data block having the index i in an operation240, and the resulting value v1is compared with the threshold s1in an operation250. If the value v1exceeds the threshold s1, the alert data are emitted in an operation255. Conversely, or after operation255, the index i is incremented in an operation260and the loop is resumed with the test in operation230. In the example described here, the threshold value s1can be set to 0.5. Alternatively, it can be set differently and/or be optimized.

When all of the data blocks have been browsed, an operation270applies the second model with all of the blocks, then the resulting value v2is compared with the threshold s2in an operation280. If the value v2exceeds the threshold s2, the detection data are emitted in an operation285. Conversely, or after operation285, the function ends in an operation299. In the example described here, the threshold value s2can be set to 0.7. Alternatively, it can be set differently and/or be optimized.

It should be noted that the classification of operation270can be carried out by applying a model in its own right, or even by carrying out operations based on the values derived from the application of the first model. Thus, the value v2can be a linear combination of the values v1computed in the loop, for example with a weighting that is all the greater given that the values v1are associated with a high index i. More specifically, the lower the index i, the more the corresponding data are temporally distant from the detection time, and the greater the risk of the electrode being far from the area concerned.

Alternatively, other types of functions can be implemented, such as a thresholded, arithmetic mean, or any combination based on the values v1.

Also alternatively, a so-called reference catheter can be placed in an area of the heart that is known to be healthy, and the electrogram data derived therefrom can be processed to determine the first estimator and the second estimator, as described hereinabove, in order to derive the lowest estimator value. This value can be compared with the value determined in a similar manner for the current electrogram data, and a similar alert to that in operation255can be triggered if a difference of more than 150 ms is determined between these values, or if the current electrogram data give a value of less than 150 ms.