Coverage longest RR interval

By displaying and overlaying the determined RR intervals in the ECG data on the user interface, and using artifact events to insert into the ECG data, the problem of inaccurate RR interval measurement in the ECG data in the prior art is solved, and a more accurate cardiac measurement is achieved. Activity analysis.

CN119365116APending Publication Date: 2025-01-24BOSTON SCIENTIFIC CARDIAC DIAGNOSTICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380036960.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-04-27
Filing Date
2023-04-26
Publication Date
2025-01-24

Smart Images

  • Figure CN119365116A_ABST
    Figure CN119365116A_ABST
Patent Text Reader

Abstract

A method includes receiving a data packet including electrocardiogram (ECG) data and metadata. The metadata includes a determined RR interval associated with the ECG data. The method also includes displaying at least a subset of the determined RR intervals on the user interface and overlying the determined RR intervals associated with a time period that is greater than a time period associated with the selected RR interval.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to Provisional Application No. 63 / 335,629, filed on April 27, 2022, all 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 used to collect biometric data are 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 a patient's various heart conditions and irregular pulses. For example, cardiac monitoring can be used to identify abnormal heart rhythms so that critical alerts can be provided to the patient, doctor, or other caregiver, and the patient can receive treatment. Summary of the invention

[0005] In Example 1, a method includes receiving a data packet including electrocardiogram (ECG) data and metadata. The metadata includes determined RR intervals associated with the ECG data. The method also includes displaying at least a subset of the determined RR intervals on a user interface and overlaying the determined RR intervals associated with a time period that is greater than a time period associated with a selected RR interval.

[0006] In Example 2, according to the method of Example 1, wherein overwriting the determined RR interval is performed in response to receiving a user selection of a selected RR interval via a user interface.

[0007] In Example 3, according to the method of any of the preceding Examples, the selected RR interval is the longest true RR interval in the subset of determined RR intervals.

[0008] In Example 4, the method according to any of the preceding examples further includes calculating a time period of a longest determined RR interval based on the selected RR interval.

[0009] In Example 5, according to the method of any of the preceding Examples, each subset of determined RR intervals includes ECG data for a plurality of beats.

[0010] In Example 6, according to the method of any of the preceding examples, wherein each of the overlaid determined RR intervals is associated with ECG data including unclassified beats.

[0011] In Example 7, according to the method of any of the preceding Examples, each of the covered determined RR intervals is associated with an incorrect RR interval time period.

[0012] In Example 8, according to the method of any of the preceding Examples, the overlaying comprises inserting artifact events between corresponding beat pairs.

[0013] In Example 9, the method of claim 8, wherein the artifact event is inserted at a predetermined time period before a later occurrence of a corresponding beat pair.

[0014] In Example 10, the method according to any of the preceding examples further includes recalculating the RR interval data after overwriting the determined RR interval.

[0015] In Example 11, according to the method of any of the preceding Examples, each RR interval is associated with a beat pair.

[0016] In Example 12, according to the method of any of the preceding Examples, each RR interval is the length of time between a pair of R waves in the ECG data.

[0017] In Example 13, a computer program product includes instructions for causing one or more processors to perform the method steps of Examples 1-12.

[0018] In Example 14, a computer readable medium has stored thereon 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, the first computer-readable medium containing a first set of computer-executable instructions. The first set of instructions is configured to be executed by the first processor to cause the first processor to perform various steps. One step includes - after receiving a data packet including ECG data and metadata - displaying at least a subset of determined RR intervals on the UI, the metadata including the determined RR intervals associated with the ECG data. Another step includes overlaying the determined RR intervals associated with a time period that is greater than the time period associated with the selected RR interval.

[0021] In Example 17, the system of Example 16, wherein the selected RR interval is a user selected RR interval.

[0022] In Example 18, the system according to Example 16, wherein the selected RR interval is the longest true RR interval in the subset of determined RR intervals.

[0023] In Example 19, the system of Example 16, wherein each RR interval in the determined subset of RR intervals includes ECG data for multiple beats.

[0024] In Example 20, the system of Example 16, wherein each of the overlaid determined RR intervals is associated with ECG data including unclassified beats.

[0025] In Example 21, the system of Example 16, wherein each of the overwritten determined RR intervals is associated with an incorrect RR interval time period.

[0026] In Example 22, the system of Example 16, wherein the first set of instructions is configured to be executed by the first processor to cause the first processor to: insert artifact events between corresponding beat pairs in each covered RR interval.

[0027] In Example 23, the system according to Example 22, wherein the artifact event is inserted at a predetermined time period before a later occurrence of the corresponding beat pair.

[0028] In Example 24, the system of Example 16, wherein the first set of instructions is part of a data packet received from the server.

[0029] In Example 25, the system of Example 24, wherein the first set of instructions is executed by a web browser at the remote computing system.

[0030] In Example 26, the system according to Example 16 further includes a server having: a database, a second processor, and a second computer-readable medium, on which a second set of computer-executable instructions is contained. The second set of instructions is configured to be executed by the second processor so that the second processor performs various steps. These steps include: calculating the determined RR interval using a machine learning model operated by the server; storing the determined RR interval in the database; transmitting the strip of ECG data, the determined RR interval, and the first set of instructions to a remote computing system; receiving a modified set of RR intervals; and replacing the determined RR intervals with the modified set of RR intervals in the database.

[0031] In Example 27, a method includes receiving a data packet including ECG data and metadata. The metadata includes determined RR intervals associated with the ECG data. The method also includes displaying at least a subset of the determined RR intervals on a user interface and overlaying the determined RR intervals associated with a time period that is greater than a time period associated with a selected RR interval.

[0032] In Example 28, according to the method of Example 27, wherein overwriting the determined RR interval is performed in response to receiving a user selection of the selected RR interval via a user interface.

[0033] In Example 29, according to the method of Example 27, each of the overlaid determined RR intervals is associated with ECG data including unclassified beats.

[0034] In Example 30, according to the method of Example 27, wherein overlaying includes inserting artifact events between corresponding beat pairs.

[0035] In Example 31, according to the method of Example 30, the artifact event is inserted at a predetermined time period before a later occurrence of the corresponding beat pair.

[0036] In Example 32, according to the method of Example 27, the method further includes recalculating the RR interval data after overwriting the determined RR interval.

[0037] In Example 33, according to the method of Example 27, each RR interval is the length of time between a pair of R waves in the ECG data.

[0038] In Example 34, a method includes: calculating initial RR intervals within initial ECG data using a machine learning model operated by a server; storing the initial RR intervals in a database of the server; transmitting strips of the initial ECG data and the initial RR intervals and executable code to a remote computing system; receiving a modified set of RR intervals at the server, wherein the modified set of RR intervals includes covered RR intervals having a time period greater than a time period associated with a selected longest RR interval; and replacing the initial RR intervals with the modified set of RR intervals in the database.

[0039] In Example 35, the method according to Example 34 also includes training the machine learning model using a modified set of RR intervals.

[0040] 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, rather than restrictive. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 A cardiac monitoring system according to certain examples of the present disclosure is shown.

[0042] Figure 2 A server, a remote computer, and a user interface are shown according to certain examples of the present disclosure.

[0043] Figure 3 A view of a report construction page is shown according to certain examples of the present disclosure.

[0044] Figure 4-Figure 6 Different views or portions of an RR interval summary page are shown according to certain examples of the present disclosure.

[0045] Figure 7 A flow chart depicting an illustrative method for overlaying RR intervals according to examples of the present disclosure is shown.

[0046] Figure 8 A flow chart depicting an illustrative method for hosting a SaaS platform and covering RR intervals according to examples of the present disclosure is shown.

[0047] Fig. 9 A block diagram depicting an illustrative computing device is shown according to examples of the present disclosure.

[0048] Although the disclosed subject matter is susceptible to various modifications and alternative forms, specific examples are shown by way of example in the drawings and 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 defined by the appended claims. DETAILED DESCRIPTION

[0049] 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).

[0050] Electrocardiogram (ECG) data from a patient can be used to monitor cardiac activity and / or identify whether the patient has experienced a cardiac event. One type of cardiac activity measurement is called the RR interval. The RR interval represents the time elapsed between two consecutive R waves of the QRS portion of the ECG data. In other words, the RR interval measures the time between two peaks of consecutive R waves. When examining a patient's cardiac activity, a physician may want to know what the length of the longest RR interval was during the study. However, due to noise and / or unidentified R waves in the ECG data, determining the longest RR interval (or group of longest RR intervals) can be challenging. Therefore, certain examples of the present disclosure are directed to systems, methods, and devices for assisting in determining the RR interval.

[0051] 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 communicates the ECG data to mobile device 104 (e.g., mobile phone).

[0052] The mobile device 104 may include a program (e.g., a mobile phone application) that receives, processes, and analyzes ECG data. For example, the program may analyze ECG data and detect or mark cardiac events (e.g., periods of irregular cardiac activity) contained in the ECG data. Because ECG data may be continuously generated, the amount of ECG data may be difficult to store and process locally on the mobile device 104. Therefore, the mobile device 104 may periodically transmit ECG data blocks to another device or system, which may process ECG data blocks and metadata associated with the ECG data blocks (e.g., time, duration, detected / marked cardiac events), attach them together and archive them. In some instances, the monitor 102 may be programmed to directly transfer ECG data to other devices or systems without utilizing the mobile device 104. In addition, in some cases, the monitor 102 and / or the mobile device 104 include a button or touch screen icon that allows the patient 10 to initiate an event. This indication may be recorded and communicated to other devices or systems. In other instances involving multi-day studies, ECG data and related metadata are transmitted in larger blocks.

[0053] Cardiac Event Server

[0054] exist Figure 1In the example shown, mobile device 104 transmits ECG data (and associated metadata, if any) to a cardiac event server 106 (hereinafter referred to as "server 106"). 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 , the server 106 includes one or more machine learning models 108 (e.g., deep neural networks), a cardiac event router 110, a reporting platform 112, and a notification platform 114. Figure 1 Only one server 106 is shown, but the 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 platform / module / layer is the input of another platform / module / layer. Each platform / module / layer may communicate between other platforms / modules / layers and systems and devices external to the server 106 using an application programming interface (API).

[0055] Server 106 applies machine learning model 108 to ECG data to determine various cardiac data and events. As an example, machine learning model 108 can determine the RR interval of the beats in the ECG data. However, due to noise in the ECG data, machine learning model 108 may not be able to identify every beat. When a beat cannot be identified, the determined RR interval will be longer than the true RR interval between consecutive beats.

[0056] In some embodiments, the machine learning model 108 includes two paths, where the first path is a deep convolutional neural network and the second path is a deep fully connected neural network. The deep convolutional neural network receives one or more groups of beats (e.g., a beat train with 3-10 beats), which are processed through a series of layers in the deep convolutional neural network. The series of layers may include: a convolutional layer for convolving the time series data in the beat train; a batch normalization layer for normalizing the output from the convolutional layer (e.g., centering the result around the origin); and a nonlinear activation function layer for receiving the normalized value from the batch normalization layer. The beat train then passes 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 can 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 of both paths are then fed to a fully connected layer. The resulting values ​​are passed through a fully connected layer and a softmax layer to produce a probability distribution of beat categories.

[0058] If the machine learning model 108 determines that the ECG data is closest to the labeled ECG data associated with a cardiac event, the machine learning model 106 can determine that the patient 10 has experienced the cardiac event. In addition, the machine learning model 108 can measure or determine certain features 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 machine learning model 108 can also determine the confidence level of each classification or identification of the cardiac event. The confidence level is an indication of the certainty or uncertainty of the accuracy of the classification or identification of the machine learning model. The server 106 stores the cardiac event (and related metadata, such as information such as heart rate, duration, beat count, etc.) in a database for storage. Subsequently, the server 106 can retrieve the cardiac event and related information from the database.

[0059] In some instances, the mobile device 104 (or monitor 102) can make a preliminary classification of the cardiac event based on the ECG data. The server 106 can 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 serious, 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] Figure 2 The server 106 is shown communicatively coupled (e.g., via a network) to a remote computer 116. Figure 2 In the example of , remote computer 116 includes a monitor displaying a user interface 122 (hereinafter referred to as "UI 122") that displays features of a reporting platform 112 hosted by server 106. UI 122 includes multiple pages or screens for tracking and facilitating analysis of patient ECG data.

[0063] 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.

[0064] The server 106 (e.g., via programming associated with the reporting platform 112) can initiate a process of sending data to the remote computer 116. The data includes ECG data and metadata associated with the ECG data. As described above, once the ECG data from the monitored patient has been 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 of the machine learning model in the identification of the cardiac event, and / or the beat classification (e.g., normal, ventricular, supraventricular, unclassified). In some embodiments, the machine learning model 108 assigns a beat classification to each beat, and also assigns a cardiac event type (e.g., atrial fibrillation, ventricular tachycardia, flutter) to certain groups and patterns of beats. In order to distinguish between beats, each individual beat can be assigned a unique identifier (e.g., a unique number).

[0065] Accessing, processing and displaying ECG data and metadata for one or more days consumes a lot 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 transmit packages of ECG data and metadata to remote computer 116.

[0066] The initial packet of data 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 delivered. After the initial packet of data is transmitted from the server to the remote computer 116, additional packets of data may be transmitted in response to selections made by the user in the UI 122.

[0067] Report Page

[0068] After the remote computer 116 receives the initial packet of data, the user can access (via UI 122) Figure 3 The report build page 200 and Figure 4-Figure 6 RR Interval Summary page 250 is shown. These pages are generated at the remote computer 116 based on the packages of data, and they are selectively displayed via the UI 122. The report construction page 200 facilitates analysis of cardiac events, and the RR Interval Summary page 250 facilitates review of the RR intervals initially determined by the machine learning model 108.

[0069] Figure 3 A screen shot of a report construction page 200 is shown, which a user uses 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.

[0070] Window 202 displays a heart rate graph of multiple days of ECG data. This window 202 provides an initial visual insight into which time periods appear to contain abnormal heart rate activity. Figure 3 In the example shown, window 202 displays four days of ECG data, however shorter or longer time periods may be displayed by default or changed by the user.

[0071] Window 204 allows the user to view a shorter graph of ECG data. For example, window 204 can display ECG data associated with a detected cardiac event and 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.

[0072] Window 208 shows a graph of ECG data that is shorter (e.g., approximately 10 beats) than the graphs of windows 202 and 204. Window 208 displays a close-up view of a portion of the ECG data of windows 202 and 204. A user may use window 204 to select which shorter set of ECG data to display in window 208. Each of windows 202, 204, and 208 may include a marker, indicator, icon, etc. to visually note the location of a detected cardiac event within a strip of ECG data.

[0073] RR Interval Summary Page

[0074] Figure 4-Figure 6 Different views or portions of the RR interval summary page 250 are shown. As described above, the RR interval represents the time elapsed between two consecutive R waves of the QRS portion of the ECG data. In addition, due to noise and / or unidentified R waves in the ECG data, determining the longest RR interval (or group of longest RR intervals) may be challenging.

[0075] Figure 4 An example of a strip of ECG data 252 with beats that are not identified as beats is shown, resulting in an inaccurate RR interval measurement. The ECG data 252 shows five beats. However, only four beats 254A-254D are identified as beats by the machine learning model 108, and the fifth beat 256 is not identified as a beat - this may be caused by noise in the ECG signal (e.g., due to a less than ideal electrode connection to the patient).

[0076] Each identified beat 254A-254D is associated with a beat classification. Figure 4 In the example of , the first identified beat 254A is classified as a ventricular beat and is indicated by a "V", while the remaining identified beats are classified as supraventricular beats and are indicated by an "S." Unidentified beats 256 are not associated with a beat classification.

[0077] RR interval summary page 250 displays the RR interval measurements of the identified beats. For example, RR interval 258A of the first identified pair of beats 254A and 254B is displayed as 1,500 milliseconds; RR interval 258B between the second identified pair of beats 254B and 254C is displayed as 5,708 milliseconds; and RR interval 258C between the third identified pair of beats 254C and 254D is displayed as 852 milliseconds. Because beat 256 was not identified as a beat, the RR interval 258B of 5,708 milliseconds is inaccurate because RR interval 258B should be the sum of two separate RR intervals. Therefore, RR interval 258B is longer than the true RR interval.

[0078] As described above, when examining a patient's cardiac activity, a physician may want to know what the length of the longest RR interval during the study period was. However, some measured RR intervals may be inaccurate due to missed or skipped beats as described above. The RR Interval Summary page 250 provides a tool to help identify and cover inaccurate RR intervals.

[0079] Figure 5 Another view of the RR interval summary page 250 is shown, which displays ECG bands associated with a small subset of the total number of RR intervals determined by the machine learning model 108. The RR interval summary page 250 may initially display the ECG bands in descending order starting with the longest measured RR interval at the top.

[0080] Each ECG strip includes a number of beats and a visual indicator 260 representing the length of the measured RR interval. Figure 5 In the example, the visual indicator 260 is a bar outlined with a dashed line, however other designs may be used, such as a colored bar / band extending between a pair of identified beats. In the example, the visual indicator 260 is only used for the longest measured RR interval within each ECG strip. The visual indicator 260 helps the user see if the ECG strip includes a beat that is not identified by the machine learning model 108. Figure 5 In each example, it can be seen that the visual indicator 260 overlaps (or passes through) the beat between a pair of identified beats. Because skipped beats are not considered in the RR interval, Figure 5 Each measured RR interval shown in is inaccurate and should not be used to indicate the length of the true longest RR interval.

[0081] The RR interval summary page 250 allows the user to scroll through and view the initial RR intervals measured by the machine learning model 108. For example, the user can scroll through the RR intervals that were initially identified as the longest until the user finds the actual longest RR interval. Using the RR interval summary page 250, the user can then select such an RR interval as the longest RR interval. As described in more detail below, an RR interval can be selected via the RR interval summary page 250 by selecting an overlay button 262 adjacent to the desired RR interval displayed on the RR interval summary page 250.

[0082] In addition to using the RR interval summary page 250 to identify which measured RR interval is the actual longest interval, the RR interval summary page 250 can also be used to overwrite inaccurate RR intervals. In short, once the user (via the UI 122 on the remote computer 116) selects an RR interval as the longest RR interval, RR intervals associated with time periods greater than the selected RR interval will be overwritten. This feature will refer to Figure 6 A more detailed description is given.

[0083] Figure 6 A strip of ECG data with RR intervals that have been covered is shown. The strip of ECG data includes two beats 270A and 270B, which are initially identified as beats by the machine learning model 108. The two beats 270A and 270B are associated with a beat classification, which is represented by an "S" for supraventricular for the two beats 270A and 270B. The strip of ECG data also includes a beat 272 located between the two identified beats 270A and 270B, which was not initially identified as a beat and is not associated with the beat classification. Because the beat 272 was not initially identified as a beat, the RR interval is measured between the first identified beat 270A and the second identified beat 270B, which results in the measured RR interval being longer than the actual RR interval. The erroneous RR interval is then covered.

[0084] The RR interval is covered by inserting an artifact event 274 in a strip of ECG data. As background, the machine learning model 108 can use artifact events to identify noise periods or other potentially unreliable parts of the ECG data. For identified artifact events, the system can be programmed to ignore the RR interval associated with the artifact event. For example, the system can be programmed so that any beat immediately following the artifact event cannot be used for RR interval calculation. Therefore, inserting an artifact event (such as artifact event 274) into the ECG data causes certain previously calculated RR intervals to be covered or otherwise ignored.

[0085] Thus, once a user (via the UI 122 on the remote computer 116) selects a RR interval as the longest RR interval, RR intervals associated with time periods greater than the selected RR interval can be covered by inserting artifact events between beat pairs within such RR intervals in the ECG data. As described above, in some instances, the strip of ECG data and the RR interval displayed on the RR interval summary page 250 include an overlay button 262 adjacent to the strip of ECG data. The user initiates the overlay process by selecting the overlay button 262 associated with the RR interval selected by the user as the true longest RR interval. Once the overlay button 262 is selected, the remote computer 116 (by executing the code sent from the server 106) automatically inserts artifact events into the ECG data between beat pairs associated with RR intervals longer than the selected RR interval.

[0086] Using the above method, incorrect RR intervals can be effectively identified and ignored in order to analyze RR interval data, such as the longest RR interval during the study. For example, instead of manually checking and correcting each incorrect RR interval, the above method can automatically correct the RR interval at least for RR intervals that are longer than the RR interval selected by the user. Once the RR intervals have been covered, the system can recalculate the RR interval data (e.g., summary data such as average RR intervals, etc.) based on the remaining RR intervals from the study.

[0087] In some instances, an artifact event is inserted at a predetermined time period before an identified beat. For example, an artifact event may be inserted 300-600 milliseconds (e.g., 400 milliseconds) before the trailing beat of the corresponding RR interval. In some instances, the inserted artifact event is an artificial event that lasts 100-400 milliseconds (e.g., about 200 milliseconds). In other instances, an artifact event may be inserted anywhere between an identified beat pair.

[0088] To save processing and network resources, and to allow these changes to occur in real time, the calculation and change of the RR intervals may be performed locally on the remote computer 116, rather than sending large blocks of data back and forth between the server 106 and the remote computer 116. For example, a cache memory 124 ( Figure 1 ) and the processing power of the remote computer 116 (e.g., one or more microprocessors) to perform calculations. To enable local processing and updating, the reporting platform 112 can send code to the remote computer 116 for local execution. The code uses (or operates on) the output of the machine learning model 108, such as the measured RR intervals, which reduces the computing resources required to process changes made by the user locally on the remote computer 116. In some embodiments, the code is executed by an Internet browser running on the remote computer 116.

[0089] method

[0090] Figure 7 A block diagram of a method 300 for covering RR intervals is shown. The method 300 includes receiving a data packet ( Figure 7 The metadata includes the determined RR intervals associated with the ECG data. The method 300 also includes displaying at least a subset of the determined RR intervals on a user interface ( Figure 7 The method 300 also includes overwriting a determined RR interval associated with a time period that is greater than the time period associated with the selected RR interval ( Figure 7 306 in FIG. 10 ).

[0091] Figure 8A block diagram of a method 400 for hosting a SaaS platform and updating a hosted database in response to changes made remotely to metadata is shown. The method 400 includes calculating an initial RR interval (RR interval) within initial ECG data using a machine learning model operated by a server. Figure 8 4. The method 400 also includes transmitting the strips of initial ECG data and initial RR intervals and executable code ( Figure 8 The method 400 also includes replacing the initial RR intervals and the initial ECG data in the database with a new set of RR intervals calculated by the remote computing system and a new ECG including artifact events inserted by the remote computing system ( Figure 8 406 in FIG.

[0092] Computing devices and systems

[0093] Fig. 9 is a block diagram depicting an illustrative computing device 500 according to examples of the present disclosure. Computing device 500 may include any type of computing device suitable for implementing aspects of examples of the disclosed subject matter. Examples of computing devices include special-purpose computing devices or general-purpose computing devices, such as workstations, servers, laptops, desktop computers, tablet computers, handheld devices, smartphones, general-purpose graphics processing units (GPGPUs), etc. Each of the various components shown and described in the figures may include their own set of special-purpose computing device components, such as Figure 5 For example, mobile device 104, server 106, and remote computer 116 may each include their own set of components, such as Figure 5 shown and described below.

[0094] In the example, computing device 500 includes bus 510, which directly and / or indirectly couples one or more of the following devices: processor 520, memory 530, input / output (I / O) port 540, I / O component 550, and power supply 560. Any number of additional components, different components, and / or combinations of components may also be included in computing device 500.

[0095] Bus 510 represents a bus that may be one or more buses (e.g., such as an address bus, a data bus, or a combination thereof). Similarly, in an example, computing device 500 may include multiple processors 520, multiple memory components 530, multiple I / O ports 540, multiple I / O components 550, and / or multiple power supplies 560. Furthermore, any number or combination of these components may be distributed and / or replicated across multiple computing devices.

[0096] In an example, memory 530 includes computer-readable media in the form of volatile and / or non-volatile memory, and may be removable, non-removable, or a combination thereof. Examples of media include random access memory (RAM); read-only memory (ROM); electrically erasable programmable read-only memory (EEPROM); flash memory; optical or holographic media; magnetic 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 530 stores computer-executable instructions 570 for causing processor 520 to implement aspects of examples of components discussed herein and / or perform aspects of examples of methods and processes discussed herein. Memory 530 may include a non-transitory computer-readable medium storing computer-executable instructions 570.

[0097] Computer-executable instructions 570 may include, for example, computer code, machine usable instructions, etc., such as, for example, program components executable by one or more processors 520 (e.g., microprocessors) associated with computing device 500. Program components may be programmed using any number of different programming environments, including various languages, development toolkits, frameworks, etc. Some or all of the functionality contemplated herein may also or alternatively be implemented in hardware and / or firmware.

[0098] According to an example, for example, the instructions 570 may be configured to be executed by the processor 520 and, after execution, cause the processor 520 to perform certain processes. In some examples, the processor 520, the memory 530, and the instructions 570 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.

[0099] The I / O components 550 may include presentation components configured to present information to a user, such as, for example, a display device, a speaker, a printing device, etc., 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, etc.

[0100] 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, the Internet via the use of an Internet service provider, and the like.

[0101] Various aspects of the present disclosure are described with reference to flowcharts and / or block diagrams of methods, devices, systems, and computer program products. It should be understood that each block of the flowchart illustration and / or block diagram, and the combination of blocks in the flowchart illustration and / or block diagram, can be implemented by computer program instructions.

[0102] 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 that fall within the scope of the claims, as well as all equivalents thereof.

Claims

1. A method comprising: receiving a data packet including electrocardiogram (ECG) data and metadata including a determined RR interval associated with the ECG data; displaying at least a subset of the determined RR intervals on a user interface; as well as Overlaying a determined RR interval associated with a time period that is greater than the time period associated with the selected RR interval.

2. The method according to claim 1, wherein: Overwriting the determined RR interval is performed in response to: A user selection of a selected RR interval is received via the user interface.

3. A method according to any one of the preceding claims, wherein: The selected RR interval is the longest true RR interval in the subset of determined RR intervals.

4. The method according to any one of the preceding claims, further comprising: The time period of the longest determined RR interval is calculated based on the selected RR interval.

5. A method according to any one of the preceding claims, wherein: Each RR interval in the subset of determined RR intervals includes ECG data for a plurality of beats.

6. A method according to any one of the preceding claims, wherein: Each of the overlaid determined RR intervals is associated with ECG data that includes unclassified beats.

7. A method according to any one of the preceding claims, wherein: Each of the overwritten determined RR intervals is associated with an incorrect RR interval time period.

8. A method according to any one of the preceding claims, wherein: The overlay includes inserting artifact events between corresponding beat pairs.

9. The method according to claim 8, wherein: The artifact event is inserted at a predetermined time period before a later occurrence of the corresponding beat pair.

10. The method according to any one of the preceding claims, further comprising: The RR interval data is recalculated after overwriting the determined RR interval.

11. A method according to any one of the preceding claims, wherein: Each RR interval is associated with a pair of beats.

12. A method according to any one of the preceding claims, wherein: Each RR interval is the length of time between a pair of R waves within the ECG data.

13. A computer program product comprising instructions for causing one or more processors to perform the steps of the method according to claims 1-12.

14. A computer readable medium having stored thereon a computer program product according to claim 13.

15. A computer comprising the computer readable medium according to claim 14.