Beat and rhythm reclassification
By receiving electrocardiogram data and related metadata, using a state machine and a multi-step algorithm to automatically modify the initial cardiac event classification into subsequent cardiac event classification, it solves the problem of difficulty in effectively reclassifying cardiac events in the electrocardiogram data analysis of the existing technology, and realizes cardiac Accuracy and flexibility in event classification.
Patent Information
- Application Number
- CN202380036963.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-04-28
- Filing Date
- 2023-04-27
- Publication Date
- 2025-01-21
AI Technical Summary
The prior art is difficult to effectively reclassify cardiac events in electrocardiogram data analysis, resulting in the need for misclassification and reclassification.
By receiving ECG data and associated metadata, a state machine and multi-step algorithm are used to automatically modify the initial cardiac event classification into subsequent cardiac event classifications based on changes in subsequent beat classifications.
It achieves dynamic reclassification of electrocardiogram data, improves the accuracy and flexibility of cardiac event classification, and reduces the need for manual operations by users.
Smart Images

Figure CN119343085A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Provisional Application No. 63 / 336,071, filed on April 28, 2022, the entire contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure relates to devices, methods and systems for analyzing cardiac activity and cardiac events. Background Art
[0004] Monitoring devices for collecting biometric data are becoming increasingly common in diagnosing and treating patients' medical conditions. For example, mobile devices can be used to monitor a patient's cardiac data. Such cardiac monitoring can provide doctors with valuable information about the occurrence and regularity of various cardiac conditions and irregularities in a patient. Cardiac monitoring can be used, for example, to identify abnormal heart rhythms so that critical alerts can be provided to the patient, doctor, or other care provider, and the patient can be treated. Summary of the invention
[0005] In Example 1, a method includes receiving (by a first computing system) electrocardiogram (ECG) data and metadata associated with the ECG data, wherein the metadata includes an initial cardiac event classification and an initial beat classification of a beat occurring during a first event associated with the initial cardiac event classification. The method also includes causing the ECG data to be displayed in a user interface (UI); and receiving a command via the UI to change the initial beat classification to a subsequent beat classification. The method also includes automatically modifying, by the first computing system, the initial cardiac event classification to a subsequent cardiac event classification based on the subsequent beat classification.
[0006] In Example 2, the method of Example 1 is according to which automatically modifying the initial cardiac event classification to a subsequent cardiac event classification comprises using a state machine.
[0007] In Example 3, the method of Example 2 is described, wherein the state machine uses the subsequent beat classification to determine the subsequent cardiac event classification.
[0008] In Example 4, a method according to any of Examples 2 or 3, wherein the state machine uses an initial beat classification of beats surrounding a first event to determine a subsequent cardiac event classification.
[0009] In Example 5, the method of any one of Examples 2 to 4, wherein the multi-step algorithm receives an output of the state machine, wherein the multi-step algorithm determines a subsequent cardiac event classification.
[0010] In Example 6, according to any of the preceding examples, the method, wherein the command causes an initial beat classification to be changed to a subsequent beat classification of thousands of individual beats.
[0011] In Example 7, according to any of the methods of the preceding examples, the metadata includes an initial cardiac event classification and initial beat classifications of beats occurring during multiple events, wherein only the initial cardiac event classification associated with subsequent beat classifications is modified.
[0012] In Example 8, according to any of the preceding Examples, the method wherein the initial cardiac event classification is automatically modified to a subsequent cardiac event classification resulting in the merging of the initial separate events into a single event.
[0013] In Example 9, the method according to any of the preceding examples further includes: displaying multiple superimposed pulsation graphs associated with the same initial pulsation classification in a single window via the UI.
[0014] In Example 10, the method of Example 9 is described, wherein the command includes selecting some or all of the beats in a single window and modifying the initial beat classification to a subsequent beat classification.
[0015] In Example 11, according to any of the methods of the preceding examples, wherein the initial beat classification is a ventricular beat and the subsequent beat classification is a normal beat, wherein the initial cardiac event classification is sinus rhythm and the subsequent event classification is atrial fibrillation rhythm.
[0016] In Example 12, according to any of the methods of the preceding examples, the initial beat classification is a ventricular beat, and the subsequent beat classification is a supraventricular beat, wherein the subsequent event classification is a supraventricular tachycardia event.
[0017] In Example 13, a computer program product includes instructions for causing one or more processors to perform the steps of the method of Example 12.
[0018] In Example 14, a computer readable medium stores the computer program product of Example 13.
[0019] In Example 15, a computer includes the computer readable medium of Example 14.
[0020] In Example 16, a system includes a remote computing system having: a user interface (UI), a first processor, and a first computer-readable medium having a first set of computer-executable instructions embodied thereon. The first set of instructions is configured to be executed by the first processor to cause the first processor to: display electrocardiogram (ECG) data in the UI upon receiving ECG data and metadata, the metadata including an initial cardiac event classification and an initial beat classification of beats occurring during a first event associated with the initial cardiac event classification; receive a command to change the initial beat classification to a subsequent beat classification; and automatically modify the initial cardiac event classification to a subsequent cardiac event classification based on the subsequent beat classification.
[0021] In Example 17, the system of Example 16, wherein the command is generated in response to receiving input from a user via the UI.
[0022] In Example 18, the system of Example 16, wherein automatically modifying the initial cardiac event classification to a subsequent cardiac event classification comprises using a state machine.
[0023] In Example 19, the system of Example 18, wherein the state machine uses a subsequent beat classification to determine a subsequent cardiac event classification.
[0024] In Example 20, the system of Example 18, wherein the state machine uses an initial beat classification of beats surrounding the first event to determine a subsequent cardiac event classification.
[0025] In Example 21, the system of Example 18, wherein the multi-step algorithm receives an output of the state machine, wherein the multi-step algorithm determines a subsequent cardiac event classification.
[0026] In Example 22, the system of Example 16, wherein the command causes the initial beat classification to be changed to a subsequent beat classification of thousands of individual beats.
[0027] In Example 23, the system of Example 16, wherein the metadata includes an initial cardiac event classification and initial beat classifications of beats occurring during multiple events, wherein only the initial cardiac event classification associated with subsequent beat classifications is modified.
[0028] In Example 24, the system of Example 16, wherein the initial cardiac event classification is automatically modified to a subsequent cardiac event classification resulting in the initial separate events being merged into a single event.
[0029] In Example 25, the system of Example 16, wherein the first set of instructions further causes the first processor to: display, via the UI, a plurality of superimposed beat graphs associated with the same initial beat classification in a single window.
[0030] In Example 26, the system of Example 25, wherein the command comprises selecting some or all of the beats in a single window and modifying an initial beat classification to a subsequent beat classification.
[0031] In Example 27, the system of Example 16, wherein the initial beat classification is a ventricular beat and the subsequent beat classification is a normal beat, wherein the initial cardiac event classification is sinus rhythm and the subsequent event classification is atrial fibrillation rhythm.
[0032] In Example 28, the system of Example 16, wherein the initial beat classification is a ventricular beat and the subsequent beat classification is a supraventricular beat, wherein the subsequent event classification is a supraventricular tachycardia event.
[0033] In Example 29, the system of Example 16, wherein the first set of instructions is configured to be executed via a web browser at a remote computing system.
[0034] In Example 30, the system according to Example 16 further includes: a server having a database, a second processor, and a second computer-readable medium, the second computer-readable medium having a second set of computer-executable instructions embodied thereon. The second set of instructions is configured to be executed by the second processor to cause the second processor to: determine an initial cardiac event classification and an initial beat classification using a machine learning model operated by the server and based on ECG data; store the initial cardiac event classification and the initial beat classification in the database; send the initial ECG data strip, the initial cardiac event classification, the initial beat classification, and the first set of instructions to a remote computing system; receive a subsequent cardiac event classification and a subsequent beat classification from the remote computing system; and replace the initial cardiac event classification with the subsequent cardiac event classification in the database, and replace the initial beat classification with the subsequent beat classification.
[0035] Although multiple examples are disclosed, other examples of the present disclosure will become apparent to those skilled in the art from the following detailed description, which shows and describes illustrative examples of the present disclosure. Therefore, the drawings and detailed description should be regarded as illustrative in nature and not restrictive. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 A cardiac monitoring system according to certain examples of the present disclosure is shown.
[0037] Figure 2 A server, a remote computer, and a user interface are shown according to certain examples of the present disclosure.
[0038] Figure 3A and Figure 3BShown are views of beats grouped together according to certain examples of the present disclosure.
[0039] Figure 4 to Figure 1 2 shows various views of a report building user interface according to certain examples of the present disclosure.
[0040] Fig.13 is a block diagram depicting an illustrative computing device according to examples of the present disclosure.
[0041] Although the disclosed subject matter is susceptible to various modifications and alternative forms, specific examples have been shown by way of example in the drawings and are described in detail below. However, it is not intended to limit the disclosure to the specific examples described. On the contrary, the disclosure is intended to cover all modifications, equivalents, and alternatives that fall within the scope of the disclosure as defined by the appended claims. DETAILED DESCRIPTION
[0042] The present disclosure relates to devices, methods, and systems for facilitating analysis of cardiac activity and cardiac events (eg, abnormal heart rhythms or other problems).
[0043] Electrocardiogram (ECG) data of a patient can be used to identify whether the patient has experienced a cardiac event and what type of cardiac event has occurred. One input to determining the type of cardiac event includes the type (or classification) of heartbeats experienced during the cardiac event. Thus, an ECG analysis system can automatically determine that a certain type of cardiac event has occurred based on, among other things, how the system classifies the beats that occurred during the event. However, if the beats are initially misclassified, the type of cardiac event determined may also be misclassified and therefore may then need to be reclassified. Therefore, examples of the present disclosure are directed to systems, methods, and devices for facilitating the reclassification of ECG data.
[0044] Figure 1 Patient 10 and example system 100 are shown. System 100 includes a monitor 102 attached to patient 10 to detect cardiac activity of patient 10. Monitor 102 can generate electrical signals representing cardiac activity of patient 10. For example, monitor 102 can detect the patient's heartbeat (e.g., using infrared sensors, electrodes) and convert the detected heartbeat into electrical signals representing ECG data. Monitor 102 transmits the ECG data to mobile device 104 (e.g., mobile phone).
[0045] The mobile device 104 may include a program (e.g., a mobile phone application) for receiving, processing, and analyzing ECG data. For example, the program may analyze ECG data and detect or mark cardiac events (e.g., irregular cardiac activity periods) contained in the ECG data. As noted above, because ECG data may be generated continuously, the amount of ECG data may be unbearable to store and process locally on the mobile device 104. Therefore, the mobile device 104 may periodically send ECG data blocks to another device or system, which may process, attach, and archive ECG data blocks and metadata associated with the ECG data blocks (e.g., time, duration, cardiac events detected / marked). In some instances, the monitor 102 may be programmed to send ECG data directly to other devices or systems without utilizing the mobile device 104. In addition, in some instances, the monitor 102 and / or the mobile device 104 include buttons or touch screen icons that allow the patient 10 to initiate an event. Such instructions may be recorded and transmitted to other devices or systems. In other instances involving multi-day studies, ECG data and associated metadata are sent in larger blocks.
[0046] Cardiac Event Server
[0047] exist Figure 1 In the example shown, mobile device 104 sends ECG data (and associated metadata, if any) to cardiac event server 106 (hereinafter referred to as "server 106" for brevity). Server 106 includes multiple platforms, layers, or modules that work together to process and analyze ECG data so that cardiac events can be detected, filtered, prioritized, and ultimately reported to the patient's physician for analysis and treatment. Figure 1 In the example of FIG. 1 , server 106 includes one or more machine learning models 108 (e.g., a type of deep neural network), a cardiac event router 110, a reporting platform 112, and a notification platform 114. Although Figure 1 Only one server 106 is shown, but server 106 may include multiple separate physical servers, and the various platforms / modules / layers may be distributed among the multiple servers. Each of the platforms / modules / layers may represent a separate program, application, and / or code block, where the output of one of the platforms / modules / layers is the input of another of the platforms / modules / layers. Each platform / module / layer may communicate between or among other platforms / modules / layers and systems and devices external to server 106 using an application programming interface.
[0048] Machine Learning Models
[0049] The server 106 applies the machine learning model 108 to the ECG data to classify the cardiac activity of the patient 10. As described in more detail below, at a high level, the machine learning model 108 is programmed to (among other things) compare the ECG data to the labeled ECG data to determine which labeled ECG data the ECG data most resembles. The labeled ECG data may identify specific cardiac events (including but not limited to ventricular tachycardia, bradycardia, atrial fibrillation, pause, normal sinus rhythm, or artifact / noise) as well as specific beat types (including but not limited to ventricular beats, normal beats, or supraventricular beats).
[0050] In some embodiments, the machine learning model 108 includes three paths or separate neural networks (e.g., deep neural networks). These neural networks can be used in parallel, although some outputs from a neural network can be input to another neural network in the neural network.
[0051] The first neural network of the machine learning model 108 is an unsupervised trained neural network that identifies and groups beats with similar shapes (e.g., similar waveforms). The input to the first neural network is raw ECG data (e.g., raw ECG waveforms). In addition to the raw ECG data, the input to the first neural network may also include information about the monitor 102, instantaneous heart rate, beat waveform position information, patient information, and a previous deep neural network (DNN) feature space. The output of the first neural network is data identifying the classification of each beat and the degree of matching with similar heartbeats (e.g., beats with the most similar features).
[0052] In some instances, the first neural network is an autoencoder DNN. The autoencoder DNN can be designed to accept a large set of input data and extract features into a much smaller latent space that can be reconstructed as an approximation of the original input data. The autoencoder DNN of the present disclosure is programmed to extract decisive features of the beat waveform that can be used to accurately decide which beats are similar. As an example, the autoencoder DNN can transform the waveform of the beat from 500 data points to 8 data points, and these fewer data points may be the data points that are most likely to help distinguish between different types of beats (e.g., supraventricular beats, ventricular beats, normal beats).
[0053] The autoencoder DNN of the present disclosure can be trained and structured to have an unbalanced encoder and decoder, where the encoder is a deep DNN and the decoder is a simpler neural network. During the training process, the first neural network is trained to match the output data to the input as closely as possible. Due to the unbalanced approach, the encoder is forced to do most of the learning, creating a more complete latent space. The resulting latent space is then passed through a clustering algorithm that identifies the beats with the most similar features and puts similar beats into the same cluster group.
[0054] Figure 3A and Figure 3B shows an example of groups of beats that have been clustered together. Both figures show groups of ECG waveform slivers superimposed on each other. Each cluster may include hundreds or thousands of beats grouped together by the autoencoder DNN. As can be seen, Figure 3A The beats in all have very similar profiles to each other, and Figure 3B The beats in have very similar profiles to each other. Each beat is aligned so that its QRS peak is centered on the graph.
[0055] As described in more detail below, the cluster groups are ultimately presented to the end user in an ECG analysis tool and are used to efficiently review large amounts of ECG data (eg, one or more days of ECG data).
[0056] The second neural network and the third neural network may include neural networks described in U.S. Patent Application No. 16 / 695,534, which is incorporated herein by reference in its entirety. The second neural network may be a deep convolutional neural network, and the third neural network may be a deep fully connected neural network. The deep convolutional neural network receives one or more sets of beats (e.g., a beat training with 3-10 beats), which are processed through a series of layers in a deep convolutional neural network. The series of layers may include a convolutional layer for performing convolution on the time series data in the beat training; a batch normalization layer for normalizing the output from the convolutional layer (e.g., centering the results around the origin); and a nonlinear activation function layer for receiving normalized values from the batch normalization layer. The beat training is then passed through a set of repeated layers, such as another convolutional layer, a batch normalization layer, and a nonlinear activation function layer. This set of layers may be repeated multiple times.
[0057] The deep fully connected neural network receives RR interval data (e.g., the time interval between adjacent beats) and processes the RR interval data through a series of layers: a fully connected layer, a nonlinear activation function layer, another fully connected layer, another nonlinear activation function layer, and a regularization layer. The outputs from both paths are then provided to a fully connected layer. The resulting values are passed through a fully connected layer and a softmax layer to produce a probability distribution for beat classification.
[0058] If the machine learning model 108 determines that the ECG data is most similar to the labeled ECG data associated with the cardiac event, the machine learning model 108 can determine that the patient 10 experienced the cardiac event. In addition, the machine learning model 108 can measure or determine certain characteristics of the patient's 10 cardiac activity based on the ECG data. For example, the machine learning model 108 can determine the patient's 10 heart rate, duration, or beat count during the cardiac event based on the ECG data. The server 106 stores the cardiac event (and associated metadata, such as information like beat classification, heart rate, duration, beat count, etc.) in a database for storage. Subsequently, the server 106 can retrieve the cardiac event and associated information from the database.
[0059] In some instances, the mobile device 104 (or monitor 102) may initially classify a cardiac event based on the ECG data. The server 106 may then reclassify or confirm the cardiac event using the machine learning model 108. Doing so allows the computational resources of the server 106 to be used instead of the limited resources of the mobile device 104 to perform a more computationally expensive analysis of the ECG data.
[0060] In some instances, once the ECG data is processed by the machine learning model 108, the ECG data is available to a reporting platform 112. As will be described in more detail below, the reporting platform 112 can be accessed by a user at a clinic or laboratory 118 via a remote computer 116 (e.g., a client device such as a laptop, mobile phone, desktop computer, etc.).
[0061] In other examples, the cardiac event router 110 is used to determine which platform further processes the ECG data based on the classification associated with the cardiac event. For example, if the identified cardiac event is critical or severe, the cardiac event router 110 can mark or send the ECG data, etc. to the notification platform 114. The notification platform 114 can be programmed to immediately send a notification (along with the relevant ECG data and associated metadata) to the patient's physician / care team remote computer 116 and / or the patient 10 (e.g., to their computer system, email, mobile phone application).
[0062] Reporting Platform
[0063] Figure 2 The server 106 is shown communicatively coupled (e.g., via a network) to a remote computer 116. Figure 2In the example of FIG. 1 , remote computer 116 includes a monitor showing a user interface 122 (hereinafter referred to as “UI 122” for brevity) that displays features of reporting platform 112 hosted by server 106. UI 122 includes multiple pages or screens for tracking and facilitating analysis of patient ECG data.
[0064] In some examples, the reporting platform 112 is a software-as-a-service (SaaS) platform hosted by the server 106. To access the reporting platform 112, a user (e.g., a technician) interacts with the UI 122 to log into the reporting platform 112 via a web browser so that the user can use and interact with the reporting platform 112. When a user at the clinic or laboratory 118 is ready to analyze the patient's ECG data, the user can select the patient's profile through the UI 122.
[0065] The server 106 (e.g., via programming associated with the reporting platform 112) can initiate a process for sending data to the remote computer 116. The data includes ECG data and metadata associated with the ECG data. As noted above, once the ECG data from the monitored patient is collected, the machine learning model 108 can determine certain features of the patient's 10 cardiac activity based on the ECG data, including estimating that a cardiac event has occurred, and associate or generate metadata for the determined event. The metadata may include information about the patient 10, the patient's 10 heart rate during the cardiac event, the duration of the cardiac event, the beat count of the cardiac event, the confidence level of the machine learning model's identification of the cardiac event, and / or the beat classification (e.g., normal beat, ventricular beat, supraventricular beat, unclassified beat).
[0066] In some examples, the machine learning model 108 assigns a beat classification to each beat, and assigns a cardiac event type (e.g., atrial fibrillation, ventricular tachycardia, flutter) to certain groups and patterns of beats. To distinguish among the beats, each individual beat can therefore be assigned a unique identifier (e.g., a unique number).
[0067] Accessing, processing, and displaying one or more days' worth of ECG data and metadata can consume a large amount of computing resources, network bandwidth resources, and human resources. To help relieve the burden on these resources, server 106 (e.g., via reporting platform 112) can selectively send ECG data and metadata packages to remote computer 116.
[0068] The initial data packet may include: (1) a short strip of ECG data surrounding a detected cardiac event (e.g., a 60 second strip), (2) metadata associated with the strip, and (3) executable code (e.g., JavaScript code). In some instances, only ECG data associated with the highest priority cardiac event is initially transmitted. After the initial data packet is sent from the server to the remote computer 116, additional data packets may be sent in response to selections made by the user in the UI 122.
[0069] Report Build Page
[0070] With these initial data packets, the user can access (via remote computer 116 and UI 122) Figures 4 to 12B 1. The report construction page 200 is shown. The report construction page 200 facilitates the analysis of cardiac events and metadata associated with cardiac events. These pages are generated at the remote computer 116 based on the data packets, and they are selectively displayed via the UI 122. As will be described in more detail below, when the user interacts with the report construction page 200, the metadata is updated in real time at the remote computer 116.
[0071] Figure 4 A screen shot of a report construction page 200 is shown. The report construction page 200 is used by a user to review and analyze a patient's ECG data and metadata. The report construction page 200 includes a plurality of windows for displaying data, plots, icons, links, tags, indicators, and the like.
[0072] Window 202 displays a heart rate graph of multiple days' worth of ECG data. This window 202 provides an initial visual insight into which time periods appear to contain abnormal heart rate activity. In the example of FIG. 3 , window 202 displays four days of ECG data, although shorter or longer time periods may be displayed by default, or may be changed by the user.
[0073] Window 204 allows the user to view a shorter ECG data graph. For example, window 204 can display ECG data associated with a detected cardiac event along with ECG data before and after the detected event. This window 204 provides visual insight into the start of the detected event and whether the detected event may be an artifact, a subsequent event, etc. When the user scrolls through window 204, window 202 can display an indicator (e.g., a vertical line) showing the position of the ECG data of window 204 within the heart rate graph of window 202.
[0074] Window 208 shows a shorter graph of ECG data (e.g., approximately 10 beats) than the graphs of windows 202 and 204. Window 208 displays a closer view of a portion of the ECG data of windows 202 and 204. A user may use window 204 to select which shorter ECG data set to display in window 208. Each of windows 202, 204, and 208 may include a marker, indicator, icon, etc. to visually draw attention to the location of a detected cardiac event within the ECG data strip.
[0075] Pulse morphology
[0076] On the left side of the report construction page 200 is a beat morphology window 210 (hereinafter referred to as "morphology window 210"), which includes a plurality of separate sub-windows that display graphs of one or more individual beats. The user can use the morphology window 210 to select a beat, which can cause the windows 202, 204, and 208 to be updated. For example, the windows 202, 204, and 208 can be updated to show ECG data around the beat selected in the morphology window 210.
[0077] Figure 5 and Figure 6 A closer view of the morphology window 210 is shown. Figure 5 The morphology window 210 is shown as displaying multiple sub-windows. Each sub-window can display multiple beat graphs that have been characterized by the same type of cardiac event (e.g., by the machine learning model 108). The user can select the type of cardiac event (e.g., atrial fibrillation, ventricular tachycardia) from the menu button 212 to display the beats associated with the selected cardiac event in the sub-window.
[0078] The user can then select individual or multiple groups of beat graphs in the subwindow (or all beats associated with the subwindow) and, if desired, change the beat classification (e.g., from "S" beats to "V" beats or "N" beats). In addition, instead of selecting a single beat, the user can select all beats associated with a given cardiac event and change the beat classification to a different beat classification. Because the machine learning model 108 assigns an initial beat classification to each beat, the report construction page 200 can be used to perform large-scale updates to metadata associated with beats of similar characteristics. For example, in Figure 6 , the cardiac event types associated with the subwindows are shown as being associated with the 2607 beats. Using the morphology window 210 of the report construction page 200, the user can re-characterize each of those 2607 beats in one operation (e.g., change the initial classification of the 2607 beats to a subsequent beat classification). The user can also merge the subwindows using the merge button 214 so that the beats in two or more subwindows are characterized by the same cardiac event type.
[0079] Figure 7 and Figure 8 Other views showing how the user can make changes to the pulse using the UI. Figure 7 In , the user can select a window showing a grouping of similarly classified beats and then select a drop-down menu of options for reclassifying the selected beat grouping. Figure 7 As shown, potential options for classification include normal beat, ventricular beat, supraventricular beat, and unclassified beat. Figure 8 Another view is shown in which the user can select a beat or a group of beats and use buttons to change the classification associated with the selected beats.
[0080] Using one or more of the methods described above, metadata for thousands to hundreds of thousands (or millions, for long-term studies) of beats can be updated en masse through the UI. Because a set of ECG data may represent tens, hundreds of thousands, or even millions of individual beats, this ability to perform large-scale updates on beats saves user time analyzing ECG data and ultimately building reports.
[0081] Event Reclassification
[0082] As noted above, one input to determining the type of cardiac event includes the type or classification of beats that occurred during the cardiac event. Therefore, when a user makes a large-scale update to the beat classification, the initial cardiac event classification should be re-evaluated. Examples of the present disclosure describe methods for re-evaluating cardiac event classifications when the underlying beat classification changes. Because re-evaluation of ECG data may occur at a remote computer 116 (which may not include a machine learning model or have computing resources to quickly operate a machine learning model), the methods described herein can be performed without using a machine learning model 108 or another such machine learning model operating at a server 106. For example, these methods can be performed on a remote computer 116 by executing code sent to the remote computer 116 by the server 106.
[0083] In some instances, in response to a beat reclassification, the remote computer 116 applies a state machine to determine whether and how the initial cardiac event classification should be reclassified. The inputs to the state machine include the updated (or subsequent) beat classification, the beat classification surrounding each detected cardiac event, and the initial rhythm classification of the detected cardiac event surrounding a given cardiac event. In some instances, the state machine is applied only to regions of the ECG data (or detected cardiac events) involving one or more reclassified beats. The state machine outputs an annotation indicating a proposed rhythm classification for the underlying beat range.
[0084] A multi-step algorithm is applied on the output of the state machine to apply the proposed rhythm classification change to the existing rhythm classification. The multi-step algorithm takes into account nearby rhythm classifications as well as the heart rate and regularity of the affected region. In addition to reclassifying cardiac events, in some instances, the output of the state machine and the multi-step algorithm results in adjacent rhythm groups being merged into a single cardiac event and rhythm classification.
[0085] The above method allows the user to make large-scale changes to ECG data by focusing attention on beat reclassification. 9A to 12B Examples are provided of how changes in beat classification can affect rhythm classification.
[0086] In each of these pairs of figures, the top figure shows an ECG data strip containing a cardiac event and its initial rhythm (or event) classification (if any) and beat classification, and the bottom figure shows an ECG data strip with a modified (or subsequent) rhythm (or event) and beat classification. The beat classification is shown in the icon at the top of the ECG data strip. Beats classified as normal beats are indicated by the letter "N" in the icon, ventricular beats are represented by "V", and supraventricular beats are represented by "S". The rhythm classification of the cardiac event is shown in the band or strip extending horizontally at the bottom of the ECG data strip. The length of the band / strip visually shows the length of the cardiac event. As noted above, the initial classification is based on metadata generated by the machine learning model 108 at the server 106 and received by the remote computer 116. The ECG data strip also shows the RR interval (in milliseconds) of each pair of beats.
[0087] exist Fig.9A and Fig. 9B In the example of , the beat classification of three beats is changed from normal (N) to ventricular (V) in the context of an existing normal sinus rhythm (NSR) classification. In the event of three or more consecutive ventricular (V) beats, a ventricular rhythm is created. Fig.9A and Fig. 9B In the example of , the regularity of the beats defines the rhythm as either an idioventricular rhythm (IVR) or an accelerated idioventricular rhythm (AIVR), and the average heart rate of the three beats is then used to select the label of the AIVR. Finally, the surrounding rhythm classification is also updated, including the onset / offset of the surrounding NSR labels.
[0088] exist Fig. 10A and Fig. 10BIn the example of , the beat classification of three beats is changed from ventricular (V) to normal (N) in the context of atrial fibrillation (AFIB). Typically, when three or more consecutive normal (N) beats occur, a sinus rhythm classification is created. However, in this case, due to the presence of AFIB on both sides, an AFIB rhythm label is created. Finally, the surrounding rhythm classification is also updated, including merging / connecting the affected areas into a single continuous AFIB cardiac event.
[0089] exist Fig.11A and Fig. 11B In the example of , the beat classification of three beats is changed from ventricular (V) to supraventricular (S) in the context of ventricular tachycardia (VT). When three or more consecutive supraventricular (S) beats occur, a supraventricular rhythm classification is created. In this case, the supraventricular tachycardia (SVTA) label is selected based on the heart rate of the beats. Finally, the peripheral rhythm classification is also updated, including the onset / offset of the peripheral VT label.
[0090] exist Fig. 12A and Fig. 12B In the example above, the beat classification of one beat changes from normal (N) to supraventricular (S) in the context of normal sinus rhythm (NSR). A supraventricular bigem / triplet classification is created when an applicable beat pattern is present. In this case, the supraventricular bigem label is selected based on the beat pattern.
[0091] To conserve processing and network resources, and to allow these changes to metadata to occur in real time, the calculation and changes to the cardiac event classifications and the automatic updating of the beat classifications may be performed locally on the remote computer 116, rather than sending data back and forth between the server 106 and the remote computer 116. For example, a cache memory 124 (in Figure 1 108) and the processing power (e.g., one or more microprocessors) of the remote computer 116 to perform the reclassification. To enable local processing and updating, the reporting platform 112 can send the remote computer 116 code to be executed locally. The code uses (or operates on) the output of the machine learning model 108, such as beat classification and rhythm classification (as opposed to the underlying or raw ECG data), which reduces the computing resources required to process changes made locally by the user at the remote computer 116. In some embodiments, the code is executed by an Internet browser operating on the remote computer 116.
[0092] In some instances, once the final report is constructed and completed, the remote computer 116 can send any changes to the metadata (e.g., subsequent beat classifications and subsequent rhythm classifications) to the server 106 and its database. The server 106 can then replace the metadata originally created by the machine learning model (and saved to the database) with the metadata generated by the remote computer as the user reviews and edits the metadata. Thus, if the ECG and metadata need to be accessed again, the server's database has the latest version of the metadata. In addition, the machine learning model 108 can be further trained on the metadata generated by the user at the remote computer.
[0093] Computing devices and systems
[0094] Fig.13 is a block diagram depicting an illustrative computing device 1000 according to an example of the present disclosure. The computing device 1000 may include any type of computing device suitable for implementing aspects of an example of the disclosed subject matter. Examples of computing devices include dedicated computing devices or general-purpose computing devices, such as workstations, servers, laptops, desktops, tablet computers, handheld devices, smartphones, general-purpose graphics processing units (GPGPUs), etc. Each of the various components shown and described in the figure may include their own dedicated set of computing device components. Fig.13 For example, mobile device 104, server 106, and remote computer 116 may each include their own set of components. Fig.13 is shown in and described below.
[0095] In the example, computing device 1000 includes bus 1010, which directly and / or indirectly couples one or more of the following devices: processor 1020, memory 1030, input / output (I / O) port 1040, I / O component 1050, and power supply 1060. Any number of additional components, different components, and / or combinations of components may also be included in computing device 1000.
[0096] Bus 1010 represents one or more buses (such as, for example, an address bus, a data bus, or a combination thereof). Similarly, in an example, computing device 1000 may include multiple processors 1020, multiple memory components 1030, multiple I / O ports 1040, multiple I / O components 1050, and / or multiple power supplies 1060. In addition, any number or combination of these components may be distributed and / or replicated across multiple computing devices.
[0097] In an example, memory 1030 includes computer-readable media in the form of volatile and / or nonvolatile memory, and may be removable, non-removable, or a combination thereof. Examples of media include random access memory (RAM); read only memory (ROM); electronically erasable programmable read only memory (EEPROM); flash memory; optical or holographic media; cassettes, tapes, disk storage or other magnetic storage devices; data transmission; and / or any other medium that can be used to store information and can be accessed by a computing device. In an example, memory 1030 stores computer-executable instructions 1070 for causing processor 1020 to implement aspects of examples of components discussed herein and / or perform aspects of examples of methods and processes discussed herein. Memory 1030 may include a non-transitory computer-readable medium storing computer-executable instructions 1070.
[0098] Computer executable instructions 1070 may include, for example, computer code, machine usable instructions, etc., such as, for example, program components that can be executed by one or more processors 1020 (e.g., microprocessors) associated with computing device 1000. Program components can be programmed using any number of different programming environments, including various languages, development toolkits, frameworks, and / or the like. Some or all of the functionality contemplated herein may also or alternatively be implemented in hardware and / or firmware.
[0099] According to an example, for example, the instructions 1070 may be configured to be executed by the processor 1020 and, when executed, cause the processor 1020 to perform certain processes. In some examples, the processor 1020, the memory 1030, and the instructions 1070 are part of a controller such as an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and / or the like. Such devices may be used to perform the functions and steps described herein.
[0100] The I / O components 1050 may include presentation components configured to present information to a user, such as, for example, a display device, a speaker, a printing device, and / or the like, and / or input components, such as, for example, a microphone, a joystick, a satellite dish, a scanner, a printer, a wireless device, a keyboard, a pen, a voice input device, a touch input device, a touch screen device, an interactive display device, a mouse, and / or the like.
[0101] The devices and systems described herein may be communicatively coupled via a network, which may include a local area network (LAN), a wide area network (WAN), a cellular data network, via the Internet using an Internet service provider, and the like.
[0102] Aspects of the present disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, devices, systems, and computer program products. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions.
[0103] Various modifications and additions may be made to the illustrative examples discussed without departing from the scope of the disclosed subject matter. For example, while the examples described above refer to specific features, the scope of the present disclosure also includes examples with different combinations of features and examples that do not include all of the described features. Therefore, the scope of the disclosed subject matter is intended to include all such substitutions, modifications, and variations as fall within the scope of the claims, together with all equivalents thereof.
Claims
1. A method comprising: receiving, by a first computing system, electrocardiogram (ECG) data and metadata associated with the ECG data, the metadata comprising an initial cardiac event classification and an initial beat classification of beats occurring during a first event associated with the initial cardiac event classification; causing the ECG data to be displayed in a user interface (UI); receiving, via the UI, a command to change the initial beat classification to a subsequent beat classification; and The initial cardiac event classification is automatically modified, by the first computing system, to a subsequent cardiac event classification based on the subsequent beat classification.
2. The method according to claim 1, wherein: Automatically modifying the initial cardiac event classification to the subsequent cardiac event classification includes using a state machine.
3. The method according to claim 2, wherein: The state machine uses the subsequent beat classification to determine the subsequent cardiac event classification.
4. The method according to any one of claims 2 or 3, wherein: The state machine determines the subsequent cardiac event classification using an initial beat classification of beats surrounding the first event.
5. The method according to any one of claims 2 to 4, wherein: A multi-step algorithm receives an output of the state machine, wherein the multi-step algorithm determines the subsequent cardiac event classification.
6. A method according to any one of the preceding claims, wherein: The command causes the initial beat classification to be changed to a subsequent beat classification of thousands of individual beats.
7. A method according to any one of the preceding claims, wherein: The metadata includes an initial cardiac event classification and initial beat classifications of beats occurring during the plurality of events, wherein only the initial cardiac event classification associated with a subsequent beat classification is modified.
8. A method according to any one of the preceding claims, wherein: Automatically modifying the initial cardiac event classification to the subsequent cardiac event classification results in merging of the initial separate events into a single event.
9. The method according to any one of the preceding claims, further comprising: Multiple superimposed pulsatility graphs associated with the same initial pulsation classification are displayed in a single window via the UI.
10. The method according to claim 9, wherein: The command includes selecting some or all of the beats in the single window and modifying the initial beat classification to the subsequent beat classification.
11. A method according to any one of the preceding claims, wherein: The initial beat classification is a ventricular beat, and the subsequent beat classification is a normal beat, wherein the initial cardiac event classification is a sinus rhythm, and the subsequent event classification is an atrial fibrillation rhythm.
12. A method according to any one of the preceding claims, wherein: The initial beat classification is a ventricular beat, and the subsequent beat classification is a supraventricular beat, wherein the subsequent event classification is a ventricular tachycardia event.
13. A computer program product comprising instructions for causing one or more processors to perform the steps of the method of claim 12.
14. A computer readable medium having stored thereon the computer program product of claim 13.
15. A computer comprising the computer-readable medium of claim 14.
Citation Information
Patent Citations
Multi-channel and with rhythm transfer learning
US20200176122A1
Cited By
Changed events view
WO2026173815A1