Severe and critical event ECG triage and user interface
By transmitting ECG data to a remote computing system and using machine learning models for analysis, data access and efficiency problems in cardiac event analysis are solved, and accurate classification and priority processing of cardiac events are achieved, and analysis efficiency and resource utilization are improved.
Patent Information
- Application Number
- CN202380032858.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-02-08
- Filing Date
- 2023-02-08
- Publication Date
- 2025-01-14
AI Technical Summary
The prior art has difficulty effectively accessing and viewing ECG data for a longer period of time when analyzing cardiac events, resulting in limited analysis accuracy and efficiency, while posing challenges in computing resources and network bandwidth.
By transmitting ECG data from monitoring devices to remote computing systems, analyzing and classifying ECG data using machine learning models, and displaying relevant metadata and icons on the user interface, allowing users to selectively access and transmit sub- Sets, including data before and after events, to improve analysis accuracy and efficiency.
Accurate classification and priority processing of cardiac events is realized, redundant incident reporting is reduced, computing and network resources are saved, and users' batch processing and analysis efficiency of cardiac events is improved.
Smart Images

Figure CN119317973A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to provisional application No. 63 / 307,795, filed on February 8, 2022, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates to devices, methods and systems for monitoring, identifying and classifying 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 heart 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 treatment can be administered to the patient. Summary of the invention
[0005] In Example 1, a method includes detecting a first event in electrocardiogram (ECG) data and transmitting a first subset of the ECG data from a first computing system to a second computing system. The first subset of the ECG data includes ECG data for a first time period surrounding the detected first event. The method also includes displaying the first subset of the ECG data in a first window of a user interface (UI) of the second computing system, and selectively transmitting an additional subset of the ECG data from the first computing system to the second computing system when a user interacts with the UI. The additional subset of the ECG data includes ECG data for a second time period before and / or after the first detected event.
[0006] Example 2 includes the method of Example 1, and further includes displaying an additional subset of the ECG data in a second window of the UI.
[0007] Example 3 includes the method of Example 1 or 2, wherein at least one of the additional subsets of the ECG includes a second detected event.
[0008] Example 4 includes the method of any of Examples 1 to 3, wherein selectively transmitting the additional subset of ECG data is performed in response to detecting that the user is scrolling through the ECG displayed on the UI.
[0009] Example 5 includes the method of any one of Examples 1 to 4, and also includes determining that other detected events occur before or after the first detected event, and displaying icons for the other detected events on the UI, wherein the icons include metadata associated with the other detected events.
[0010] Example 6 includes the method of Example 5, wherein the icon is displayed adjacent to the first window.
[0011] Example 7 includes the method of Example 5, and further includes displaying the ECG data segment surrounding one of the other detected events on the UI in response to a user selecting one of the icons associated with one of the other detected events.
[0012] Example 8 includes the method of any of Examples 1 to 7, wherein detecting the first event comprises using a trained neural network.
[0013] Example 9 includes the method of Example 8, and further includes generating, by the trained neural network, metadata associated with the detected first event, and displaying the generated metadata on the UI.
[0014] Example 10 includes the method of Example 9, wherein the metadata includes a classification, a time, and a duration of the first detected event.
[0015] Example 11 includes the method of any of the preceding examples, wherein the second time period is longer than the first time period.
[0016] Example 12 includes the method of any of the preceding examples, wherein the first computing system is a server, and wherein the second computing system is a personal computing system.
[0017] Example 13 includes a computer program product including instructions for causing one or more processors to perform the method steps of Examples 1-12.
[0018] Example 14 includes a computer readable medium having stored thereon the computer program product of Example 13.
[0019] Example 15 includes a server comprising the computer readable medium of Example 14.
[0020] Example 16 includes a system having a server, the server including a processor and one or more computer-readable media having computer-executable instructions contained thereon. The instructions are configured to be executed by the processor to cause the processor to: detect a first event in ECG data, transmit a first subset of the ECG data to a remote computing system, cause the remote computing system to display the first subset of the ECG data in a first window of a UI of a second computing system, and selectively transmit additional subsets of the ECG data to the remote computing system when a user interacts with the UI. The first subset of the ECG data includes ECG data for a first time period around the detected first event, and the additional subset of the ECG data includes ECG data for a second time period before and / or after the first detected event.
[0021] Example 17 includes the system of Example 16, wherein the instructions are configured to be executed by the processor to cause the processor to cause the remote computing system to display an additional subset of the ECG data in a second window of the UI.
[0022] Example 18 includes the system of Example 17, wherein the first window and the second window are synchronized such that when a user interacts with one of the windows, the other window is updated.
[0023] Example 19 includes the system of Example 16, wherein selectively transmitting an additional subset of the ECG data is performed in response to detecting that a user is scrolling through the ECG displayed on the UI.
[0024] Example 20 includes the system of Example 16, wherein the instructions are configured to be executed by the processor to cause the processor to determine that other detected events occur before or after the first detected event, and cause the remote computing system to display icons for the other detected events on the UI. The icons include metadata associated with the other detected events.
[0025] Example 21 includes the system described in Example 16, wherein the instructions are configured to be executed by a processor to cause the processor to cause the remote computing system to: display an ECG data segment surrounding one of the other detected events on a UI in response to a user selecting one of the icons associated with one of the other detected events.
[0026] Example 22 includes the system of Example 16, wherein detecting the first event comprises using a trained neural network.
[0027] Example 23 includes the system of Example 16, wherein the instructions are configured to be executed by the processor to cause the processor to collect a set of detected events associated with the patient and selectively communicate individual detected events based on priority.
[0028] Example 24 includes the system of Example 23, wherein the priority is based on a severity of the detected event.
[0029] Example 25 includes the system of Example 23, wherein the set of detected events is assigned to a single user.
[0030] Example 26 includes a method comprising detecting a first event in ECG data and transmitting a first subset of the ECG data from a first computing system to a second computing system. The first subset of the ECG data includes ECG data for a first time period around the detected first event. The method also includes displaying the first subset of the ECG data in a first window of a UI of the second computing system, and selectively transmitting an additional subset of the ECG data from the first computing system to the second computing system when a user interacts with the UI. The additional subset of the ECG data includes ECG data for a second time period before and / or after the first detected event.
[0031] Example 27 includes the method of Example 26, and further includes displaying an additional subset of the ECG data in a second window of the UI.
[0032] Example 28 includes the method of Example 26, wherein selectively transmitting the additional subset of ECG data is performed in response to detecting that the user is scrolling through the ECG displayed on the UI.
[0033] Example 29 includes the method of Example 26, and further includes: determining that other detected events occur before or after the first detected event, and displaying icons for the other detected events on the UI, the icons including metadata associated with the other detected events.
[0034] Example 30 includes the method of Example 26, wherein detecting the first event comprises using a trained neural network.
[0035] Example 31 includes the method of Example 30, and further includes generating, by the trained neural network, metadata associated with the detected first event, and displaying the generated metadata on the UI.
[0036] Example 32 includes the method of Example 31, wherein the metadata includes a classification, a time, and a duration of the first detected event.
[0037] Example 33 includes a method comprising: receiving a data packet related to a cardiac event, wherein the data includes ECG data and associated metadata; classifying the cardiac event based on the ECG data; and routing the data packet to one of several software platforms based on the classification of the cardiac event.
[0038] Example 34 includes the method of Example 33, and further includes collecting a series of detected cardiac events routed to one of a plurality of software platforms and assigning the series of detected cardiac events to a single user.
[0039] Example 35 includes the method of Example 34, and further includes transmitting a data packet for each of the collected series of detected events to a remote computing system.
[0040] Although multiple examples are disclosed, other examples of the present disclosure will be apparent to those skilled in the art from the following detailed description, which shows and describes illustrative examples of the present disclosure.Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not 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 Some examples according to the present disclosure are shown Figure 2 User interface.
[0044] Figure 4 Some examples according to the present disclosure are shown Figure 2 and Figure 3 part of the user interface.
[0045] Figure 5 Another user interface according to certain examples of the present disclosure is shown.
[0046] Figure 6 A flow chart depicting an illustrative method of selectively transmitting and displaying a subset of ECG data according to an example of the present disclosure is shown.
[0047] Figure 7 A flow chart depicting an illustrative method for routing cardiac event data is shown according to examples of the present disclosure.
[0048] Figure 8 is a block diagram depicting an illustrative computing device according to examples of the present disclosure.
[0049] 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 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
[0050] The present disclosure relates to devices, methods and systems for monitoring, identifying and classifying cardiac events (eg, abnormal heart rhythms or other problems).
[0051] The electrocardiogram (ECG) data of the patient can be used to identify whether the patient has experienced a cardiac event. In order to collect ECG data, one or more monitoring devices (such as sensors, mobile phones) can be coupled to the patient so that the monitoring device senses and records ECG data. Because the monitoring device may continuously sense and record ECG data, the amount of ECG data may be overwhelming and difficult to be stored, processed and analyzed locally by the monitoring device or mobile device. Therefore, the recorded ECG data can be regularly transferred to another device or system. These ECG data blocks can be analyzed to identify cardiac events, and then further filtered downwards to the ECG data of the shorter time period around the identified cardiac events.
[0052] However, when analyzing cardiac events, it is beneficial to access and view ECG data for more than just a shorter period of time. For example, a related cardiac event that was transmitted and analyzed earlier may have preceded the identified cardiac event. Therefore, by analyzing ECG data before and / or after a cardiac event, the accuracy and efficiency of the analysis of a given cardiac event can be improved. However, providing access to larger ECG data sets can be challenging in terms of computing resources and network bandwidth. Therefore, examples of the present disclosure relate to systems, methods, and devices for providing access to ECG data.
[0053] 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).
[0054] 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., cycles of irregular cardiac activity) contained in the ECG data. As described above, since ECG data may be continuously generated, the amount of ECG data may be overwhelming and 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, attach, and archive ECG data blocks. In some cases, the mobile device 104 is programmed to transmit 10 minutes of ECG data blocks and metadata associated with the 10 minutes of ECG data blocks (e.g., time, duration, detected / marked cardiac events). In some cases, the monitor 102 may be programmed to transmit ECG data directly to other devices or systems without using the mobile device 104. In addition, in some cases, 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 communicated to other devices or systems.
[0055] Cardiac Event Server
[0056] exist Figure 1 In the example shown, mobile device 104 transmits 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 , the server 106 includes one or more machine learning models 108 (e.g., deep neural networks), a cardiac event router 110, a notification platform 112, a stable event platform 114, and a serious and critical event platform 116. 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 in another platform / module / layer. Each platform / module / layer may use an application programming interface to communicate between other platforms / modules / layers and systems and devices external to the server 106.
[0057] The server 106 applies the machine learning model 108 to the ECG data to classify the cardiac activity of the patient 10. For example, the machine learning model 108 can compare the ECG data to the labeled ECG data to determine which labeled ECG data the ECG data is closest to. The labeled ECG data can identify specific cardiac events, including but not limited to ventricular tachycardia, bradycardia, atrial fibrillation, pause, normal sinus rhythm, or artifact / noise.
[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 has 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 heartbeat 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 associated metadata, such as information such as heart rate, duration, heartbeat 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 cases, 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 computationally expensive analysis of the ECG data to be performed using the computing resources of the server 106 rather than the limited resources of the mobile device 104.
[0060] The cardiac event router 110 accesses the ECG data and metadata generated by the machine learning model 108. The cardiac event router 110 determines whether the ECG data (and metadata) should be tagged for (or routed to) a notification platform 112, a stable event platform 114, or a severe and critical event platform 116. The identified cardiac events (and corresponding ECG data and metadata) may be tagged or routed based on the classification associated with the cardiac event.
[0061] As an example, if the identified cardiac event is severe, the cardiac event router 110 may flag or send the ECG data, etc. to the notification platform 112. The notification platform 112 may be programmed to immediately send a notification (along with relevant ECG data and associated metadata) to the patient's physician / care team 118 and / or the patient 10.
[0062] As another example, if the identified cardiac event is classified as a stable event, the cardiac event router 110 may tag or send the ECG data, etc. to a stable event platform 114. The stable event platform 114 may be accessed by a user of a clinic or laboratory 122 via a remote computer 120 (e.g., a client device such as a laptop, mobile phone, desktop computer, and the like).
[0063] As another example, if the identified cardiac event is classified as a serious or critical event, the cardiac event router 110 may tag or send the ECG data, etc., to the serious and critical event platform 116. In some cases, a triage layer 123 (described in more detail below) is positioned between the cardiac event router 110 and the critical event platform 116 so that the detected event can be intercepted and analyzed before being forwarded to the remote computer 120. The serious and critical event platform 116 may be accessed by a user of the clinic or laboratory 122 through the remote computer 120. The serious and critical event platform 116 will also be described in more detail below.
[0064] In each of these examples, the cardiac event router 110 may first prioritize and sort the detected cardiac events before routing them to the notification platform 112, the stable event platform 114, or the severe and critical event platform 116. For example, the cardiac event router 110 may prioritize routing the most severe cardiac events (e.g., cardiac events with the highest heart rate, longest duration, and / or highest confidence level).
[0065] Serious and critical incident platform
[0066] Figure 2 A server 106 is shown communicatively coupled (e.g., via a network) to a remote computer 120. Figure 2 In the example of FIG. 1 , the remote computer 120 includes a monitor that shows a user interface 124 (hereinafter “UI 124 ” for brevity) displaying features of the severe and critical events platform 116 hosted by the server 106 .
[0067] exist Figure 1 In the case where the cardiac event router 110 tags or routes the detected cardiac event (and its ECG data and associated metadata) to the critical event platform 116, the data packet may include the ECG data and the associated metadata. Likewise, the metadata may include information about the patient 10, the heart rate of the patient 10 during the cardiac event, the duration of the cardiac event, the heart beat count in the cardiac event, and / or the confidence level of the machine learning model's identification of the cardiac event.
[0068] The data packet may include 60 seconds of ECG data strips and associated metadata for the ECG data strips. The data packet includes ECG data generated during the time period around the detected cardiac event. The data packet is a filtered and enhanced subset (e.g., 10 minutes of ECG data) of the data set originally transmitted from the mobile device 104 to the server 106. The critical event platform 116 may send the data packet to the remote computer 120, and the ECG data and associated metadata may be displayed in the UI 124.
[0069] As previously mentioned, when analyzing data associated with a given cardiac event, it may be more beneficial to access and view ECG data for more than just a shorter period of time. For example, a related cardiac event that was transmitted and analyzed earlier may have preceded the identified cardiac event. In this case, the identified cardiac event may be redundant or an artifact of a previously detected event and may be ignored to save time and resources for the laboratory and the physician. However, accessing, processing, and displaying a day's worth of ECG data for each detected cardiac event is not an efficient use of computing resources, network bandwidth resources, and human resources.
[0070] To help address these competing interests and resource challenges, the critical event platform 116 may access and communicate the ECG (and associated metadata) as needed and / or selectively using various standards described in more detail below.
[0071] First, the critical event platform 116 can access the data packet of the detected cardiac event in question and communicate it to the remote computer 120. The packet may include 60 seconds of ECG data strips and associated metadata. In some cases, the data packet (or the data packet immediately following it) includes a list of previously detected and / or later detected events (e.g., cardiac events detected within a 24-hour period of the detected event in question) and metadata associated with the listed events. However, in some cases, in order to save computing and bandwidth resources, this data packet does not include the underlying ECG data fragments of each listed event. The user can view various aspects of the data packet via UI 124.
[0072] Figure 3 A close-up view of UI 124 is shown. UI 124 includes multiple windows for displaying data, icons, links, and the like. Figure 3 In the example of , ECG data from the package is displayed in the first window 126A. A user of the remote computer 120 can scroll through the ECG data of the detected cardiac event displayed in the first window 126A (via the scroll bar).
[0073] A list of events and associated metadata is displayed in a second window 126B of the UI 124 . Figure 4 A close-up view of the second window 126B is shown. Each previous event is represented by an icon 128. The icon 128 may display, for example, the date and time of the detected cardiac event, the initial or final classification of the cardiac event, the location to which the cardiac event was routed, and the like.
[0074] In some cases, the user can select icon 128 through UI 124 so that the key event platform 116 makes the ECG data of the selected cardiac event be displayed on UI 124 (for example, in first window 124A). In order to realize this function, the key event platform 116 can first access and communicate the ECG data packet of each cardiac event listed on UI 124. For example, the key event platform 116 can access 60 seconds of ECG data strips and associated metadata of each of the listed cardiac events, and send them to the remote computer 120. For example, when the user is checking the ECG data of the detected cardiac event that was initially transmitted, this transmission can occur in the background. Therefore, when the user selects one of the icons 128, the ECG data strip of the selected cardiac event can be displayed in the first window 124A, wherein there is almost no time delay between selection and display.
[0075] In addition to saving computing and network resources, the above method also allows the user to view and process detected events in batches rather than one by one. This batch processing method can help reduce the number of redundant or unnecessary cardiac events that are ultimately sent to the patient 10 and / or his / her physician. For example, when viewing multiple detected events in a batch time, the user may determine that some detected events are artifacts or duplicates and therefore do not need to be individually marked for the patient 10 and / or his / her physician. As another example, when viewing multiple detected events in a batch at a time, the user may determine that the detected events are related, but the user may limit the number of events that are ultimately marked for the patient 10 and / or his / her physician to the most severe or most representative events of the batch.
[0076] In addition to viewing batches of detected cardiac events, a user of the remote computer 120 may wish to view more than just individual pieces of ECG data associated with a detected event. However, as described above, simply accessing, transmitting, and displaying large amounts of ECG data (e.g., 24 hours, 12 hours) is an inefficient use of computing, network, and human resources—particularly if this is done for each detected cardiac event. To help address this resource challenge, the critical event platform 116 can selectively access, transmit, and display smaller chunks of ECG data and metadata when a user interacts with the UI 124.
[0077] For example, as the user scrolls through the ECG data in the first window 126A, the critical event platform 116 may selectively access (e.g., from a database) additional subsets of the ECG data and transmit them from the server 106 to the remote computer 120. For example, instead of accessing 24 hours of ECG data, the critical event platform 116 may selectively access and communicate 10-minute strips of ECG data (or other time periods less than 24 hours).
[0078] To help assist the user in navigating the ECG data, the UI 124 may display a third window 126C, wherein a bar or strip represents a timeline of available ECG data that can be selected and viewed more closely in the first window 126A. In addition, a fourth window 126D may display an event Gantt chart for a longer time period (e.g., a 24-hour time period) that displays the time at which the events listed in the second window 126B occur. In some cases, windows 126A, 126B, 126C, and 126D are synchronized so that when a user navigates / interacts with one of the windows, the other windows are updated to display relevant information from the selected time period.
[0079] As described above, in some cases, triage layer 123 (e.g. Figure 1 The triage layer 123 can be used as a queue for packets or batches of detected cardiac events (and associated ECG data and metadata) from the cardiac event router 110. The triage layer 123 can collect detected cardiac events from the cardiac event router 110 and selectively pass the cardiac events to the critical event platform 116. For example, as an alternative to allowing users to (randomly) select individual detected events for analysis, the triage layer 123 can collect detected events from a patient and assign the detected events to a user. Therefore, a user is more likely to be assigned a group of related detected events rather than assigning the event to a separate user. In some cases, detected events are collected and then sent in batches once the user is available. In addition, in some cases, a given detected event can be assigned based on the user's experience. For example, depending on the experience level of certain users, only serious events or critical events may be assigned to them, or both events.
[0080] Regardless of how the detected cardiac events are assigned or selected, by providing the user with the ability to access multiple detected cardiac events and surrounding ECG data, the user can ultimately select one or more ECG data segments that best represent the cardiac event experienced by the patient. In addition, the user can use UI 124 to change the severity of the detected event, upgrade it, or downgrade it. For example, the user can change the detected event to a stable event, a serious event, or a critical event. This change in state can kick-off the process of rerouting the detected event to another platform. The user can also reroute the detected event so that the doctor and / or patient are notified. This helps to improve the efficiency and accuracy of the report that is ultimately transmitted to the patient 10 and / or his or her doctor.
[0081] Figure 5 Another example user interface 150 (hereinafter referred to as "UI 150" for brevity) generated by the critical event platform 116 is shown. Figure 3 150. In the embodiment of the present invention, one or more representative cardiac events are selected in the UI 124 of the present invention, and the user can select ECG data of a limited time period (e.g., 10 seconds, 6 seconds) to be included in the report transmitted to the patient 10 and / or his / her doctor. For example, the first window 152A of the UI 150 can display the ECG data fragments associated with the selected cardiac event, and the user can select a subset of the ECG data fragments. The selected ECG data fragments can be displayed in the second window 152B, and the user can modify them by adding marks, etc., indicating information about the selected ECG data subset. These marks can eventually be included in the report transmitted to the patient 10 and / or his / her doctor. The UI 150 may also include a third window 152C, in which the user can enter information (e.g., notes or instructions) to be included in the report.
[0082] method
[0083] Figure 6 A block diagram of a method 200 for transmitting and displaying ECG data is shown. The method 200 includes detecting a first event ( Figure 6 202 in block 200). The method 200 also includes transmitting a first subset of the ECG data from the first computing system (e.g., a mobile device) to a second computing system (e.g., a server) ( Figure 6 The method 200 further includes displaying the first subset of ECG data in a first window of a user interface of the second computing system. Figure 6 The method 200 also includes selectively transmitting an additional subset of the ECG data from the first computing system to the second computing system when the user interacts with the user interface ( Figure 6 208 in block 205), wherein the additional subset of ECG data includes ECG data for a second time period before and / or after the first detected event.
[0084] Figure 7 A block diagram of a method 300 for routing cardiac event data is shown. The method 300 includes receiving a data packet related to a cardiac event, the data including ECG data and associated metadata ( Figure 7 ), classifying cardiac events based on ECG data ( Figure 7 304 in FIG. 1 ), and routing the data packet to one of several software platforms ( FIG. 10 ) based on the classification of the cardiac event. Figure 7 306 in FIG. 10 ).
[0085] Computing devices and systems
[0086] Figure 8 is a block diagram depicting an illustrative computing device 400 according to an example of the present disclosure. Computing device 400 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), and the like. Each of the various components shown and described in the figures may include their own collection of special-purpose computing device components, such as Figure 8 For example, the mobile device 104, the server, and the remote computer 120 may each include their own set of components, such as Figure 8 shown and described below.
[0087] In some cases, computing device 400 includes a bus 410 that directly and / or indirectly couples one or more of the following devices: processor 420, memory 430, input / output (I / O) ports 440, I / O components 450, and power supply 460. Any number of additional components, different components, and / or combinations of components may also be included in computing device 400.
[0088] Bus 410 represents one or more buses (such as, for example, an address bus, a data bus, or a combination thereof). Similarly, in some cases, computing device 400 may include multiple processors 420, multiple memory components 430, multiple I / O ports 440, multiple I / O components 450, and / or multiple power supplies 460. Furthermore, any number or combination of these components may be distributed and / or replicated across multiple computing devices.
[0089] In some cases, memory 430 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); 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 some cases, memory 430 stores computer-executable instructions 470 for causing processor 420 to implement aspects of examples of components discussed herein and / or to perform aspects of examples of methods and procedures discussed herein. Memory 430 may include non-transitory computer-readable media stored in computer-executable instructions 470.
[0090] Computer executable instructions 470 may include, for example, computer code, machine usable instructions, and the like, such as, for example, program components that can be executed by one or more processors 420 (e.g., microprocessors) associated with computing device 400. Program components may 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.
[0091] According to an example, for example, the instructions 470 may be configured to be executed by the processor 420 and, when executed, cause the processor 420 to perform certain processes. In some cases, the processor 420, the memory 430, and the instructions 470 are part of a controller, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and / or the like. Such a device may be used to perform the functions and steps described herein.
[0092] The I / O components 450 may include presentation components (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) configured to present information to a user.
[0093] 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 an Internet service provider, and the like.
[0094] Various 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 should 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.
[0095] Various modifications and additions may be made to the exemplary 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, and all equivalents thereof.
Claims
1. A method, comprising: detecting a first event within electrocardiogram (ECG) data; transmitting a first subset of ECG data from the first computing system to the second computing system, the first subset of ECG data comprising ECG data for a first time period surrounding a detected first event; displaying a first subset of the ECG data in a first window of a user interface (UI) of the second computing system; as well as When a user interacts with the UI, an additional subset of the ECG data is selectively transferred from the first computing system to the second computing system, the additional subset of ECG data including ECG data for a second time period before and / or after a first detected event.
2. The method according to claim 1, further comprising: An additional subset of the ECG data is displayed in a second window of the UI.
3. The method according to claim 1 or 2, wherein: At least one of the additional subsets of the ECG includes a second detected event.
4. The method according to any one of claims 1 to 3, wherein: Selectively transmitting an additional subset of the ECG data is performed in response to detecting that a user is scrolling through the ECG displayed on the UI.
5. The method according to any one of claims 1 to 4, further comprising: determining whether other detected events occur before or after the first detected event; as well as Icons for the other detected events are displayed on the UI, the icons including metadata associated with the other detected events.
6. The method according to claim 5, wherein: The icon is displayed adjacent to the first window.
7. The method according to claim 5, further comprising: A segment of ECG data surrounding one of the other detected events is displayed on the UI in response to the user selecting one of the icons associated with the one of the other detected events.
8. The method according to any one of claims 1 to 7, wherein: Detecting the first event includes using a trained neural network.
9. The method according to claim 8, further comprising: generating, by the trained neural network, metadata associated with the detected first event; as well as The generated metadata is displayed on the UI.
10. The method according to claim 9, wherein: The metadata includes a classification, a time, and a duration of the first detected event.
11. A method according to any one of the preceding claims, wherein: The second time period is longer than the first time period.
12. A method according to any one of the preceding claims, wherein: The first computing system is a server, wherein the second computing system is a personal computing system.
13. A computer program product comprising instructions for causing one or more processors to perform the steps of the method of claims 1 to 12.
14. A computer readable medium having stored thereon the computer program product of claim 13.
15. A server comprising the computer-readable medium of claim 14.