System and method for clustering physiological events
A system for clustering and prioritizing physiological events from IMDs addresses resource inefficiencies by presenting only representative events, reducing workload and costs while improving accuracy and resource use.
Patent Information
- Application Number
- JP2025500250
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-07-08
- Filing Date
- 2023-06-21
- Publication Date
- 2025-07-17
- Estimated Expiration
- 2043-06-21
AI Technical Summary
Managing a large number of physiological events detected by implantable medical devices (IMDs) is resource-intensive for healthcare facilities, with excessive true and false positive detections leading to increased workload and costs, and inefficient use of computing and storage resources.
A system that clusters similar physiological events into groups, identifies a representative event for each group, and prioritizes storage and display of this representative event, allowing on-demand access to other events, thereby reducing the number of events presented to clinicians and optimizing resource use.
The system significantly reduces the workload and costs associated with managing physiological events by presenting only representative events for review, improving resource allocation and reducing false positives and negatives, thus enhancing the efficiency of patient management systems.
Smart Images

Figure 2025522902000001_ABST
Abstract
Description
Technical Field
[0001] This specification generally relates to patient management systems, and more specifically to systems, devices, and methods for automatically clustering a patient's physiological events to facilitate event review and determination by a clinician. This application claims the benefit of U.S. Provisional Patent Application No. 63 / 359,333, filed Jul. 8, 2022, which is hereby incorporated by reference in its entirety.
Background Art
[0002] Implanted medical devices (IMDs) are used to monitor a patient's health or disease state and deliver treatment. For example, an implantable cardioverter defibrillator (ICD) can be used to monitor certain abnormal heart rhythms (or arrhythmias) and deliver electrical energy to the heart to correct the abnormal rhythm. One of the most common arrhythmias is atrial fibrillation (AF), which causes an inappropriate rapid and irregular heart rate by the disorganized electrical pulses generated from areas within or near the atria conducting irregularly to the ventricles. AF can be paroxysmal, which can last from minutes to days before spontaneously stopping. Persistent AF can last for more than a week and typically requires drug therapy or other treatment to return to normal sinus rhythm. AF is permanent if the normal heart rhythm cannot be restored by treatment. Some IMDs can be used to monitor chronic heart diseases such as worsening heart failure (WHF) that can be characterized by intraventricular or interventricular cardiac dyssynchrony. The IMD can provide cardiac stimulation therapies such as cardiac resynchronization therapy (CRT) to correct cardiac dyssynchrony.
[0003] Some IMDs can record physiological data of event occurrence and generate patient alert notifications when detecting specific medical events such as arrhythmia events, WHF events, or other physiological events. Some IMDs can register the onset of medical events caused by a patient and record physiological data in response to that patient trigger. The recorded physiological data and alert notifications can be provided to medical professionals to inform the patient's health status. Using this notification, a healthcare provider can choose to review the recorded physiological data associated with the event onset, determine the physiological events detected by the device (e.g., determine the presence or possible cause of a physiological event), or evaluate whether the treatment has brought about the desired treatment outcome.
[0004] A patient management system can monitor a patient using an IMD interconnected to the patient management system via a data communication network. Such a patient management system can enable a healthcare provider to remotely follow up on a patient or periodically evaluate the device function.
Summary of the Invention
[0005] A patient management system can store and manage a large number of alert notifications corresponding to physiological events detected and reported by portable medical devices (AMDs). For example, when managing a cohort of AMD patients in a clinic, the patient management system may frequently receive alert notifications regarding various arrhythmia episodes or worsening heart failure (WHF) events detected by implantable cardiac devices such as cardiac monitors, pacemakers, implantable defibrillators, or cardiac resynchronization therapy devices. Some AMDs can record episodes triggered by the patient, such as when the patient exhibits certain signs or symptoms, or when the patient experiences precursor events indicating a medical event (e.g., arrhythmia, syncope, or WHF event). Physiological data associated with physiological events detected by the device or episodes triggered by the patient is transmitted to the patient management system and can be reviewed by clinicians, inter alia, for purposes such as determining physiological events detected by the device, scheduling patient follow-up visits, or reprogramming the AMD.
[0006] Using a large number of AMDs connected to a patient management system to scrutinize physiological events (e.g., cardiac arrhythmia attacks) detected by a device requires a significant amount of time and may require clinical, technical, and human resources that can be costly for a healthcare facility. Physiological events with the same or similar root causes (e.g., a specific type of arrhythmia attack) may repeatedly trigger alert notifications when detected by an AMD. For example, a patient with a history of atrial fibrillation (AF) may frequently experience both appropriate detection (true positive, i.e., TP detection) and inappropriate detection (false positive, i.e., FP detection) of AF attacks detected by an implantable medical device. Excessive TP detection of AF attacks may reflect a large number of recurrent AF events, or the device may be overly sensitive to noise, or it may be caused by a temporary stabilization of the heart rate during a long-lasting underlying AF attack. Repeated FP detection of AF attacks may be caused, among other things, by atrioventricular conduction abnormalities such as ventricular premature contractions (PVCs), atrial premature contractions (PACs), or Wenckebach atrioventricular block.
[0007] The occurrence of such excessive events (either TP detection or FP detection) and repeated alert notifications increase the workload of clinicians and healthcare costs. For example, since the occurrence of events can be routinely scrutinized by a clinician or other human experts, the occurrence of excessive events increases the burden on the humans who scrutinize and / or judge such occurrences. Also, storing such a large amount of physiological events (e.g., sensor data and attack summaries) detected by a device can consume a large amount of the device's computing resources and storage resources.
[0008] Embodiments of the systems, apparatuses, and methods described herein advantageously improve the functionality of a physiological event management system that includes identifying and clustering physiological events having similar characteristics and prioritizing storage, display (e.g., display for review and determination by a user), or transmission of physiological event data between devices (e.g., transmission from an implantable device to an external device). An exemplary system receives information regarding a plurality of physiological events detected by a patient's medical device, generates a respective feature set for each of the plurality of physiological events, and clusters the plurality of physiological events into a plurality of different event groups using values of temporal or morphological features of those feature sets. Each event group includes a respective set of physiological events. The controller circuit may determine a representative event that represents the physiological events of the event group from at least one of the event groups. Then, the representative event and a display indicating that the representative event has been determined and that the representative event represents the set of physiological events within the event group may be provided to a user or process. The representative event may be automatically displayed and made determinable by the user, while other physiological events within the same event group are non-displayed and assigned the same determination result as the representative event by default and may be displayed and / or determined upon request.
[0009] Example 1 is a system for managing a plurality of physiological events detected by a medical device of a patient. The system includes a controller circuit. The controller circuit receives information regarding the plurality of physiological events, and for each of the plurality of physiological events, uses the received information to generate a respective set of features including values of temporal or morphological features. Using the values of the temporal or morphological features of the generated set of features, the plurality of physiological events are clustered into a plurality of different event groups, each including a set of physiological events for each respective physiological event. A representative event is determined from at least one of the plurality of different event groups, which represents the set of physiological events within the at least one event group. The system is configured to output to a user or process of the system the representative event and a display indicating that the representative event has been determined, the display indicating that the representative event represents the set of physiological events within the at least one event group.
[0010] In Example 2, the subject matter of Example 1 optionally includes that the controller circuit is configured to initiate an automatic display of information regarding the determined representative event on a user interface, hide information regarding the set of physiological events of the at least one event group on the user interface, and initiate an on-demand display of information regarding one or more physiological events within the set of physiological events of the at least one event group in response to a user command via the user interface.
[0011] In Example 3, the subject matter of Example 2 optionally includes that the user command includes a user selection of a physiological event from within the set of physiological events of the at least one event group, and the controller circuit is configured to display information regarding the selected physiological event on the user interface in response to the user selection.
[0012] In Example 4, one or more of the themes of Examples 2 to 3 optionally include a user interface configured to receive a determination result of the representative event from the user, and the controller circuit is configured to assign the received determination result of the representative event to each physiological event within the set of physiological events of the at least one event group.
[0013] In Example 5, one or more of the themes of Examples 1 to 4 optionally include that the controller circuit is configured to prioritize storage of information regarding the determined representative event over storage of information regarding the set of physiological events of the at least one event group in a storage device.
[0014] In Example 6, one or more of the themes of Examples 1 to 5 optionally include that the controller circuit is configured to prioritize transmission of information regarding the determined representative event over transmission of information regarding the set of physiological events of the at least one event group between different devices.
[0015] In Example 7, one or more of the themes of Examples 1 to 6 optionally include that the plurality of physiological events include a cardiac arrhythmia attack detected from the patient, and the generated feature set includes at least one of a heart rate distribution feature, an arrhythmia duration, a morphological feature, or a time at which the plurality of physiological events are detected.
[0016] In Example 8, one or more of the themes of Examples 1 to 7 optionally include that, in order to determine the representative event, the controller circuit uses a feature set respectively generated from at least some of the physiological events within the set of physiological events to determine a centroid of the set of physiological events of the at least one event group in a feature space, and determines the representative event of the at least one event group as the physiological event closest to the determined centroid.
[0017] In Example 9, optionally, one or more of the themes of Examples 1 to 8 are such that, for clustering the plurality of physiological events, the controller circuit initializes a cluster center using a feature set of one of the plurality of physiological events, and iteratively updates the cluster center using the central tendency of the feature sets respectively generated from the physiological events within the event group until a convergence criterion or an iteration stop criterion is met, and assigns the physiological events to the clustered event groups based on a similarity metric between the physiological events and the iteratively updated cluster center.
[0018] In Example 10, optionally, the theme of Example 9 is such that the controller circuit calculates a respective similarity metric between the representative event and each of the physiological events within the set of physiological events of the at least one event group, selects a subset of events each having a similarity metric less than a similarity threshold from the set of physiological events of the at least one event group, and is configured to output a display indicating that the representative event represents the selected subset of events to a user or process of the system.
[0019] In Example 11, optionally, one or more of the themes of Examples 1 to 10 are such that the controller circuit calculates a respective similarity metric between each of the received plurality of physiological events and the user-specified physiological event using the feature sets respectively generated from the received plurality of physiological events and the user-specified physiological event, determines a set of physiological events of the at least one event group having a similarity metric exceeding a similarity threshold, and is configured to determine the user-specified physiological event as the representative event of the at least one event group.
[0020] In Example 12, the subject matter of Example 11 is a user interface that displays the received plurality of physiological events in a graphical representation of a feature space, receives user input for identifying the user-specified physiological event, and displays information about the user-specified physiological event and a display indicating that the representative event represents the set of physiological events within the at least one event group. The user interface is optionally included.
[0021] In Example 13, the subject matter of Example 12 optionally includes that the user interface is configured to receive user input of the similarity threshold or user selection of a predetermined cluster density.
[0022] In Example 14, the subject matter of any one or more of Examples 11 to 13 optionally includes that the controller circuit generates an estimated value of the workload reduction associated with assigning the user determination result of the representative event to each physiological event within the set of physiological events of the at least one event group, and is configured to determine or adjust the similarity threshold based on the generated estimated value of the workload reduction.
[0023] In Example 15, the subject matter of any one or more of Examples 11 to 14 optionally includes that the controller circuit generates an estimated value of the error rate associated with assigning the user determination result of the representative event to each physiological event within the set of physiological events of the at least one event group, and is configured to determine or adjust the similarity threshold based on the generated estimated value of the error rate.
[0024] Example 16 is a method for managing a plurality of physiological events detected by a medical device in a patient, the method comprising receiving information regarding the plurality of physiological events; for each of the plurality of physiological events, using the received information to generate a respective feature set including temporal or morphological features having respective values; using the values of the temporal or morphological features of the generated feature sets to cluster the plurality of physiological events into a plurality of different event groups, each including a respective set of physiological events; determining, from at least one of the plurality of different event groups, a representative event representing the set of physiological events within the at least one event group; and outputting to a user or process of the system the representative event and a display indicating that the representative event has been determined, the display indicating that the representative event represents the set of physiological events within the at least one event group.
[0025] In Example 17, the subject matter of Example 16 optionally includes initiating, on a user interface, an automatic display of information regarding the determined representative event; hiding, on the user interface, information regarding the set of physiological events of the at least one event group; and, in response to a user command via the user interface, initiating an on-demand display of information regarding one or more physiological events within the set of physiological events of the at least one event group.
[0026] In Example 18, the subject matter of Example 17 optionally includes receiving, from a user via the user interface, a determination result of the representative event; and automatically assigning the received determination result of the representative event to each physiological event within the set of physiological events of the at least one event group.
[0027] In Example 19, one or more of the themes of Examples 16 to 18 optionally include prioritizing the storage or transmission of information regarding the determined representative event over the storage or transmission of information regarding the set of physiological events of the at least one event group.
[0028] In Example 20, one or more of the themes of Examples 16 to 19 optionally include clustering the plurality of physiological events into a plurality of different event groups, initializing a cluster center using a feature set of one of the plurality of physiological events, iteratively updating the cluster center using the central tendency of the feature sets respectively generated from the physiological events within the event group until a convergence criterion or an iteration stop criterion is met, and assigning the physiological events to the clustered event groups based on a similarity metric between the physiological events and the iteratively updated cluster center.
[0029] In Example 21, one or more of the themes of Examples 16 to 20 optionally include clustering the plurality of physiological events into a plurality of different event groups, calculating a respective similarity metric between each of the plurality of received physiological events and the user-specified physiological event using the feature sets respectively generated from the plurality of received physiological events and the user-specified physiological event, determining the set of physiological events of the at least one event group having the similarity metric exceeding a similarity threshold, and specifying the user-specified physiological event as the representative event of the at least one event group.
[0030] In Example 22, the subject matter of Example 21 optionally includes, via a user interface, displaying the received plurality of physiological events in a graphical representation of a feature space, receiving the user-specified physiological event and the user input of the similarity threshold or the user selection of a predetermined cluster density, and displaying information on the user-specified physiological event and a display indicating that the representative event represents the set of physiological events within the at least one event group.
[0031] In Example 23, the subject matter of any one or more of Examples 21 to 22 optionally includes generating an estimated value of a workload reduction amount or an estimated value of an error rate related to assigning the user determination result of the representative event to each physiological event within the set of physiological events of the at least one event group, and determining or adjusting the similarity threshold based on the generated estimated value of the workload reduction amount or the estimated value of the error rate.
[0032] The systems, devices, and methods described herein can improve physiological event and alert management in a patient monitoring system. As described above, one of the challenges in the management of physiological events is that clinicians often need to respond to a large number of excessive physiological events or alert notifications, which can be time-consuming and costly. This document clusters multiple physiological events into multiple groups, identifies representative events in each event group, and prioritizes multiple physiological events within the same group for review and determination, such as automatically displaying only the representative events for determination, while hiding other events within the event group (i.e., on-demand display of events other than the representative events) unless the user requests otherwise, thereby providing a technical solution for simplifying the review and determination process. Compared with conventional physiological event and alert management systems and methods, the cluster-based event review and determination described herein according to various embodiments can substantially reduce the number of events or alert notifications presented to clinicians with little or no additional cost or system complexity. Therefore, the systems and methods described herein can more appropriately allocate medical resources to handle patients with serious medical conditions.
[0033] Also, the cluster-based scrutiny and determination of events described herein can improve the functionality of a computer system for managing physiological events and alerts. Event clustering, presentation, and determination can be implemented and thereby executed within a communicator, mobile monitor, programmer, or remote patient management system that communicates with an AMD. Thus, in some cases, improved physiological event and alert management can be achieved without changing an existing patient AMD or physiological event detector. Since only a reduced set of physiological events (e.g., representative events within a clustered group of events) are presented for determination, the complexity and operational costs of the patient management system can be reduced. Prioritized data storage, such as automatically storing only representative events within an event group and storing other events only upon user request (i.e., on-demand storage), can make more efficient use of memory space. In some embodiments, the physiological event detection implemented in the AMD can be updated based on user determination of physiological events. The updated detection helps reduce false positive or false negative detections and can reduce the scheduling, prescribing, or providing of unnecessary device treatments, medications, and procedures, extending the battery life and lifespan of the AMD and saving overall system costs.
[0034] This summary is some of the teachings of this application and is not intended to be an exclusive or exhaustive treatment of the subject matter. Further details regarding the subject matter can be found in the detailed description and claims. Other aspects of the disclosure may be apparent to those skilled in the art upon reading and understanding the detailed description that follows and viewing the drawings that form a part thereof, but each of them is not to be construed in a limiting sense. The scope of the disclosure is defined by the claims and their legal equivalents.
[0035] Various embodiments are shown by way of example in the accompanying drawings. Such embodiments are illustrative and are not intended to be an exhaustive or exclusive embodiment of the subject matter.
Brief Description of the Drawings
[0036]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Mode for Carrying Out the Invention
[0037] Systems, devices, and methods for managing a plurality of physiological events generated by a patient's medical device are disclosed herein. An exemplary system includes a controller circuit that receives information regarding a plurality of physiological events detected by the patient's medical device, generates a respective set of features for each of the plurality of physiological events using the received information, and may cluster the plurality of physiological events into a plurality of different event groups using values of temporal or morphological features of the generated sets of features. Each of the clustered plurality of event groups includes a respective set of physiological events. The controller circuit may determine a representative event representing the set of physiological events of the event group from at least one of the event groups, and output to a user or process the representative event and a display indicating that the representative event has been determined, the display indicating that the representative event represents the set of physiological events within at least one of the event groups. The representative event may be automatically displayed and made determinable by the user, while other physiological events within the same event group are non-displayed and assigned the same determination result as the representative event by default, unless the user requests otherwise, and may be displayed and / or determined in response to a request.
[0038] Although this document focuses on the management of arrhythmia events, those skilled in the art will understand that this is an example and is not limiting. The systems, devices, and methods for physiological event and alert management according to the various embodiments described herein may also be applicable to the management of other physiological events. The methods or techniques described herein may be implemented in a variety of portable (e.g., implantable, wearable, or holdable) or fixed devices or medical systems.
[0039] FIG. 1 shows an exemplary patient management system 100 and a portion of the environment in which the patient management system 100 can operate. The patient management system 100 can perform a range of activities including remote patient monitoring and diagnosis of disease states. Such activities can be performed near the patient 101, such as at the patient's home or office, via a centralized server at a hospital, clinic, or physician's office, or via a remote workstation such as a secure wireless mobile computing device.
[0040] The patient management system 100 can include one or more portable medical devices, an external system 105, and a communication link 111 that provides communication between the one or more portable medical devices and the external system 105. The one or more portable medical devices can include an implantable medical device (IMD) 102, a wearable medical device (WMD) 103, or one or more other implantable, leadless, subcutaneous, external, wearable, or portable medical devices configured to monitor, detect, or sense information from various states of the patient 101, such as one or more cardiac or non-cardiac states (e.g., dehydration, sleep apnea, etc.), determine physiological information regarding those states, and provide one or more treatments for treating those states.
[0041] In one example, the IMD 102 can include one or more conventional cardiac rhythm management devices implanted in the patient's chest. This device has a lead system that includes one or more transvenous, subcutaneous, or non-invasive leads or catheters for placing one or more electrodes or other sensors (e.g., heart sound sensors) at one or more locations within, on, or around the patient 101's heart, chest, abdomen, or neck. In another example, the IMD 102 can include a monitor implanted subcutaneously in the patient 101's chest, for example. The IMD 102 includes a housing that houses circuitry and, in some examples, includes one or more sensors such as a temperature sensor.
[0042] The IMD 102 may include an evaluation circuit configured to detect or determine specific physiological information of patient 101, determine one or more states, and provide information or warnings to patient 101 (e.g., the patient), a clinician, or one or more other caregivers or one or more other processes, etc. The IMD 102 may alternatively or additionally be configured as a treatment device configured to treat one or more medical conditions of patient 101. The treatment may be delivered to patient 101 via a lead system and associated electrodes or using one or more other delivery mechanisms. The treatment may include delivery of one or more drugs to patient 101, such as using one or more of the IMD 102 or other portable medical devices. In some examples, the treatment may include cardiac resynchronization therapy to correct asynchrony and improve cardiac function in patients with heart failure. In other examples, the IMD 102 may include a drug delivery system, such as a drug infusion pump, to deliver drugs to the patient to manage arrhythmias or complications due to arrhythmias, hypertension, or one or more other physiological conditions. In other examples, the IMD 102 may include one or more electrodes configured to stimulate the patient's nervous system or apply stimulation to the muscles of the patient's airway, etc.
[0043] The WMD 103 may include one or more wearable or external medical sensors or devices (e.g., medical devices worn on the wrist or finger such as an automated external defibrillator (AED), Holter monitor, patch-based device, smartwatch, smart accessory, finger-based photoplethysmography sensor, etc.).
[0044] External system 105 may include a dedicated hardware / software system such as a system primarily defined by a programmer, a remote server-based patient management system, or alternatively, software running on a standard personal computer. External system 105 may manage patient 101 through IMD 102 connected to external system 105 via communication link 111 or one or more other portable medical devices. In other examples, IMD 102 may be connected to WMD 103 via communication link 111, or WMD 103 may be connected to external system 105 via communication link 111. This may include, for example, programming IMD 102 to perform one or more of acquiring physiological data, performing at least one self-diagnostic test (e.g., for device operating status), analyzing physiological data, or optionally delivering or adjusting treatment for patient 101. Also, external system 105 may transmit information to IMD 102 or WMD 103 or receive information from IMD 102 or WMD 103 via communication link 111. Examples of this information include real-time or stored physiological data from patient 101, diagnostic data such as detection of the patient's hydration status, admission information, response to treatment delivered to patient 101, or the device operating status of IMD 102 or WMD 103 (e.g., battery status, lead impedance, etc.). Communication link 111 may be an inductive telemetry link, a capacitive telemetry link, a radio frequency (RF) telemetry link, or a wireless telemetry based on, for example, the "strong" Bluetooth® or IEEE 802.11 Wireless Fidelity "Wi-Fi"® interface standards. Other configurations and combinations of patient data source interfaces are also possible.
[0045] External system 105 may include an external device 106 proximate to one or more portable medical devices and a remote device 108 located relatively far from the one or more portable medical devices and communicating with the external device 106 via a communication network 107. Examples of the external device 106 may include a medical device programmer. The remote device 108 may be configured to evaluate the collected patient information and provide alert notifications, among other possible functions. In one example, the remote device 108 may include a centralized server that functions as a central hub for storage and analysis of the collected data. The server may be configured as a single, multiple, or distributed computing and processing system. The remote device 108 may receive data from multiple patients. The data may be collected by one or more portable medical devices, among other data acquisition sensors or devices associated with patient 101. The server may include a memory device for storing the data in a patient database. The server may include an alert analysis circuit for determining whether specific alert conditions are met by evaluating the collected data. When the alert conditions are met, generation of an alert notification may be triggered, such as by being provided by a user interface perceptible to one or more humans. In some embodiments, the alert conditions may alternatively or additionally be evaluated by one or more portable medical devices, such as an implantable medical device. By way of example, alert notifications may include, but are not limited to, updates to a web page, calls to a phone or pager, emails, SMS, text or "instant" messages, messages to the patient, and simultaneous direct notifications to emergency services and clinicians. Other alert notifications are possible. The server may include an alert prioritization circuit configured to prioritize the alert notifications. For example, a similarity metric between physiological data related to the detected physiological event and physiological data related to past alerts can be used to prioritize alerts for the detected physiological event.
[0046] The remote device 108 may further include one or more locally configured clients or remote clients securely connected to the server via the communication network 107. Examples of clients may include personal desktops, notebook computers, mobile devices, or other computing devices. System users, such as clinicians or other qualified medical professionals, may use the clients to securely access stored patient data aggregated in a database within the server and select and prioritize patients and alerts for medical provisioning. In addition to generating alert notifications, the remote device 108, including the server and interconnected clients, may implement a follow-up scheme by sending follow-up requests to one or more portable medical devices or by sending messages or other communications as compliance notifications to patients 101 (e.g., patients), clinicians, or authorized third parties.
[0047] The communication network 107 may provide wired or wireless interconnectivity. In one example, the communication network 107 may be based on Transmission Control Protocol / Internet Protocol (TCP / IP) network communication specifications, although other types or combinations of networking implementations are possible. Similarly, other network topologies and configurations are possible.
[0048] One or more of the external device 106 or the remote device 108 may output the detected physiological event to a system user such as a patient or a clinician, or to a process including an instance of a computer program executable, for example, within a microprocessor. In one example, the process may include a recommendation for anti-arrhythmia treatment or the automatic generation of a recommendation for further diagnostic tests or treatment. In one example, the external device 106 or the remote device 108 may each include a respective display unit for displaying a physiological or functional signal, an alert, an alarm, an emergency call, or other form of warning to inform of the detection of an arrhythmia. In some examples, the external system 105 may include an external data processor configured to analyze physiological or functional signals received by one or more portable medical devices and confirm or reject the detection of an arrhythmia. A computationally intensive algorithm such as a machine learning algorithm may be implemented in the external data processor to retrospectively process data to detect cardiac arrhythmias.
[0049] One or more of the portable medical devices or a portion of the external system 105 may be implemented using hardware, software, firmware, or a combination thereof. One or more of the portable medical devices or a portion of the external system 105 may be implemented using application-specific circuitry constructed or configured to perform one or more functions, or may be implemented using general-purpose circuitry programmed or configured to perform one or more functions. Such general-purpose circuitry may include a microprocessor or a portion thereof, a microcontroller or a portion thereof, or programmable logic circuitry, memory circuitry, network interface, and various components for interconnecting these components. For example, a "comparator" may include an electronic circuit comparator constructed to perform a specific function, such as comparing two signals. Alternatively, a comparator may be implemented as a portion of a general-purpose circuit driven by code that instructs a portion of the general-purpose circuit to perform a comparison between two signals. A "sensor" may include an electronic circuit configured to receive information and provide an electronic output representative of the received information.
[0050] The treatment device 110 can be configured to transmit information to or receive information from one or more of the portable medical device or the external system 105 using the communication link 111. In one example, one or more portable medical devices, external devices 106, or remote devices 108 can be configured to control one or more parameters of the treatment device 110. The external system 105 can be programmable with one or more portable medical devices and can receive information regarding one or more signals acquired by the one or more portable medical devices, such as received via the communication link 111. The external system 105 can include a local external implantable medical device programmer. The external system 105 can include a remote patient management system that can monitor a patient's condition or adjust one or more treatments from a remote location or the like.
[0051] FIG. 2 schematically shows an example of a physiological event management system 200 configured to cluster physiological events to improve the presentation and determination of events. At least a portion of the system 200 can be implemented within the external system 105, such as one or more of the external device 106 or the remote device 108, or can be distributed between the external system 105 and one or more of the IMD 102 or the WMD 103.
[0052] System 200 may include one or more of a memory circuit 210, a controller circuit 220, a user interface 230, and optionally a therapy circuit 250. The memory circuit 210 may be included in a storage device of an external system 105, such as within an external device 106 or a remote device 108. Alternatively, the memory circuit 210 may be included in an electronic medical record (EMR) system. The memory circuit 210 may store the occurrences of patient physiological events detected and recorded by the IMD 102 or the WMD 103 in a physiological event bank 212. In one example, the memory circuit 210 may be communicatively coupled to the IMD 102 or the WMD 103 and may receive the occurrences of physiological events from the IMD 102 or the WMD 103 via a communication link 115 or the like, as described with reference to FIG. 3.
[0053] In one example, the manifestation of physiological events stored in the physiological event bank 212 may include cardiac events such as arrhythmia attacks detected and recorded by the IMD102 or WMD103. Examples of arrhythmia attacks can include, among others, atrial arrhythmia attacks, supraventricular arrhythmia attacks, or ventricular arrhythmia attacks. An arrhythmia attack can include each piece of physiological data sensed from one or more physiological sensors during the detected arrhythmia event, or additional physiological data sensed before and / or after the detected arrhythmia event. Physiological data related to an arrhythmia attack can include cardiac electrical signals such as one or more electrocardiogram (ECG) or electrogram (EGM) signals. This cardiac electrical signal is sensed at various cardiac sites using combinations of different electrodes such as one or more atrial EGMs or one or more ventricular EGMs. Additionally or alternatively, the physiological data can include, among others, cardiac mechanical signals or hemodynamic signals such as cardiac pressure signals, impedance signals, heart sound signals. In various examples, each arrhythmia attack can further include an arrhythmia detection or classification generated by a medical device such as the IMD102 or WMD103. The arrhythmia detection or classification is, among others, the designation of a specific arrhythmia type such as atrial fibrillation, atrial flutter, ventricular tachycardia, or ventricular fibrillation. Also, other information regarding arrhythmia attacks such as measurements or signal metrics obtained from physiological data (e.g., atrial rate, ventricular rate, variability of atrial or ventricular rate) can also be associated with each attack and stored in the physiological event bank 212.
[0054] In some examples, the physiological event bank 212 can include patient-triggered episodes that include physiological data sensed from one or more physiological sensors in response to a patient trigger, such as when the patient experiences the onset of a physiological event. Also, other information such as patient input regarding the presence and severity of the physiological event, timing information of the symptoms such as the start and end times of the patient-triggered episode can also be included in the physiological event bank 212 in association with the patient-triggered episode.
[0055] The description of physiological event management in this specification focuses on arrhythmia attacks, but this is meant to be illustrative and is in no way limiting or restrictive in nature. Also, the onset of other types of physiological events such as absence seizures, worsening heart failure events, or decompensated heart failure events can be stored, analyzed, and provided to a clinician for determination using the systems, devices, and methods described herein.
[0056] The controller circuit 220 can be a dedicated processor such as a digital signal processor, an application specific integrated circuit (ASIC), a microprocessor, or other type of processor for processing information including body activity information, and can be implemented as part of a microprocessor circuit. Alternatively, the microprocessor circuit can be a general-purpose processor that can receive and execute a set of instructions for implementing the functions, methods, or techniques described herein.
[0057] The controller circuit 220 may include a set of circuits including one or more other circuits or sub - circuits, including a feature extraction circuit 221, a clustering circuit 222, a display control circuit 225, and a determination circuit 226. The circuits or sub - circuits may perform the functions, methods, or techniques described herein alone or in combination. In one example, the hardware of the circuit set may be designed to be invariant (e.g., hard - wired) to perform certain operations. In one example, the hardware of the circuit set may include a computer - readable medium physically modified (e.g., magnetically, electrically, movable arrangement of particles of invariant mass, etc.) to encode instructions for certain operations, including variably - connected physical components (e.g., execution units, transistors, simple circuits, etc.). When connecting the physical components, the basic electrical characteristics of the hardware components are changed, for example, from an insulator to a conductor or vice versa. The instructions enable an embedded hardware (e.g., an execution unit or a loading mechanism) to create members of the circuit set within the hardware via variable connections to perform a part of certain operations during operation. Thus, the computer - readable medium is communicatively coupled to other components of the circuit set members when the device is operating. In one example, any of the physical components may be used in two or more members in two or more circuit sets. For example, during operation, an execution unit may be used by a first circuit of a first circuit set at one point and reused by a second circuit of the first circuit set or reused by a third circuit of a second circuit set at different times.
[0058] The feature extraction circuit 221 receives information regarding a plurality of physiological events, such as N events {X1, X2, ···, X N} etc. from the physiological event bank 212, and from each of the received plurality of events, respective feature sets (e.g., for event X k a set of M features {S1, S2, ···, S M}) can be extracted. In one example, the information of a plurality of received physiological events may include physiological data (e.g., ECG, EGM, or other sensor signals) recorded during (and optionally before and / or after) an arrhythmia attack detected by a portable device such as the IMD 102 or the WMD 103. The features (e.g., M features {S1, S2, ···, S M}) may include one or more of a heart rate distribution feature, an arrhythmia duration, or a morphological feature. The heart rate distribution feature is an important characterization of atrial tachyarrhythmia or ventricular tachyarrhythmia and can be represented by the amount of heartbeats (or their cumulative duration) or the ratio of the total number of heartbeats (or the ratio of the duration of the total number of heartbeats) in each of a plurality of heart rates or a plurality of heart rate ranges during a specified period. The arrhythmia duration represents the duration from the start to the end of the arrhythmia detected by the IMD 102 or the WMD 103. The morphological features include signal waveform characteristics such as slope, peak amplitude, curvature, area under the curve, or a similarity metric (e.g., correlation) between a part of the attack signal and a predetermined morphological template. In some examples, the features extracted by the feature extraction circuit 221 from the received arrhythmia attacks may include time information of the arrhythmia attacks such as the time when the arrhythmia attacks were detected and recorded by the IMD 102 or the WMD 103.
[0059] The clustering circuit 222 can cluster a plurality of received physiological events into a plurality of different event groups 223 based on a set of features of the plurality of received physiological events, such as M features {S1, S2, ···, S N} for each of the N events {X1, X2, ···, X M}. The extracted set of features is the M features {S1, S2, ···, S M} can form a feature space S such as an M-dimensional space that spreads. Each physiological event can be represented as a data point within the feature space S. In one example, clustering can be performed using an unsupervised clustering algorithm. To cluster a plurality of physiological events, the clustering circuit 222 can initialize one or more clusters each containing, for example, randomly selected physiological events. A physiological event (e.g., X k ) can be assigned to one of a plurality of event groups 223 based on a similarity metric between the physiological event and the cluster center. Examples of similarity metrics can include a distance measure (e.g., Euclidean distance), connectivity, or strength between the feature set of each physiological event in the feature space S and the cluster center. The greater the distance, the lower the similarity between the physiological event and the cluster center. The cluster center can be iteratively updated using the central tendency (e.g., mean or median) of the feature sets respectively extracted from the physiological events assigned to that event group until a convergence criterion or an iterative stop criterion is met.
[0060] To cluster a plurality of received physiological events, various clustering algorithms can be used. Clustering algorithms can differ in a set of rules for defining the similarity between data points in a feature space. One category of clustering algorithms is based on a centroid model that interactively establishes clustered event groups using a similarity metric derived from the proximity of data points to the centroid of the cluster. In one example, the clustering circuit 222 can use the k-means clustering method that minimizes the within-cluster variance within a set of physiological events within the same clustered event group. When N events are clustered into k groups, the k-means clustering method minimizes the sum of the within-cluster variances of all k groups. In some examples, a variant of k-means clustering can be used to cluster N physiological events. In one example, k-medians clustering determines the centroid or cluster center of each cluster by using the median value (instead of the mean) in each feature dimension. In another example, k-medoids uses the actual data points (observations) as the cluster centers instead of the calculated mean of the data points within the cluster, which may not necessarily be actual input data points. Further, k-medoids minimizes the sum of pairwise dissimilarities instead of the sum of the squares of the Euclidean distances, which can be more robust to noise and outliers than k-means clustering. In yet another example, fuzzy C-means clustering can be used to cluster a plurality of received physiological events. In contrast to hard clustering (such as k-means clustering) where a data point is either assigned to a cluster or not, fuzzy C-means clustering is a soft clustering method that assigns to each data point a fuzzy degree representing the probability or likelihood that the data point belongs to each of two or more clusters. Fuzzy C-means is a soft clustering technique.In addition to, or instead of, k - means clustering or its variants, other clustering methods can be used, such as, inter alia, clustering based on a statistical distribution model (e.g., Gaussian mixture model), connectivity - based clustering that defines clusters by the maximum distance required to connect different parts of a cluster, density - based clustering methods that define clusters as areas of higher density than the rest of the dataset, etc.
[0061] Each of one or more clustered event groups 223 contains a respective set of physiological events that are subsets of the received N events {X1, X2, ···, X N}. The clustering circuit 222 can determine, from each of the clustered event groups 223, a respective representative event 224 that represents the physiological events within the corresponding event group. In one example, the representative event 224 can be identified as the physiological event within the event group that is closest in distance (e.g., Euclidean distance within the feature space S) to the centroid of the physiological events within that event group. For example, for a clustered event group of P physiological events {Y1, Y2, ···, Y P}, the cluster center Y P can be determined as the centroid of the feature sets (e.g., M - dimensional feature sets) respectively extracted from those physiological events {Y1, Y2, ···, Y * . The physiological event (e.g., Y * ) within the group that is closest in distance to this cluster center Y k can be identified as the representative event. An example of using a monitoring clustering algorithm to cluster physiological events and determine representative events is described below with respect to FIG. 4A.
[0062] In addition to or as an alternative to automatic unsupervised learning-based clustering, such as k-means clustering (or variations thereof), in some examples, the clustering circuit 222 may cluster the received plurality of physiological events according to a set of user-specified cluster centers and clustering rules. In one example, a user may specify a set of physiological events (e.g., a set of N events {X1, X2, . . . , X N} selected from X k ) as cluster centers. The clustering circuit 222 may use the respective feature sets to calculate a similarity metric (e.g., Euclidean distance in the feature space S) between the user-specified cluster centers and each of the N physiological events. The clustering circuit 222 may then establish clustered event groups by assigning to those physiological events respective similarity metrics that meet a similarity criterion (e.g., respective Euclidean distances to the cluster centers are below a threshold). An example of clustering physiological events using user-specified cluster centers and clustering criteria is described below with respect to FIG. 4B.
[0063] The display control circuit 225 can prioritize the display of sets of physiological events within each event group 223 on the display unit of the user interface 230. In one example, at least a portion of the user interface 230 can be implemented within the external system 105. The information on the displayed physiological events can include physiological data (e.g., ECG, EGM, or other sensor signals) recorded during (and optionally before and / or after) the physiological event, device parameters used to detect the physiological event, and an overview of the detection results including, for example, the detected event type and statistics. In one example, the prioritized display of event information can include automatically displaying information regarding a representative event of the event group and, until requested by the user, i.e., unless the user requests otherwise, hiding information regarding other physiological events (other than the representative event) within that event group. In one example, the display control circuit 225 can provide the user with a notification (e.g., a message displayed on the user interface 230) indicating that the representative event represents the set of physiological events within the event group without automatically displaying information regarding individual physiological events other than the representative event, and can prompt the user to provide a command for displaying information regarding any of the physiological events within that event group. In response to the user command, the display control circuit 225 can initiate an on-demand display of information regarding one or more physiological events within the event group. In one example, the user command can include a user selection of a physiological event from within the event group. In response to this user selection, the display control circuit 225 can display information regarding the selected physiological event.
[0064] In some examples, the control circuit 220 can store higher-priority events in a storage device (e.g., the internal memory 314 or the external memory 322 shown in FIG. 3) before lower-priority events within the same group, and / or can allocate more system resources (e.g., memory space) to store higher-priority events than lower-priority events, such that a priority can be assigned to the storage of a set of physiological events within each event group 223 in the storage device. In one example, the representative event of each event group can be given a higher priority for storage in the storage device than other events within each event group. To conserve memory, in some examples, only the representative event of each event group is stored in the storage device, and other events within each event group can be discarded (i.e., not stored). In some examples, within a clustered event group, events that are not similar to the representative event (having a similarity value below a threshold or being “dissimilar” events that are farther from the representative event or cluster center in the feature space S) can have a higher priority than events that are similar to the representative event (e.g., having a similarity value above a threshold or being “similar” events that are closer to the representative event or cluster center in the feature space S). Since “similar” events are better represented by the representative event than “dissimilar” events, prioritizing “dissimilar” events over “similar” events allows “dissimilar” events to be saved, presented to the user, reviewed, and determined, thereby reducing the error rate associated with assigning the same determination result of the representative event to all other events within the same event group. In some examples, higher-priority events can be automatically stored in the storage device, and lower-priority events can be stored on demand (i.e., when requested by the user). In some examples, prioritization of events across different clustered event groups is performed based on the number of events within each event group, enabling various event types to be reviewed and determined. For example, between a “dense” event group with a large number of events and a “sparse” event group with a relatively small number of events, more events in the “dense” event group can be assigned a higher priority than those in the “sparse” event group.The cluster-based prioritized display and prioritized memory of physiological events described herein advantageously use system resources more efficiently and improve the functionality of a computer system for managing physiological events.
[0065] The determination circuit 226 can receive user determination results of physiological events within the clustered event group 223. The user can provide the determination results via the user interface 230. The determination results can include a user designation of the event type of the physiological event presented to the user. In an example of arrhythmia determination, the user can identify an arrhythmia type such as atrial fibrillation, atrial flutter, supraventricular tachycardia, ventricular tachycardia, or ventricular fibrillation. The determination circuit 226 compares the event type identified by the user with the device detection results generated by the IMD 102 or the WMD 103, and identifies the episode as a true positive (TP) (or appropriate) detection if the user's determination result matches the device detection results, and can identify the episode as a false positive (FP) (or inappropriate) detection if the user's determination result is different from the device detection results. If a determination of TP or FP cannot be made, the episode can be identified as indeterminate. Also, the user can provide annotations regarding the episode characteristics or diagnostic information of the physiological event episode. For example, when determining an AF episode detected by the device, the user (e.g., a clinician) can specify one of a plurality of episode characteristics as a basis for forming the user's determination decision result. An example of a user interface for receiving determination results or annotations of physiological events is described below with reference to FIG. 5.
[0066] In some examples, the determination circuit 226 can determine physiological events within a clustered event group when information about the event (e.g., ECG, EGM, or other sensor data) is displayed on the user interface. In accordance with the prioritized display of physiological events within the clustered event group, the determination circuit 226 can prioritize event determinations in the order of the displayed events. For example, if a representative event is automatically displayed prior to other events in the same event group, the representative event can be determined prior to other physiological events that are displayed on demand. In some examples, when determining the representative event, the determination circuit 226 can assign the same determination result of the representative event to each of the physiological events within the event group. Thus, by default, all physiological events within the event group can have the same event type as the determined representative event, unless specifically modified (e.g., by the user). In one example, in response to the on-demand display of a physiological event selected from a clustered event group, the determination circuit 226 starts an on-demand determination of the physiological event, which can enable the user to confirm, reject, or modify the default determination result. The cluster-based prioritized display and prioritized determination described herein can not only improve the functionality of a computer system for managing physiological events, but also reduce the workload of clinicians and improve the efficiency of the scrutiny and determination of physiological events.
[0067] In some examples, when more additional physiological events are detected from a patient and added to the event bank 212, the controller circuit 220 may use the information regarding those additional physiological events to update a previously established cluster. The update of the cluster may be performed periodically or in response to the amount of additional events received reaching a threshold. In some examples, the controller circuit 220 may initiate a process to update the cluster based on the determination performance. The determination performance may be measured by an estimated reduction in workload associated with assigning the same determination result of a representative event to all other physiological events within the same event group and an estimated determination error rate. In one example, the controller circuit 220 may generate an estimated determination error rate based on the on-demand determination of physiological events (other than the representative event) within the clustered event group. When the estimated error rate exceeds the error tolerance level, the controller circuit 220 may update the cluster, for example, by restarting the clustering process using an updated set of received arrhythmia episodes or by adjusting one or more clustering criteria (such as a similarity metric or a distance threshold that defines the cluster). In another example, the controller circuit 220 may determine a performance metric that is proportional to the amount of workload reduction and inversely proportional to the determination error rate such that the performance metric increases as the workload reduction increases and decreases as the determination error increases. The controller circuit 220 may update the cluster when the performance metric is below the performance threshold. The update of the cluster may include the update of the representative event of each cluster. In some examples, the aggressiveness of the adjustment of one or more clustering criteria (such as a similarity metric threshold that defines the size or boundary of the clustered event group) may be determined based on the deviation of the performance metric from the performance threshold. A more significant decrease in determination performance may result in a more aggressive adjustment (such as a significant reduction in the similarity threshold).
[0068] As described above, the user interface 230 can include a display unit controllable by the display control circuit 225 to display information regarding physiological events, and a user input device for receiving user input such as the determination of physiological events displayed on the display unit. The user interface 230 can be coupled to a printer for printing a hard copy of the detected information. This information can be presented in the form of tables, charts, diagrams, or any other type of text, table, or graphical presentation format. The presentation of the output information can include audio or other media formats. In one example, the output unit can generate alerts, alarms, emergency calls, or other forms of warnings to notify the user regarding the detected physiological events. In some examples, the user interface 230 can further generate recommendations for adjusting the operation of the IMD 102 or WMD 103 based on the determination results of physiological events, such as recommended adjustments of parameters for detecting physiological signals or parameters for detecting physiological events.
[0069] The optional treatment circuit 250 can be configured to deliver treatment to a patient in response to the detection of a physiological event of the subject. Examples of treatment can include electrostimulation therapy, defibrillation therapy, cardioversion therapy delivered to the heart, nerve tissue, or other target tissues, or drug therapy including delivering drugs to tissues or organs. In some examples, the treatment circuit 250 can modify an existing treatment, such as adjusting the stimulation parameters or drug dosage.
[0070] FIG. 3 schematically shows an example of a cardiac event management system 300 configured to evaluate and prioritize cardiac events detected by a medical device associated with a patient. The system 300 includes a portable medical device (AMD) 310 and an external system 320 communicatively coupled to each other via a communication link 115. The AMD 310, which is an embodiment of the IMD 102 or WMD 103 shown in FIG. 1, may include a sensor circuit 311 for detecting one or more physiological signals from a subject. The physiological signals may be detected via one or more implanted, wearable, or portable sensors or electrodes associated with the patient. The sensors may be incorporated within a portable device such as the IMD 102 or WMD 103 or otherwise associated. Examples of physiological signals include, among others, surface electrocardiogram (ECG) detected from electrodes placed on the body surface, subcutaneous ECG detected from electrodes placed under the skin, intracardiac electrogram (EGM) detected from one or more electrodes on a lead system, thoracic or cardiac impedance signals, arterial pressure signals, pulmonary artery pressure signals, left atrial pressure signals, RV pressure signals, LV coronary pressure signals, coronary blood temperature signals, blood oxygen saturation signals, heart sound signals detected by a walking accelerometer or acoustic sensor, physiological responses to activity, apnea hypopnea index, one or more respiratory signals such as respiratory rate signals or tidal volume signals, brain natriuretic peptide (BNP), blood panels, sodium and potassium levels, glucose levels, and other biomarkers and biochemical markers. The sensor circuit 311 may include one or more sub-circuits for performing digitization, filtering, or other signal conditioning operations on the received physiological signals. In some examples, the sensor circuit 311 may register a patient-triggered event. A trigger may be generated and detected by a patient trigger detector when the patient exhibits certain signs or symptoms or experiences a precursor event indicating a target physiological event. When a patient trigger is detected and the sensor circuit 311 is activated, the sensor circuit 311 registers the patient-triggered event and acquires physiological data such as one or more physiological signals.
[0071] The arrhythmia detection circuit 312 may be configured to detect cardiac arrhythmia attacks using one or more detected physiological signals. Examples of cardiac arrhythmias include atrial fibrillation, atrial flutter, supraventricular tachycardia, ventricular tachycardia, or ventricular fibrillation. Detection can be based on temporal or morphological features extracted from one or more physiological signals. In one example, the arrhythmia detection circuit 312 may detect a particular cardiac arrhythmia using a configurable detection algorithm such that one or more detection algorithm features may be added or modified via a programming device. The detected arrhythmia attack may be stored in the internal memory 314, including the detection result along with the physiological data collected during detection or, in addition thereto, physiological data collected before and / or after detection.
[0072] The communication circuit 315 can transmit the detected arrhythmia episodes (including physiological data and detection results generated by the device) to the external system 320 via the communication link 115. This transmission can be performed continuously, periodically at scheduled times, or in response to a data interrogation command sent from the external system 320 to the AMD 310. The external system 320, which is an embodiment of the external system 105 shown in FIG. 1, can receive the arrhythmia episodes via the communication circuit 325 and store the received arrhythmia episodes in the external memory 322. The external memory 322, which is an embodiment of the memory circuit 210, can store the arrhythmia episodes in the physiological event bank 212. Further, the external system 320 can include a controller circuit 220 and a user interface 230. The controller circuit 220 can schedule the presentation of one or more arrhythmia episodes for determination. As described above with reference to FIG. 2, the controller circuit 220 can cluster the received multiple arrhythmia episodes into a plurality of different event groups each including a set of episodes represented by a representative episode within the corresponding event group, and can prioritize the display of the arrhythmia episodes within the clustered event groups. The user interface 230 can start the automatic display of information (e.g., physiological data and AMD detection results) regarding the representative episodes within the clustered event groups, and can start the on-demand display of information regarding other arrhythmia episodes within the clustered event groups in response to a user command. The user interface 230 can further receive the arrhythmia type determined by the user for the representative episode. All the arrhythmia episodes within the event group, unless modified by the user via the on-demand determination process as described above with reference to FIG. 2, will by default have the same user-determined arrhythmia type as the representative event. In some examples, the controller circuit 220 can assign the arrhythmia episodes received from the AMD 310 to one of the established clustering event groups based on, for example, their similarity (e.g., distance within the feature space S) to each of the representative episodes of the respective clustering event groups.The assigned arrhythmia episodes may, by default, have the same determined arrhythmia type as typical episodes unless modified by the user via the on-demand display and adjudication process, i.e., until modified by the user.
[0073] External system 320 includes a programmer 324 that can generate commands for programming AMD 310. The commands can include, among other things, recommended adjustments to one or more detection parameters of the arrhythmia detection circuit 312 or data collection parameters of the sensor circuit 311. The recommended adjustments may be confirmed or modified by the user (e.g., a clinician) via the user interface 230 and transferred to AMD 310 via the communication link 115. AMD 310 can detect the physiological events of interest using the modified algorithm.
[0074] FIG. 3 shows the controller circuit 220 being included in the external system 320, which is an example and not limiting. In some examples, at least some parts of the controller circuit 220 (such as the feature extraction circuit 221 and the clustering circuit 222, etc.) can be implemented within AMD 310, while some other parts of the controller circuit 220 (such as the display control circuit 225 and the adjudication circuit 226, etc.) can be implemented within the external system 320. In AMD 310, the arrhythmia episodes detected by the arrhythmia detection circuit 312 and / or the arrhythmia episodes stored in the internal memory 314 can be processed by the feature extraction circuit 221 and the clustering circuit 222 and clustered into one or more groups of clustered event groups. The clustered arrhythmia episodes are stored in the internal memory 314 and can be transmitted to the external system 320 via the communication link 115 automatically or in response to a user request.
[0075] The storage and / or transmission of seizure data may be prioritized according to the clustering of seizures. High-priority seizures may be stored in a storage device (e.g., internal memory 314 or external memory 322) and / or transmitted between devices (e.g., from portable medical device 310 to external system 320) before lower-priority seizures within the same group. Additionally or alternatively, more system resources (e.g., memory space and / or communication bandwidth) may be allocated to store and / or transmit high-priority seizures before storing and / or transmitting lower-priority seizures. In one example, a representative seizure of each event group may have a higher priority than other seizures within each event group. In some examples, within a clustered event group, a higher priority may be assigned to “dissimilar” seizures (having a similarity value below a threshold) than to “similar” events (having a similarity value exceeding the threshold). By prioritizing “dissimilar” events over “similar” events, “dissimilar” events can be saved, presented to the user, reviewed, and determined, thereby reducing the error rate associated with assigning the same determination for all other events in the same event group as the representative event. In some embodiments, prioritization of seizures across different clustered event groups is performed based on the number of events within each event group, enabling various event types to be reviewed and determined. In some examples, high-priority events may be automatically stored in a storage device and / or transmitted between devices, while low-priority events may be stored and / or transmitted on demand (i.e., when requested by the user). To conserve system resources (e.g., memory space and / or communication bandwidth), in some examples, only the representative seizures of each event group are stored and / or transmitted, and other seizures within each event group may be discarded.
[0076] In the external system 320, the display control circuit 225 may prioritize the display of arrhythmia attacks in the clustered event group, such as automatically displaying information regarding the representative case, while hiding other cases in the event group until requested by the user, i.e., on-demand display of other cases. The determination circuit 226 may receive the arrhythmia type determined by the user for the representative attack of the event group. The programmer 324 may generate commands for programming the AMD 310.
[0077] FIGS. 4A and 4B show examples of clustering physiological events in the feature space S. Each physiological event is represented by a data point in the graphical representation of the feature space S. The coordinates of the data point correspond to the respective values of a set of features extracted from the corresponding physiological event. By way of example and not limitation, each physiological event is represented by a data point within a two-dimensional feature space spanned by features S1, S2 as shown in FIGS. 4A and 4B. In an example of clustering cardiac arrhythmia attacks detected from a patient by a medical device, the feature set may include features such as heart rate distribution characteristics, arrhythmia duration, morphological features, or temporal features such as the time at which the arrhythmia attack was detected. The diagrams shown in FIGS. 4A and 4B may each be displayed on the display unit of the user interface 230.
[0078] As described above with reference to FIG. 2, FIG. 4A shows the automatic clustering of physiological events using an unsupervised clustering algorithm such as k-means clustering or a variation thereof. As shown in chart 400A, three clustered event groups 410, 420, 430 are formed, and each event group includes a set of respective physiological events and a cluster center (e.g., centroid) representing all the physiological events within that event group. For example, the clustered event group 420 has a cluster center 421. The clustering circuit 222 can determine a representative event 422 that is closest in distance from the event group 420 to the cluster center 421. Then, the representative event 422 and an indication that the representative event 422 represents the physiological events of the event group 420 can be displayed on the user interface 230.
[0079] Information regarding representative event 422 can be automatically displayed on user interface 230. Also, a user determination result of representative event 422 can be received from the user. FIG. 5 shows at least a part of user interface 500 for displaying information regarding a physiological event and receiving a user determination result of the event, and is an example of one embodiment of the display unit of user interface 230. By way of example and not limitation, the information can include physiological data 512 and the trend of measurement values 514 obtained from physiological data 512. Also, information regarding patient identification and episode number may be displayed, and this information can be selected using, among other input control elements on user interface 400, for example, a drop-down list, a checkbox, a radio button, a list box, a button, a toggle, a text field, etc. Physiological data 512 is detected using an electrode or a physiological sensor that communicates with a medical device, and can be collected during, or before or after, the detected physiological event. As a non-limiting example, as shown in FIG. 5, physiological data 512 includes an ECG or EGM detected at a heart site such as a ventricle. In some examples, two or more physiological signals can be displayed, including EGMs from multiple heart sites or via different sensing electrode configurations, mechanical signals of the heart, or hemodynamic signals detected from one or more sensors. The trend of measurement values 514 can include intra-channel or inter-channel timing information such as a heart rate trend, a heart rate variability trend, or an atrioventricular interval trend. The information to be displayed can include a detection summary 520. By way of example, detection summary 520 can include the type of physiological event detected by AMD and the measurement values from the detected physiological signals obtained by AMD. In the example shown in FIG. 5, the displayed episode is detected as an AF episode having a ventricular rate of 170 bpm and a duration of 140 seconds.
[0080] The user interface unit 500 may include a display zone for receiving user annotations 530 of the displayed seizures, such as the determination result of the event type (e.g., a specific arrhythmia type), that is, an appropriate (e.g., true positive) detection indicating a user match with the arrhythmia type detected by the device, an inappropriate (e.g., false positive) detection indicating a user mismatch with the arrhythmia type detected by the device, and the like.
[0081] Referring back to FIG. 4A, in addition to the automatic display of information regarding the representative event 422, information regarding other events within the same event group, such as event 423, may be displayed in response to a user command. As shown, the user may use a pointing device to select an event (e.g., event 423) within the clustered event group as indicated by the mouse pointer 440 on the user interface. In response to the user selection, information regarding the selected event 423 may be displayed in a manner similar to the automatic display of the representative event 422 as shown in FIG. 5. In response to the on-demand display of event 423, the user may be prompted to provide an on-demand determination or annotation regarding the selected event 423.
[0082] As described above with reference to FIG. 2, when representative event 422 is determined, determination circuit 226 can assign the same determination result of the representative event to each physiological event within the event group. The cluster-based prioritized display and prioritized determination of physiological events described herein advantageously utilize system resources more efficiently and improve the functionality of a computer system for managing physiological events. Further, it is possible to reduce the workload of a clinician and improve the efficiency of scrutiny and determination of physiological events by the clinician. In some embodiments, the user can further identify a subset of the physiological events within the event group that is not all of the physiological events. The identified subset includes physiological events for which each similarity metric is less than a similarity threshold. The same event type as the representative event can be assigned to the physiological events within the identified subset. For example, the user can identify a boundary region 425 encompassing representative event 422 in feature space S. Boundary region 425 can have a user-defined boundary. In the example shown in FIG. 4A, the user can define a boundary region 425 centered on representative event 422 with a radius “r”. The radius “r” can be adjustable by the user via a user interface. In one example, the user can select from a plurality of predefined regions of different sizes or shapes centered on representative event 422. In one example, the user can select from a plurality of predefined radii, such as one of “large”, “medium”, or “small” radii having a predetermined value. Alternatively, the user can select from a plurality of predefined regions each representing a different density level of physiological events in each clustered event group. In one example, the predefined regions can include a “dense cluster” (a small region having events densely clustered in feature space), a “sparse cluster” (a large region having events sparsely distributed in feature space), or any intermediate density level (e.g., moderately dense cluster, moderately sparse cluster).
[0083] Since the radius "r" represents the similarity threshold for the representative event 422, the selection of the radius "r" can affect the judgment performance measured by the workload reduction amount and the judgment error rate associated with assigning the same judgment result of the representative event to all other physiological events within the user-defined subgroup. FIG. 6 shows examples of a workload reduction curve 610 and a judgment error rate curve 620 at different radius values corresponding to the user-defined cluster event region. The workload reduction curve 610 shows the relationship between the workload reduction amount (for reviewing and judging events) and the radius value. The judgment error rate curve 620 shows the judgment error rates at different radius values. When a small radius "r" is used, more physiological events are excluded from the boundary region 425, and the default judgment (the same judgment result as the representative event 422) cannot be assigned. The judgment of physiological events outside such a region will increase the workload of the clinician (i.e., the workload reduction is small). On the other hand, the events within the boundary region 425 defined by the small radius "r" are more similar to (or closer in distance to) the representative event 422, so the default judgment (the same judgment result as the representative event 422) is more likely to be accurate, and a lower judgment error rate can be expected. Conversely, when the radius "r" is large, the boundary region 425 becomes large, and more physiological events will be assigned the default judgment (the same judgment result as the representative event 422). This can reduce the workload but potentially increase the judgment error rate. As shown in the example in FIG. 6, when the radius "r" increases from 20 to 30, the workload reduction increases from about 20% (data point 612) to 35% (data point 614), while the judgment error rate increases from about 1% (data point 622) to 3% (data point 624).
[0084] In one example, the user can provide an expected amount of workload reduction or error tolerance level associated with assigning the same determination result as the representative event 422 to all events within the boundary region 425, and the controller circuit 220 can determine the radius "r" based on the expected amount of workload reduction or error tolerance level. In another example, the controller circuit 220 can determine a performance metric proportional to the amount of workload reduction and inversely proportional to the determination error rate such that the performance metric increases as the workload reduction increases and decreases as the determination error increases. The controller circuit 220 can determine an "optimal" radius corresponding to a performance metric that exceeds a performance threshold.
[0085] Figure 4B shows clustering physiological events using user-specified cluster centers and clustering criteria. As shown in chart 400B, a user may specify a physiological event (e.g., event 452) as the center or representative event of a yet-to-be-established clustered event group. In one example, a user may determine a specified representative event (e.g., event 452) before clustering the events. To establish a clustered event group, clustering circuit 222 may calculate a similarity metric between each of the physiological events and representative event 452 using their respective feature sets, and assign each similarity metric that meets the similarity criteria to those physiological events to establish a clustered event group. In one example, the similarity metric includes the Euclidean distance in feature S, and the clustered event group may be established to include physiological events within a boundary region 455 of radius "r" centered on representative event 452. The radius "r" may be adjustable by the user via a user interface. In one example, the user may select one of a plurality of predetermined radii, such as one of "large", "medium", or "small" radii having a predetermined value. Alternatively, the user may select from a plurality of predefined regions identified as "dense clusters" (small regions with events densely clustered in feature space), "sparse clusters" (large regions with events sparsely distributed in feature space), or any intermediate density level (e.g., moderately dense clusters, moderately sparse clusters).
[0086] Information about representative event 452 may be automatically displayed on user interface 230. As shown in FIG. 5, the user determination result of representative event 452 may be received from the user. As described above with reference to FIG. 4A, information about other events within the same event group, such as event 453, may similarly be displayed in response to a user command. In response to an on-demand display of event 453, the user may be prompted to provide an on-demand determination or annotation for the selected event 453.
[0087] When the representative event 452 is determined, the determination circuit 226 can assign the same determination result of the representative event to each physiological event within the boundary region 455. As described above with reference to FIG. 4A, the radius "r" that defines the boundary region 455 can affect the workload reduction and the determination error rate associated with assigning the determination result of the representative event 452 to all other physiological events within the user-defined subgroup. As shown in FIG. 6, when the radius "r" is small, the reduction in workload is small and the determination error is small. Conversely, when the radius "r" is large, the workload is more reduced and the determination error rate is higher. The user can provide an expected amount of workload reduction or an error tolerance level associated with assigning the same determination result of the representative event 452 to all events within the boundary region 455, and the controller circuit 220 can determine the radius "r" based on the expected amount of workload reduction or the error tolerance level.
[0088] In one example, the controller circuit 220 determines the value of the radius "r" for a given amount of workload reduction (e.g., a 50% reduction in the event data to be reviewed) or the setup time for review and determination (e.g., 15 minutes), and determines the estimated error rate based on the value of the radius "r". When the actual error rate (for the set review and determination time) exceeds the threshold error rate, a notification or alert can be generated and presented to the user via the user interface 230. In another example, the controller circuit 220 determines the value of the radius "r" for a given error tolerance rate (e.g., 20%) and can determine the estimated amount of workload reduction or the estimated time for review and determination based on the value of the radius "r". When the actual review and determination time (for the given error rate) exceeds the threshold for the review and determination time, a notification or alert can be generated and presented to the user via the user interface 230.
[0089] In another example, the controller circuit 220 may determine a performance metric in proportion to the amount of workload reduction and inversely proportional to the determination error rate such that the performance metric increases as the workload reduction increases and decreases as the determination error increases. The controller circuit 220 may determine an “optimal” radius corresponding to a performance metric that exceeds a performance threshold.
[0090] FIG. 7 is a flowchart illustrating an example of a method 700 for managing the presentation and determination of a plurality of physiological events detected by a medical device in a patient. The physiological events may include, for example, arrhythmia episodes detected and recorded by the IMD 102 or the WMD 103. The method 700 may be implemented and executed in a portable medical device such as an implantable or wearable device, or in a remote patient management system. In one example, the method 700 may be implemented in and executed by the IMD 102, the WMD 103, or the external system 105.
[0091] At 710, information regarding a plurality of physiological events detected from a patient may be received from a memory circuit 210 that stores physiological event episodes of the patient detected, for example, by the IMD 102 or the WMD 103. An arrhythmia episode may include each physiological data sensed from one or more physiological sensors during the detected arrhythmia event, or additional physiological data sensed before and / or after the detected arrhythmia event. The physiological data associated with the arrhythmia episode may include cardiac electrical signals such as one or more ECG or EGM signals. In some embodiments, the physiological events may include patient-triggered episodes.
[0092] At 720, each feature set may be generated from the information received for each of the plurality of physiological events, for example, using a feature extraction circuit 221. In an example where the received information includes physiological data (e.g., ECG, EGM, or other sensor signals) recorded during an arrhythmia episode, the feature set may include one or more heart rate distribution features, arrhythmia duration features, morphology features, or temporal features extracted from the arrhythmia episode.
[0093] At 730, for example, using the clustering circuit 222, a plurality of physiological events can be clustered into a plurality of different event groups based on a set of features of the plurality of physiological events. As described above with reference to FIG. 2, the extracted set of features can form a feature space S. Each physiological event can be represented as a data point within the feature space S. The clustering can be based on an unsupervised learning algorithm such as a k-means cluster, k-medoids, or fuzzy C-means clustering algorithm. The received physiological events can then be clustered into one or more clustered event groups each containing a set of respective physiological events.
[0094] At 740, from each of the plurality of clustered event groups, a respective representative event can be identified to represent all physiological events within the corresponding event group. In one example, as shown in FIG. 4A, the representative event can be identified as the physiological event within the event group that is closest in distance (e.g., Euclidean distance within the feature space S) to the centroid of the physiological events within that event group. In some examples, as an alternative to unsupervised learning-based clustering, the received physiological events can be clustered at 730 according to a set of user-specified cluster centers and clustering rules. For example, the user can specify physiological events as cluster centers. A similarity metric (e.g., Euclidean distance in the feature space S) between each of the user-specified cluster centers and the physiological events can be determined using each respective feature set. The clustered event groups can be established by assigning to those physiological events each similarity metric that meets a similarity criterion, such as each distance to a user-specified cluster center that is less than a similarity threshold, as described above with reference to FIG. 4B. At 740, a user-specified physiological event can be identified as the representative event. The similarity threshold can be defined or adjusted by the user, for example, via the user interface 230. In one example, the user can define a boundary region within the feature space S around the user-specified physiological event. Physiological events having each graphically represented feature set that falls within the user-defined region belong to the same clustered event group. In one example, the user-defined region can have a user-defined radius "r" centered on the user-specified physiological event, as shown in FIG. 4B. The radius "r" representing the similarity threshold for the representative event can be defined by the user or can be adjustable. In one example, the user can select from a plurality of predefined regions of different sizes or shapes centered on the representative event 422, or from a plurality of predefined radii (e.g., "large", "medium", and "small" radii) each having a respective predetermined value.Alternatively, the user may select from a plurality of predefined regions identified as "dense clusters" (small regions having events that are densely clustered in the feature space), "sparse clusters" (large regions having events that are sparsely distributed in the feature space), or any intermediate density level (e.g., moderately dense clusters, moderately sparse clusters).
[0095] The clustering results, including a representative event and an indication that the representative event represents a set of physiological events within the clustered event group, may be output to the user or a process. For example, at 752, the physiological events within the clustered event group may be displayed in a prioritized order. For example, information about the representative event (e.g., ECG, EGM, or other recorded sensor data) may be automatically displayed on the user interface, while information about other physiological events within the same event group is not displayed until requested by the user, i.e., is hidden unless the user requests it. In one example, an event group (e.g., of N events) represented by the representative event may be notified to the user. The user may be prompted to select physiological events that are hidden within the clustered event group for display. In response to the usage selection, information about the selected events may be displayed.
[0096] At 754, the user determination result of the displayed physiological event can be received from the user via the user interface. This determination result may include a user designation of the event type of the physiological event, as shown in FIG. 5. Also, according to the prioritized display of physiological events, the determination of physiological events within the same group can be prioritized. For example, a representative event that is automatically displayed can be determined prior to other physiological events within an event group that is displayed on demand (e.g., selected by the user). In some examples, at the time of determination of the representative event, the same determination result as the representative event can be assigned to each physiological event within the event group. Thus, unless otherwise modified (e.g., by the user), all physiological events within the event group will, by default, have the same event type as the determined arrhythmia type of the representative event. The default determination result can be confirmed, rejected, or modified by the user.
[0097] The cluster-based prioritized display and prioritized determination described herein can reduce the workload of clinicians and improve the efficiency of scrutiny and determination of physiological events. The amount of workload reduction can be directly related to clustering criteria such as the similarity threshold, or the size or shape of the user-defined region, or the user-defined radius “r” in the feature space, as shown in FIGS. 4A and 4B. On the other hand, assigning the same determination result to all physiological events within the same clustered event group can result in a determination error rate. As shown in FIG. 6, a small radius “r” results in less workload reduction and a lower determination error rate, and conversely, a large radius “r” results in more workload reduction but a higher determination error rate. The similarity threshold, or the radius “r”, can be determined or adjusted to meet the user-specified requirements of the amount of workload reduction and / or the error tolerance level. In some examples, an “optimal” similarity threshold or radius “r” can be determined to optimize a performance metric in proportion to the amount of workload reduction and inversely proportional to the determination error rate.
[0098] FIG. 8 schematically shows a block diagram of an exemplary machine 800 on which any one or more of the techniques (e.g., methods) described herein may be performed. Portions of this description may apply to computing frameworks for various parts of an LCP device, IMD, or external programmer.
[0099] In alternative embodiments, machine 800 may operate as a stand-alone device or may be connected (e.g., network-connected) to other machines. In a networked configuration, machine 800 may operate as a server machine, a client machine, or both in a server-client network environment. In one example, machine 800 may operate as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. Machine 800 may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify operations to be performed by that machine. Further, although only a single machine is shown, the term "machine" shall also be construed to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods described herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations, etc.
[0100] An embodiment may include, or operate by, logic or several components or mechanisms as described herein. A circuit set is a set of circuits implemented in a tangible entity that includes hardware (e.g., simple circuits, gates, logic, etc.). Circuit set components may change flexibly over time and in response to changes in the underlying hardware. A circuit set includes members that can perform the specified operations alone or in combination during operation. In one example, the hardware of a circuit set can be designed to be invariant (e.g., hardwired) to perform a particular operation. In one example, the hardware of a circuit set includes a variably connected physical component (e.g., an execution unit, a transistor, a simple circuit, etc.) that includes a computer-readable medium physically modified (e.g., magnetically, electrically, movable arrangement of particles of invariant mass, etc.) to encode instructions for a particular operation. When connecting physical components, the basic electrical properties of the hardware components are changed, for example, from an insulator to a conductor or vice versa. Instructions enable an embedded hardware (e.g., an execution unit or a loading mechanism) to create members of a circuit set within the hardware via variable connections to perform a portion of a particular operation during operation. Thus, the computer-readable medium is communicatively coupled to other components of the circuit set members when the device is operating. In one example, any of the physical components can be used in two or more members in two or more circuit sets. For example, during operation, an execution unit can be used in a first circuit of a first circuit set at one point and reused by a second circuit of the first circuit set or reused by a third circuit of a second circuit set at different points in time.
[0101] Machine (e.g., computer system) 800 may include a hardware processor 802 (e.g., central processing unit (CPU), graphics processing unit (GPU), hardware processor core, or any combination thereof), main memory 804, and static memory 806, and some or all of them may communicate with each other via an internal link (e.g., bus) 808. Machine 800 may further include a display unit 810 (e.g., raster display, vector display, holographic display, etc.), alphanumeric input device 812 (e.g., keyboard), and user interface (UI) navigation device 814 (e.g., mouse). In one example, display unit 810, input device 812, and UI navigation device 814 may be a touch screen display. Machine 800 may further include a storage device (e.g., drive unit) 816, signal generation device 818 (e.g., speaker), network interface device 820, and one or more sensors 821 such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensors. Machine 800 may include an output controller 828 such as a serial (e.g., universal serial bus (USB)), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection for communicating or controlling one or more peripheral devices (e.g., printer, card reader, etc.).
[0102] Storage device 816 may include a machine-readable medium 822 in which one or more sets of data structures or instructions 824 (e.g., software) are stored that embody or are utilized by any one or more of the techniques or functions described herein. Also, instructions 824 may be fully or at least partially present in main memory 804, static memory 806, or hardware processor 802 during execution thereof by machine 800. In one example, one or any combination of hardware processor 802, main memory 804, static memory 806, or storage device 816 may constitute a machine-readable medium.
[0103] The machine-readable medium 822 is shown as a single medium, but the term "machine-readable medium" can include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated cache or server) configured to store one or more instructions 824.
[0104] The term "machine-readable medium" can store, encode, or carry instructions for execution by the machine 800, cause the machine 800 to perform any one or more of the techniques of the present disclosure, or be used by or be related to such instructions and can include any medium that can store, encode, or carry the data structures associated with such instructions. Examples of non-limiting machine-readable media can include solid-state memory as well as optical and magnetic media. In one example, a bulk machine-readable medium includes a machine-readable medium having a plurality of particles with invariant (e.g., stationary) mass. Thus, a bulk machine-readable medium is not a transitory propagated signal. Specific examples of bulk machine-readable media can include non-volatile memories such as semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable and programmable read-only memory (EEPROM)) and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0105] Command 824 can further be transmitted or received via a communication network 826 using a transmission medium through a network interface device 820 that utilizes any one of several transfer protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Exemplary communication networks can include a Local Area Network (LAN), a Wide Area Network (WAN), a packet data network (e.g., the Internet), a mobile telephone network (e.g., a cellular network), a Plain Old Telephone Service (POTS) network, and a wireless data network (e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard family known as WiFi (registered trademark), the IEEE 802.16 standard family known as WiMax (registered trademark)), the IEEE 802.15.4 standard family, a peer-to-peer (P2P) network, etc.). In one example, the network interface device 820 can include one or more physical jacks (e.g., Ethernet (registered trademark), coaxial, or telephone jacks) or one or more antennas for connecting to the communication network 826. In one example, the network interface device 820 can include multiple antennas for wireless communication using at least one of single input multiple output (SIMO) technology, multiple input multiple output (MIMO) technology, or multiple input single output (MISO) technology. The term "transmission medium" is to be construed to include any non-transitory medium capable of storing, encoding, or carrying instructions for execution by the machine 800 and includes digital or analog communication signals or other non-transitory media for facilitating such software communication.
[0106] Various embodiments are shown in the figures described above. To form other embodiments, one or more features from one or more of these embodiments may be combined. Examples of the methods described herein may be at least partially machine or computer implemented. Some examples may include a computer-readable or machine-readable medium encoded with instructions operable to configure an electronic device or system to perform a method as described in the examples above. Implementations of such methods may include code such as microcode, assembly language code, high-level language code, and the like. Such code may include computer-readable instructions for performing various methods. The code may form part of a computer program product. Further, the code may be tangibly stored on one or more volatile or non-volatile computer-readable media during execution or otherwise.
[0107] The detailed description above is intended to be illustrative and not limiting. Accordingly, the scope of the present disclosure should be determined with reference to the claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. A system for managing a plurality of physiological events detected by a patient's medical device, comprising a controller circuit, the controller circuit receiving information regarding the plurality of physiological events, for each of the plurality of physiological events, using the received information to generate a respective feature set including values of temporal or morphological features, using the values of the temporal or morphological features of the generated feature sets to cluster the plurality of physiological events into a plurality of different event groups, each event group including a set of physiological events, determining a representative event representing the set of physiological events within at least one of the plurality of different event groups, outputting to a user or process of the system the representative event and a display indicating that the representative event has been determined and that the representative event represents the set of physiological events within the at least one event group A system configured as such.
2. The controller circuit initiates automatic display of information regarding the determined representative event on a user interface, hides information regarding the set of physiological events of the at least one event group on the user interface, initiates on-demand display of information regarding one or more physiological events within the set of physiological events of the at least one event group in response to a user command via the user interface The system according to claim 1, configured as such.
3. The user command includes a user selection of a physiological event from within the set of physiological events of the at least one event group, and the controller circuit is configured to display information regarding the selected physiological event on the user interface in response to the user selection. The system according to claim 2.
4. Comprising a user interface configured to receive a determination result of the representative event from a user, The controller circuit is configured to assign the received determination result of the representative event to each physiological event within the set of physiological events of the at least one event group. The system according to claim 2 or 3.
5. The system according to any one of claims 1 to 4, wherein the controller circuit is configured to prioritize storage of information regarding the determined representative event over storage of information regarding the set of physiological events of the at least one event group in a storage device.
6. The system according to any one of claims 1 to 5, wherein the controller circuit is configured to prioritize transmission of information regarding the determined representative event over transmission of information regarding the set of physiological events of the at least one event group between different devices.
7. The plurality of physiological events include an arrhythmia attack detected from the patient, and the generated feature set includes heart rate distribution features, arrhythmia duration, morphological features, or the time at which the plurality of physiological events were detected The system according to any one of claims 1 to 6, including at least one of the above.
8. To determine the representative event, the controller circuit uses a feature set generated from at least some of the physiological events within the set of physiological events to determine the centroid of the set of physiological events of the at least one event group in a feature space, and determines the representative event of the at least one event group as the physiological event closest to the determined centroid The system according to any one of claims 1 to 7, configured as described above.
9. To cluster the plurality of physiological events, the controller circuit initializes a cluster center using the feature set of one of the plurality of physiological events, repeatedly updates the cluster center using the central tendency of the feature sets generated from the physiological events within the event group until a convergence criterion or an iteration stop criterion is met, and assigns physiological events to the clustered event groups based on a similarity metric between the physiological events and the repeatedly updated cluster center The system according to any one of claims 1 to 8, configured as described above.
10. The controller circuit calculates each similarity metric between the representative event and each physiological event within the set of physiological events of the at least one event group, Select a subset of events each having a similarity metric less than a similarity threshold from the set of physiological events of the at least one event group, Output a display indicating that the representative event represents the selected subset of events to a user or process of the system The system according to claim 9, configured as described above.
11. The controller circuit, Using the feature sets respectively generated from the received plurality of physiological events and the user-specified physiological event, calculate a respective similarity metric between each of the received plurality of physiological events and the user-specified physiological event, Determine a set of physiological events of the at least one event group having a similarity metric exceeding a similarity threshold, Determine the user-specified physiological event as the representative event of the at least one event group The system according to any one of claims 1 to 10, configured as described above.
12. A user interface, Display the received plurality of physiological events in a graphical representation in a feature space, Receive user input for identifying the user-specified physiological event, Display information about the user-specified physiological event and a display indicating that the representative event represents the set of physiological events within the at least one event group The system according to claim 11, comprising the user interface configured as described above.
13. The system according to claim 12, wherein the user interface is configured to receive a user input of the similarity threshold or a user selection of a predetermined cluster density.
14. The controller circuit, Generate an estimated value of the workload reduction associated with assigning the user determination result of the representative event to each physiological event within the set of physiological events of the at least one event group, Determine or adjust the similarity threshold based on the generated estimated value of the workload reduction The system according to any one of claims 11 to 13, configured as described above.
15. The controller circuit, Generate an estimated value of the error rate associated with assigning the user determination result of the representative event to each physiological event within the set of physiological events of the at least one event group, Determine or adjust the similarity threshold based on the estimated value of the generated error rate The system according to any one of claims 11 to 14, configured to be
Citation Information
Patent Citations
Method and device for swallowing impairment detection
US20140228714A1
Systems and methods for managing patient-triggered episodes
US20190008384A1
Cited By
Systems and methods for clustering physiological events
US12525359B2