Morphology change detection for cardiac signal analysis
Claim Score by NHIP
Abstract
Method and apparatus for improved detection of changes in morphology for cardiac analysis in post-processing. In some examples, a method of detecting a morphology change includes receiving an electrogram signal that represents a heartbeat; calculating a plurality of correlation values between the heartbeat and a template heartbeat; determining a maximum correlation value between the heartbeat and the template heartbeat based at least partially on the plurality of correlation values; and classifying the heartbeat based on the maximum correlation value.

Term
Projected expiry 31 January 2031.
- Priority
- Filed
- Published
- Today
- Projected expiry
18 claims: 3 independent, 15 dependent
- 1Broadest claimClaim Score 77, broad(NHIP)A method for processing a delivered cardiac signal, comprising:receiving an electrogram signal that represents a plurality of heartbeats;identifying a group of similar heartbeats of the plurality of heartbeats;generating a template heartbeat based at least partially on the group of similar heartbeats, wherein the template heartbeat is generated by calculating an average of at least some of the group of heartbeats;and comparing the template heartbeat to a heartbeat of the plurality of heartbeats that is not included in the group of similar heartbeats.
- 7A method for processing a delivered cardiac signal, comprising:receiving an electrogram signal that represents a plurality of heartbeats;determining a group of similar heartbeats of the plurality of heartbeats;generating a first template based on a first heartbeat of the group of similar heartbeats and a second template based on a second heartbeat of the group of similar heartbeats, wherein the second heartbeat is later in time than the first heartbeat;and comparing the first template and the second template to a third heartbeat of the plurality of heartbeats.
- 15A method for processing a delivered cardiac signal, comprising:receiving an electrogram signal that represents a plurality of heartbeats;determining a first group of consecutive similar heartbeats of the plurality of heartbeats;determining a second group of consecutive similar heartbeats of the plurality of heartbeats, wherein the second group of consecutive similar heartbeats is distinct from the first group of consecutive similar heartbeats;and identifying a transition period between the first group of consecutive similar heartbeats and the second group of consecutive similar heartbeats, wherein the transition period includes one or more heartbeats that are not similar to the heartbeats of the first group or the heartbeats of the second group.
Independent claims3
171 paragraphs in 7 sections, as filed
RELATED APPLICATION
p-0002The present disclosure claims priority and other benefits from U.S. Provisional Patent Application Ser. No. 61/408,244, filed Oct. 29, 2010, entitled “MORPHOLOGY CHANGE DETECTION FOR CARDIAC SIGNAL ANALYSIS”, incorporated herein by reference in its entirety.
CROSS-REFERENCE TO RELATED APPLICATION
p-0003Cross-reference is hereby made to the commonly-assigned related U.S. application Ser. No. ______ (attorney docket number P0036194.01), entitled “MORPHOLOGY CHANGE DETECTION FOR CARDIAC SIGNAL ANALYSIS”, to Patel et al., filed concurrently herewith and incorporated herein by reference in it's entirety.
TECHNICAL FIELD
p-0004The disclosure relates generally to medical devices, and more particularly to analysis of cardiac signals detected by a medical device.
BACKGROUND
p-0005An implantable medical devices (IMD) may be configured to deliver therapy and monitor physiological signals, such as cardiac signals. Some IMDs may be configured to deliver therapy in response to detection of episodes indicated by the physiological signals. The IMD may store data indicating the physiological signals, episodes identified based on the physiological signals, and therapy delivered in response to the episodes. Reviewing the data stored in the IMD memory at clinic follow-up may be desirable in order to analyze episode detection and make determinations for care of the patient. In some cases, expert knowledge is required to discriminate between correct episode detection and false episode detection. In the case of cardiac signals, for example, it may be difficult to discriminate between true ventricular arrhythmias and detection of non-ventricular arrhythmias. The effort required to review detected episodes with careful attention to detail can be burdensome.
p-0006Automatic classification of detected episodes as either true episodes or false episodes may be desirable to decrease the time required to review episodes and ensure that false detections are properly reviewed. Therefore, techniques for correctly classifying each detected episode during post-processing review of data stored in an IMD may be desirable to reduce the clinician time to review episodes, and to give the clinician increased confidence that potentially incorrect episode detections are identified and considered.
SUMMARY
p-0007In one example, the disclosure is directed to a method and system for processing cardiac signals that includes receiving an electrogram signal that represents a heartbeat and calculating a plurality of correlation values between the heartbeat and a template heartbeat. The system and method also includes determining a maximum correlation value between the heartbeat and the template heartbeat based at least partially on the plurality of correlation values, and classifying the heartbeat based on the maximum correlation value.
p-0008In another example, the disclosure is directed to a system and method that includes receiving an electrogram signal that represents a heartbeat, and generating a heartbeat profile based on the heartbeat, wherein the heartbeat profile includes at least one measurement generated from the heartbeat. The system and method also includes comparing the heartbeat profile to a template profile generated from a template heartbeat, and determining a correlation between the heartbeat and the template heartbeat based at least partially on a comparison of the heartbeat profile and the template profile.
p-0009In another example, the disclosure is directed to a system and method that includes receiving an electrogram signal that represents a plurality of heartbeats, and identifying a group of similar heartbeats of the plurality of heartbeats. The system and method also includes generating a template heartbeat based at least partially on the group of similar heartbeats, wherein the template heartbeat is generated by calculating an average of at least some of the group of heartbeats, and comparing the template heartbeat to a heartbeat of the plurality of heartbeats that is not included in the group of similar heartbeats.
p-0010In another example, the disclosure is directed to a system and method that includes receiving an electrogram signal that represents a plurality of heartbeats, and determining a group of similar heartbeats of the plurality of heartbeats. The system and method also includes generating a first template based on a first heartbeat of the group of similar heartbeats and a second template based on a second heartbeat of the group of similar heartbeats, wherein the second heartbeat is later in time than the first heartbeat. The system and method also includes comparing the first template and the second template to a third heartbeat of the plurality of heartbeats.
p-0011In another example, the disclosure is directed to a system and method that includes receiving an electrogram signal that represents a plurality of heartbeats, and determining a first group of consecutive similar heartbeats of the plurality of heartbeats. The system and method also includes determining a second group of consecutive similar heartbeats of the plurality of heartbeats, wherein the second group of consecutive similar heartbeats is distinct from the first group of consecutive similar heartbeats. The system and method also includes identifying a transition period between the first group of consecutive similar heartbeats and the second group of consecutive similar heartbeats, wherein the transition period includes one or more heartbeats that are not similar to the heartbeats of the first group or the heartbeats of the second group.
p-0012The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF DRAWINGS
p-0013<figref idrefs="DRAWINGS">FIG. 1</figref> is a conceptual diagram illustrating an example therapy system comprising an implantable medical device (IMD) for delivering stimulation therapy to a heart of a patient via implantable leads.
p-0014<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram illustrating an example system that includes the IMD shown in <figref idrefs="DRAWINGS">FIG. 1</figref> connected to a programmer and access point, which is connected to a network and computing device.
p-0015<figref idrefs="DRAWINGS">FIG. 3</figref> is a functional block diagram illustrating an example configuration of the IMD of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0016<figref idrefs="DRAWINGS">FIG. 4</figref> is a functional block diagram illustrating an example computing device shown in <figref idrefs="DRAWINGS">FIG. 2</figref> having a episode classifier module.
p-0017<figref idrefs="DRAWINGS">FIG. 5</figref> is a representation of a cardiac electrogram (EGM) having a first heartbeat pattern and a second heartbeat pattern.
p-0018<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow diagram illustrating an example method for detecting changes in EGM morphology.
p-0019<figref idrefs="DRAWINGS">FIG. 7</figref> is a representation of an EGM having an analysis window that has been applied to a waveform for a single heartbeat having a plurality of associated profile points.
p-0020<figref idrefs="DRAWINGS">FIG. 8</figref> is a flow diagram illustrating an example method for applying an analysis window to a heartbeat of an EGM.
p-0021<figref idrefs="DRAWINGS">FIG. 9</figref> is a representation of analyzing a heartbeat of an EGM with a heartbeat associated with a template.
p-0022<figref idrefs="DRAWINGS">FIG. 10</figref> is a flow diagram illustrating an example method of determining a maximum correlation between a heartbeat of an EGM and a heartbeat associated with a template.
p-0023<figref idrefs="DRAWINGS">FIG. 11</figref> is a representation of a first heartbeat and a second heartbeat, of an EGM, that are positioned with their peaks in alignment.
p-0024<figref idrefs="DRAWINGS">FIG. 12</figref> is a representation of a heartbeat in an EGM having an associated heartbeat profile.
p-0025<figref idrefs="DRAWINGS">FIG. 13</figref> is a flow diagram illustrating an example method of generating a heartbeat profile and applying the heartbeat profile to a number of heartbeat templates.
p-0026<figref idrefs="DRAWINGS">FIG. 14</figref> is a representation of an EGM having a group of similar heartbeats that are averaged together and compared to a current heartbeat under analysis.
p-0027<figref idrefs="DRAWINGS">FIG. 15</figref> is a flow diagram illustrating an example method of comparing a heartbeat in an EGM to an average heartbeat template.
p-0028<figref idrefs="DRAWINGS">FIG. 16</figref> is a representation of a heartbeat of an EGM being compared to a plurality of previous heartbeats.
p-0029<figref idrefs="DRAWINGS">FIG. 17</figref> is a flow diagram illustrating an example method of comparing a heartbeat to a plurality of previous heartbeat templates.
p-0030<figref idrefs="DRAWINGS">FIG. 18</figref> is a representation of an EGM having a transition period between groups of heartbeats.
p-0031<figref idrefs="DRAWINGS">FIG. 19</figref> is a flow diagram illustrating an example method of analyzing heartbeats associated with a transition period.
DETAILED DESCRIPTION
p-0032In general, aspects of the disclosure relate to an episode classifier system that can be implemented to classify cardiac episodes detected by an IMD. For example, aspects of the disclosure may relate to post-processing and automatically reviewing some or all of the cardiac episodes that were detected and stored by an IMD. Aspects of the disclosure may be implemented as part of a post processing process that retrospectively classifies episodes that were detected by an IMD. Alternatively, in some examples, such a process may be implemented in an IMD or IMD programmer. In either case, accurately classifying episodes can be useful for configuring an IMD with the appropriate parameters and therapy delivery method.
p-0033In some examples, the episode classifier techniques may include techniques for detecting changes in morphology in cardiac signals. For example, a morphology change detection algorithm can be implemented to identify changes in heartbeat patterns of an electrogram (EGM) that has been retrieved from an IMD. The morphology change detection techniques may be used to determine whether the IMD appropriately detected and classified an episode, such as a ventricular fibrillation (VF) or ventricular tachycardia (VT) episode, or inappropriately detected and classified and episode as, for example, a supraventricular tachycardia (SVT) episode. Alternatively or additionally, these techniques may be used to classify episodes in the first instance, i.e., whether an IMD previously classified the episodes or not. The morphology change detection techniques may be used to detect changes in morphology between any beats of an EGM. For example, morphology change detection techniques may be used to detect changes between consecutive beats of an EGM, beats of a first time period to a second time period, or any other beats of the EGM.
p-0034In some examples, morphology change detection techniques are used to capture individual beats of an EGM, compare the beats to other beats of the EGM or one or more known template beats to classify the beats, and group similarly classified beats together. Morphology change detection techniques are then used to identify changes in morphology using the groups of classified beats. For example, morphology change detection techniques are used to identify a change in morphology when a beat under analysis is not similar to one of the classified groups. Morphology change detection techniques may also be used to indicate, for example, whether an IMD previously classified episodes appropriately (e.g., classified a VT/VF episode as a VT/VF episode, or as an SVT episode).
p-0035According to some aspects of the disclosure, the comparison of a captured beat to a template beat can be carried out in a variety of ways. In some examples, the morphology change detection algorithm positions or “slides” a template beat over a beat under consideration, and generates a correlation value at each incremental position. The morphology change detection algorithm can then determine the position with the maximum correlation value, and use that value to classify the beat under consideration. For example, if the maximum correlation value indicates that the template beat and the beat under consideration are similar, the morphology change detection algorithm can classify the beat under consideration as being similar to the template beat. Alternatively or additionally, if the maximum correlation value indicates that the template beat and the beat under consideration are not similar (e.g., below a predetermined correlation threshold), the morphology change detection algorithm can classify the beat under consideration as being different than the template beat.
p-0036In other examples, the morphology change detection algorithm may compare a beat under consideration to a template beat by positioning the template beat in a plurality of specific positions with respect to the beat under consideration, and generate a correlation value at each of the designated positions. For example, the system may align the beats in three positions: (1) with the Q points of the beats aligned (2) with the R points of the beats aligned, and (3) with the S points of the beats aligned. The morphology change detection algorithm may then select the position with the maximum correlation value, and use that value to classify the beat under consideration. For example, the morphology change detection algorithm can use the maximum correlation value to classify the beat under consideration as similar or dissimilar to the template beat.
p-0037In another aspect of the present disclosure, the morphology change detection algorithm may compare a beat under consideration to a template beat by generating a profile of a captured beat, comparing the profile of the captured beat to a template beat profile, and classifying the captured beat according to the comparison of the profiles. For example, the morphology change detection algorithm may generate a profile of a beat based on distances between inflection points of the beat (e.g., horizontal and/or vertical distances), slope values associated with the beat, frequency content of the beat or other characteristics such as the amplitudes of the P, Q, R, and S points of the beat, or width of the beat. The morphology change detection algorithm can then compare the profile of a beat under consideration to a template beat profile, and use that comparison to classify the beat under consideration.
p-0038In some examples, the morphology change detection algorithm can use the profile comparison and the maximum template correlation value independently or in tandem. For example, according to some aspects of the disclosure, the morphology change detection algorithm can compare or combine a maximum correlation value and a profile correlation value or score to classify a beat under consideration.
p-0039In another aspect of the present disclosure, after the morphology change detection algorithm classifies the beats according to one or more templates, the morphology change detection algorithm groups the beats according to their classifications. Grouping beats may help to prevent false identifications of morphology changes. For example, beats of an EGM may change slightly over time. Slight changes in beat shape may be exaggerated if the morphology change detection algorithm compares two beats that are not close in time (e.g., a template beat generated from a first beat, and a second beat (under consideration) later in time). As such, if the morphology change detection algorithm generates a template beat based on the first beat of an EGM and applies that template to all of the beats of the EGM, a beat later in time may not closely correlate with the template beat, even though the beat is the same type of beat as the template beat. Grouping beats and generating templates according to the groups can smooth inconsistencies in beats over time.
p-0040In some examples, the morphology change detection algorithm averages all beats of a group of beats to produce a representative template beat for the group. For example, all beats classified as belonging to a certain template are averaged (e.g., the peaks of the beats are averaged) to produce a single template beat that inherently includes characteristics of all the contributing beats. The morphology change detection algorithm can then compare the average template beat to a beat under analysis, such as for example, by determining a maximum correlation value or comparing a profile of the average template beat to a profile of the beat under analysis.
p-0041In some other examples, the morphology change detection algorithm may select a plurality of beats from a group of beats to compare to a beat under analysis. For example, morphology change detection algorithm may select the first beat of a group and the last beat added to the group for comparison to a beat under analysis. The morphology change detection algorithm can then update (e.g., select new) templates for each beat being analyzed. For example, when a beat is classified as being part of a group, the morphology change detection algorithm compares the newly added beat to the next beat under analysis.
p-0042In another aspect of the disclosure, the morphology change detection algorithm identifies a transition period between a first group of beats and a second group of beats. Identifying a transition period may aid in determining where a first predominant morphology ends and a second prominent morphology begins. For example, the transition period provides for a period of ectopy, so that the morphology change detection algorithm does not identify several changes in morphology in short succession when there is truly only a single change in morphology.
p-0043In some examples, the morphology change detection algorithm may remove certain beats of the transition period from consideration to avoid a false detection of multiple morphology changes. For example, the morphology change detection algorithm determines the transition period by identifying a leftmost beat of beats belonging to a first morphology and a rightmost beat of beats belonging to a second morphology. The morphology change detection algorithm then sets the transition period to include all beats between the identified leftmost and rightmost beats, as these are the beats that the system identifies as being irregular in nature.
p-0044After identifying the transition period, the morphology change detection algorithm may then remove beats from consideration. For example, the morphology change detection algorithm determines which beat within the transition period has the fewest consecutive beats, and removes that beat from consideration. If no beat has more consecutive beats than another beat, all beats are removed consideration. The morphology change detection algorithm repeats the removal process until all beats of the transition period are similar. By recursively removing beats in the transition period, the morphology change detection algorithm can identify the boundaries of a transition period where the beats transition from one morphology to another.
p-0045<figref idrefs="DRAWINGS">FIG. 1</figref> is a conceptual diagram illustrating an example therapy system <b>10</b> that may be used to provide therapy to heart <b>12</b> of patient <b>14</b>. Therapy system <b>10</b> includes IMD <b>16</b>, which is coupled to leads <b>18</b>, <b>20</b>, and <b>22</b>. IMD <b>16</b> may be, for example, an implantable pacemaker, cardioverter, and/or defibrillator that provides electrical signals to heart <b>12</b> via electrodes coupled to one or more of leads <b>18</b>, <b>20</b>, and <b>22</b>. Patient <b>12</b> is ordinarily, but not necessarily, a human patient.
p-0046Leads <b>18</b>, <b>20</b>, <b>22</b> extend into the heart <b>12</b> of patient <b>14</b> to sense electrical activity of heart <b>12</b> and/or deliver electrical stimulation to heart <b>12</b>. In the example shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, right ventricular (RV) lead <b>18</b> extends through one or more veins (not shown), the superior vena cava (not shown), and right atrium <b>26</b>, and into right ventricle <b>28</b>. Left ventricular (LV) coronary sinus lead <b>20</b> extends through one or more veins, the vena cava, right atrium <b>26</b>, and into the coronary sinus <b>30</b> to a region adjacent to the free wall of left ventricle <b>32</b> of heart <b>12</b>. Right atrial (RA) lead <b>22</b> extends through one or more veins and the vena cava, and into right atrium <b>26</b> of heart <b>12</b>. In some alternative embodiments, therapy system <b>10</b> may include an additional lead or lead segment (not shown in <figref idrefs="DRAWINGS">FIG. 1</figref>) that deploys one or more electrodes within the vena cava or other vein. These electrodes may allow alternative electrical sensing configurations that may provide improved sensing accuracy in some patients.
p-0047IMD <b>16</b> may sense electrical signals attendant to the depolarization and repolarization of heart <b>12</b> via electrodes (not shown in <figref idrefs="DRAWINGS">FIG. 1</figref>) coupled to at least one of the leads <b>18</b>, <b>20</b>, <b>22</b>. In some examples, IMD <b>16</b> provides pacing pulses to heart <b>12</b> based on the electrical signals sensed within heart <b>12</b>. The configurations of electrodes used by IMD <b>16</b> for sensing and pacing may be unipolar or bipolar. IMD <b>16</b> may also provide defibrillation therapy and/or cardioversion therapy via electrodes located on at least one of the leads <b>18</b>, <b>20</b>, <b>22</b>. IMD <b>16</b> may detect arrhythmia of heart <b>12</b>, such as fibrillation of ventricles <b>28</b> and <b>32</b>, and deliver cardioversion or defibrillation therapy to heart <b>12</b> in the form of electrical shocks. In some examples, IMD <b>16</b> may be programmed to deliver a progression of therapies, e.g., pulses with increasing energy levels, until a tachyarrhythmia of heart <b>12</b> is stopped. IMD <b>16</b> may detect tachycardia or fibrillation employing one or more tachycardia or fibrillation detection techniques known in the art.
p-0048<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram illustrating an example system <b>60</b> that includes IMD <b>16</b> shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, as well as programmer <b>64</b>, access point <b>68</b>, a network <b>72</b>, and a computing device <b>76</b>. As shown in <figref idrefs="DRAWINGS">FIG. 2</figref>, the IMD <b>16</b> is connected to programmer <b>24</b> and access point <b>68</b>. Access point <b>68</b> connects the IMD <b>16</b> to computing device <b>76</b> via network <b>72</b>.
p-0049In some examples, programmer <b>64</b> may be a handheld computing device, computer workstation, or networked computing device. Programmer <b>64</b> may include a user interface that receives input from a user. The user interface may include, for example, a keypad and a display, which may for example, be a cathode ray tube (CRT) display, a liquid crystal display (LCD) or light emitting diode (LED) display. The keypad may take the form of an alphanumeric keypad or a reduced set of keys associated with particular functions. Programmer <b>64</b> can additionally or alternatively include a peripheral pointing device, such as a mouse, via which a user may interact with the user interface. In some embodiments, a display of programmer <b>64</b> may include a touch screen display, and a user may interact with programmer <b>64</b> via the display. It should be noted that the user may also interact with programmer <b>64</b> or IMD <b>16</b> remotely via networked computing device <b>76</b>.
p-0050A user, such as a physician, technician, surgeon, electrophysiologist, or other clinician, may interact with programmer <b>64</b> to communicate with IMD <b>16</b>. For example, the user may interact with programmer <b>64</b> to retrieve physiological or diagnostic information from IMD <b>16</b>. A user may also interact with programmer <b>64</b> to program IMD <b>16</b>, e.g., select values for operational parameters of IMD <b>16</b>.
p-0051For example, the user may use programmer <b>64</b> to retrieve information from IMD <b>16</b> regarding the rhythm of heart <b>12</b>, trends therein over time, or arrhythmic episodes. The information may include EGM data, marker channel data, or the like. In some examples, the information retrieved from IMD <b>16</b> may be further processed by an episode classifier module, as shown in <figref idrefs="DRAWINGS">FIG. 4</figref>. As another example, the user may use programmer <b>64</b> to retrieve information from IMD <b>16</b> regarding other sensed physiological parameters of patient <b>14</b>, such as intracardiac or intravascular pressure, activity, posture, respiration, or thoracic impedance. As another example, the user may use programmer <b>64</b> to retrieve information from IMD <b>16</b> regarding the performance or integrity of IMD <b>16</b> or other components of system <b>10</b>, such as leads <b>18</b>, <b>20</b> and <b>22</b>, or a power source of IMD <b>16</b>.
p-0052The user may use programmer <b>64</b> to program a therapy progression, select electrodes used to deliver defibrillation pulses, select waveforms for the defibrillation pulses, or select or configure a fibrillation detection algorithm for IMD <b>16</b>. The user may also use programmer <b>64</b> to program similar aspects of other therapies provided by IMD <b>16</b>, such as cardioversion or pacing therapies. In some examples, the user may activate certain features of IMD <b>16</b> by entering a single command via programmer <b>64</b>, such as depression of a single key or combination of keys of a keypad or a single point-and-select action with a pointing device.
p-0053IMD <b>16</b> and programmer <b>64</b> may communicate via wireless communication using any techniques known in the art. Examples of communication techniques may include, for example, low frequency inductive telemetry or radiofrequency (RF) telemetry, but other techniques are also contemplated. In some examples, programmer <b>64</b> may include a programming head that may be placed proximate to the patient's body near the IMD <b>16</b> implant site in order to improve the quality or security of communication between IMD <b>16</b> and programmer <b>64</b>.
p-0054IMD <b>16</b> is an example of a device that may store electrograms (EGMs) that are associated with sensed episodes or events that may be non-physiological and, instead, associated with a sensing integrity condition. Such EGMs may be retrieved from IMD <b>16</b> by programmer <b>64</b>, and displayed by programmer <b>64</b> for evaluation by a clinician or other user to, for example, determine whether an episode sensed by the IMD <b>16</b> has been appropriately classified by the IMD <b>16</b>. For example, the clinician or other user can determine whether episodes classified by IMD <b>16</b> as VT/VF episodes were classified appropriately. The EGMs may be considered in conjunction within other sensing integrity data, such as lead impedance data, which may also be stored by IMD <b>16</b>, and retrieved and displayed by programmer <b>64</b>. The EGMs may be stored with respective marker channels.
p-0055In other examples, one or more devices other than IMD <b>16</b> may, alone, or in combination with IMD, implement the techniques described herein. For example, programmer <b>64</b> or another external device may store EGMs based on cardiac signal data received from IMD <b>16</b>. Programmer <b>64</b> or another external device may determine whether to store the EGMs, according to any of the techniques described herein, based on the cardiac signal or other signals or information received from IMD <b>16</b>. Furthermore, in some examples, the medical device and/or leads are not implanted.
p-0056As described above, IMD <b>16</b> is also connected to access point <b>68</b> and computing device <b>76</b> via network <b>72</b>. In the example of <figref idrefs="DRAWINGS">FIG. 2</figref>, access point <b>68</b>, programmer <b>64</b>, and computing device <b>76</b> are interconnected, and able to communicate with each other, through network <b>72</b>. Access point <b>68</b> may comprise a device that connects to network <b>72</b> via any of a variety of connections, such as telephone dial-up, digital subscriber line (DSL), or cable modem connections. In other embodiments, access point <b>68</b> may be coupled to network <b>72</b> through different forms of connections, including wired or wireless connections. In some examples, access point <b>68</b> may be co-located with patient <b>14</b> and may comprise one or more programming units and/or computing devices (e.g., one or more monitoring units) that may perform various functions and operations described herein. For example, access point <b>68</b> may include a home-monitoring unit that is co-located with patient <b>14</b> and that may monitor the activity of IMD <b>16</b>.
p-0057Network <b>72</b> may comprise a local area network, wide area network, or global network, such as the Internet. In some cases, programmer <b>64</b> and/or access point <b>68</b> may assemble episode logs, including EGMs, and other sensing integrity information in web pages or other documents for viewing by trained professionals, such as clinicians. The trained professionals may analyze the information via viewing terminals associated with a computing device, such as computing device <b>76</b>. In some examples, computing device <b>76</b> may be equipped to execute a post processing program that identifies and classifies episodes contained in the episode logs. System <b>60</b> may be implemented, in some aspects, with general network technology and functionality similar to that provided by the Medtronic CareLink® Network developed by Medtronic, Inc., of Minneapolis, Minn.
p-0058<figref idrefs="DRAWINGS">FIG. 3</figref> is a functional block diagram illustrating one example configuration of IMD <b>16</b>. In the example illustrated by <figref idrefs="DRAWINGS">FIG. 4</figref>, IMD <b>16</b> includes a processor <b>100</b>, memory <b>104</b>, signal generator <b>108</b>, electrical sensing module <b>112</b>, sensor <b>116</b>, telemetry module <b>120</b>, and power source <b>124</b>. Memory <b>104</b> may includes computer-readable instructions that, when executed by processor <b>100</b>, cause IMD <b>16</b> and processor <b>100</b> to perform various functions attributed to IMD <b>16</b> and processor <b>100</b> herein. Memory <b>104</b> may include any volatile, non-volatile, magnetic, optical, or electrical media, such as a random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, or any other digital media.
p-0059Processor <b>100</b> may include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or equivalent discrete or integrated logic circuitry. In some examples, processor <b>100</b> may include multiple components, such as any combination of one or more microprocessors, one or more controllers, one or more DSPs, one or more ASICs, or one or more FPGAs, as well as other discrete or integrated logic circuitry. The functions attributed to processor <b>100</b> herein may be embodied as software, firmware, hardware or any combination thereof.
p-0060Processor <b>100</b> controls signal generator <b>108</b> to deliver stimulation therapy to heart <b>12</b>. Processor <b>100</b> may control signal generator <b>108</b> to deliver stimulation according to a selected one or more therapy programs, which may be stored in memory <b>104</b>. For example, processor <b>100</b> may control signal generator <b>108</b> to deliver electrical pulses with the amplitudes, pulse widths, frequency, or electrode polarities specified by the selected one or more therapy programs.
p-0061Signal generator <b>108</b> is electrically coupled to electrodes <b>140</b>, <b>142</b>, <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b>, <b>158</b>, <b>162</b>, <b>164</b>, and <b>166</b>, e.g., via conductors of the respective lead <b>18</b>, <b>20</b>, <b>22</b> of IMD <b>16</b>. Signal generator <b>108</b> configured to generate and deliver electrical stimulation therapy to heart <b>12</b>. For example, signal generator <b>108</b> may deliver defibrillation shocks to heart <b>12</b> via at least two electrodes <b>158</b>, <b>162</b>, <b>164</b>, <b>166</b>. Signal generator <b>108</b> may deliver pacing pulses via ring electrodes <b>140</b>, <b>144</b>, <b>148</b> coupled to leads <b>18</b>, <b>20</b>, and <b>22</b>, respectively, and/or helical electrodes <b>142</b>, <b>146</b>, and <b>150</b> of leads <b>18</b>, <b>20</b>, and <b>22</b>, respectively. In some examples, signal generator <b>108</b> delivers pacing, cardioversion, or defibrillation stimulation in the form of electrical pulses or shocks. In other examples, signal generator <b>108</b> may deliver one or more of these types of stimulation in the form of other signals, such as sine waves, square waves, or other substantially continuous time signals.
p-0062Signal generator <b>108</b> may include a switch module and processor <b>100</b> may use the switch module to select, e.g., via a data/address bus, which of the available electrodes are used to deliver pacing, cardioversion, or defibrillation pulses or shocks. The switch module may include a switch array, switch matrix, multiplexer, or any other type of switching device suitable to selectively couple stimulation energy to selected electrodes.
p-0063Electrical sensing module <b>112</b> monitors signals from at least one of electrodes <b>140</b>, <b>142</b>, <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b>, <b>158</b>, <b>162</b>, <b>164</b> or <b>166</b> in order to monitor electrical activity of heart <b>12</b>. Electrical sensing module <b>86</b> may also include a switch module to select which of the available electrodes are used to sense the heart activity. In some examples, processor <b>80</b> may select the electrodes that function as sense electrodes, or the sensing electrode configuration, via the switch module within electrical sensing module <b>86</b>, e.g., by providing signals via a data/address bus. Electrical sensing module <b>86</b> may include multiple detection channels, each of which may comprise a sense amplifier. In response to the signals from processor <b>80</b>, the switch module of within electrical sensing module <b>86</b> may couple selected electrodes to each of the detection channels.
p-0064If IMD <b>16</b> is configured to generate and deliver pacing pulses to heart <b>12</b>, processor <b>100</b> may include pacer timing and control module, which may be embodied as hardware, firmware, software, or any combination thereof. The pacer timing and control module may comprise a dedicated hardware circuit, such as an ASIC, separate from other components of processor <b>100</b>, such as a microprocessor, or a software module executed by a component of processor <b>100</b>, which may be a microprocessor or ASIC. The pacer timing and control module may include programmable counters which control the basic time intervals associated with DDD, VVI, DVI, VDD, AAI, DDI, DDDR, VVIR, DVIR, VDDR, AAIR, DDIR and other modes of single and dual chamber pacing. In the aforementioned pacing modes, “D” may indicate dual chamber, “V” may indicate a ventricle, “I” may indicate inhibited pacing (e.g., no pacing), and “A” may indicate an atrium. The first letter in the pacing mode may indicate the chamber that is paced, the second letter may indicate the chamber that is sensed, and the third letter may indicate the chamber in which the response to sensing is provided.
p-0065Intervals defined by the pacer timing and control module within processor <b>100</b> may include atrial and ventricular pacing escape intervals, refractory periods during which sensed P-waves and R-waves are ineffective to restart timing of the escape intervals, and the pulse widths of the pacing pulses. As another example, the pace timing and control module may define a blanking period, and provide signals to electrical sensing module <b>112</b> to blank one or more channels, e.g., amplifiers, for a period during and after delivery of electrical stimulation to heart <b>12</b>. The durations of these intervals may be determined by processor <b>100</b> in response to stored data in memory <b>104</b>. The pacer timing and control module of processor <b>100</b> may also determine the amplitude of the cardiac pacing pulses.
p-0066During pacing, escape interval counters within the pacer timing/control module of processor <b>100</b> may be reset upon sensing of R-waves and P-waves with detection channels of electrical sensing module <b>112</b>. Signal generator <b>108</b> may include pacer output circuits that are coupled, e.g., selectively by a switching module, to any combination of electrodes <b>140</b>, <b>142</b>, <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b>, <b>158</b>, <b>162</b>, or <b>166</b> appropriate for delivery of a bipolar or unipolar pacing pulse to one of the chambers of heart <b>12</b>. Processor <b>100</b> may reset the escape interval counters upon the generation of pacing pulses by signal generator <b>108</b>, and thereby control the basic timing of cardiac pacing functions, including anti-tachyarrhythmia pacing.
p-0067The value of the count present in the escape interval counters when reset by sensed R-waves and P-waves may be used by processor <b>100</b> to measure the durations of R-R intervals, P-P intervals, P-R intervals and R-P intervals, which are measurements that may be stored in memory <b>104</b>. Processor <b>100</b> may use the count in the interval counters to detect a tachyarrhythmia event, such as an atrial or ventricular fibrillation (VF) or ventricular tachycardia (VT).
p-0068In some examples, processor <b>100</b> may operate as an interruptdriven device that is responsive to interrupts from pacer timing and control module, where the interrupts may correspond to the occurrences of sensed P-waves and R-waves and the generation of cardiac pacing pulses. Any necessary mathematical calculations to be performed by processor <b>100</b> and any updating of the values or intervals controlled by the pacer timing and control module of processor <b>100</b> may take place following such interrupts. A portion of memory <b>104</b> may be configured as a plurality of recirculating buffers, capable of holding series of measured intervals, which may be analyzed by processor <b>100</b> in response to the occurrence of a pace or sense interrupt to determine whether the patient's heart <b>12</b> is presently exhibiting atrial or ventricular tachyarrhythmia.
p-0069In some examples, an arrhythmia detection method may include any suitable tachyarrhythmia detection algorithms. In one example, processor <b>100</b> may utilize all or a subset of the rule-based detection methods described in U.S. Pat. No. 5,545,186 to Olson et al., entitled, “PRIORITIZED RULE BASED METHOD AND APPARATUS FOR DIAGNOSIS AND TREATMENT OF ARRHYTHMIAS,” which issued on Aug. 13, 1996, in U.S. Pat. No. 5,755,736 to Gillberg et al., entitled, “PRIORITIZED RULE BASED METHOD AND APPARATUS FOR DIAGNOSIS AND TREATMENT OF ARRHYTHMIAS,” which issued on May 26, 1998, or in U.S. patent application Ser. No. 10/755,185, filed Jan. 8, 2004 by Kevin T. Ousdigian, entitled “REDUCING INAPPROPRIATE DELIVERY OF THERAPY FOR SUSPECTED NON-LETHAL ARRHYTHMIAS.” U.S. Pat. No. 5,545,186 to Olson et al., U.S. Pat. No. 5,755,736 to Gillberg et al., and U.S. patent application Ser. No. 10/755,185 by Kevin T. Ousdigian are incorporated herein by reference in their entireties. However, other arrhythmia detection methodologies may also be employed by processor <b>100</b> in other examples.
p-0070In the event that processor <b>100</b> detects an atrial or ventricular tachyarrhythmia based on signals from electrical sensing module <b>112</b>, and an anti-tachyarrhythmia pacing regimen is desired, timing intervals for controlling the generation of anti-tachyarrhythmia pacing therapies by signal generator <b>108</b> may be loaded by processor <b>100</b> into the pacer timing and control module to control the operation of the escape interval counters therein and to define refractory periods during which detection of R-waves and P-waves is ineffective to restart the escape interval counters.
p-0071If IMD <b>16</b> is configured to generate and deliver defibrillation shocks to heart <b>12</b>, signal generator <b>108</b> may include a high voltage charge circuit and a high voltage output circuit. In the event that generation of a cardioversion or defibrillation shock is required, processor <b>100</b> may employ the escape interval counter to control timing of such cardioversion and defibrillation shocks, as well as associated refractory periods. In response to the detection of atrial or ventricular fibrillation or tachyarrhythmia requiring a cardioversion shock, processor <b>100</b> may activate a cardioversion/defibrillation control module, which may, like the pacer timing and control module, be a hardware component of processor <b>100</b> and/or a firmware or software module executed by one or more hardware components of processor <b>100</b>. The cardioversion/defibrillation control module may initiate charging of the high voltage capacitors of the high voltage charge circuit of signal generator <b>108</b> under control of a high voltage charging control line.
p-0072Processor <b>100</b> may monitor the voltage on the high voltage capacitor, e.g., via a voltage charging and potential (VCAP) line. In response to the voltage on the high voltage capacitor reaching a predetermined value set by processor <b>100</b>, processor <b>100</b> may generate a logic signal that terminates charging. Thereafter, timing of the delivery of the defibrillation or cardioversion pulse by signal generator <b>108</b> is controlled by the cardioversion/defibrillation control module of processor <b>100</b>. Following delivery of the fibrillation or tachycardia therapy, processor <b>100</b> may return signal generator <b>108</b> to a cardiac pacing function and await the next successive interrupt due to pacing or the occurrence of a sensed atrial or ventricular depolarization.
p-0073Signal generator <b>108</b> may deliver cardioversion or defibrillation shocks with the aid of an output circuit that determines whether a monophasic or biphasic pulse is delivered, whether housing electrode <b>158</b> serves as cathode or anode, and which electrodes are involved in delivery of the cardioversion or defibrillation pulses. Such functionality may be provided by one or more switches or a switching module of signal generator <b>108</b>.
p-0074IMD <b>16</b> may comprise one or more sensors, such as sensor <b>116</b> illustrated in the example of <figref idrefs="DRAWINGS">FIG. 3</figref>. Sensor <b>116</b> may be located on or within on or more of leads <b>18</b>, <b>20</b> and <b>22</b>, or another lead which may or may not include stimulation/sensing electrodes. In some examples, sensor <b>116</b> may be separately housed from IMD <b>16</b>, and may be coupled to IMD <b>16</b> via wireless communication. Sensor <b>116</b> may be implanted or external.
p-0075Sensor <b>116</b> may comprise, as examples, a pressure sensor, a motion sensor, a heart sound sensor, or any sensor capable of generating a signal that varies a function of mechanical activity, e.g., contraction, of heart <b>12</b>. A pressure sensor may be, for example, a capacitive pressure sensor that senses an intracardiac or other cardiovascular pressure. A motion sensor may be, for example, an accelerometer or piezoelectric element. Processor <b>100</b> may receive one or more signals from sensor <b>116</b> or a plurality of sensors. Processor <b>100</b> may monitor, among other things, the mechanical activity of heart <b>12</b> based on such signals.
p-0076Telemetry module <b>120</b> includes any suitable hardware, firmware, software or any combination thereof for communicating with another device, such as programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). Under the control of processor <b>100</b>, telemetry module <b>120</b> may receive downlink telemetry from and send uplink telemetry to programmer <b>64</b> with the aid of an antenna, which may be internal and/or external. Processor <b>100</b> may provide the data to be uplinked to programmer <b>64</b> and the control signals for the telemetry circuit within telemetry module <b>120</b>, e.g., via an address/data bus.
p-0077In some examples, processor <b>100</b> may transmit atrial and ventricular heart signals (e.g., EGM signals) produced by atrial and ventricular sense amp circuits within electrical sensing module <b>112</b> to programmer <b>64</b> and/or computing device <b>76</b>. Programmer <b>64</b> and/or computing device <b>76</b> may interrogate IMD <b>16</b> to receive the EGMs and/or other data. Processor <b>100</b> may store EGMs within memory <b>104</b>, and retrieve stored EGMs from memory <b>104</b>. Processor <b>100</b> may also generate and store marker channel codes indicative of different cardiac events that electrical sensing module <b>112</b> detects, such as ventricular and atrial depolarizations, and transmit the marker codes to programmer <b>64</b>. In some examples, the marker codes are further processed by a post processing device (e.g., the programmer <b>64</b> or computing device <b>76</b>) having an episode classifier. The post processing device may be used, for example, to verify cardiac events sensed by the electrical sensing module <b>112</b>. An example pacemaker with marker-channel capability is described in U.S. Pat. No. 4,374,382 to Markowitz, entitled, “MARKER CHANNEL TELEMETRY SYSTEM FOR A MEDICAL DEVICE,” which issued on Feb. 15, 1983 and is incorporated herein by reference in its entirety.
p-0078In some examples, processor <b>100</b> may perform a morphological analysis on the EGM to characterize the beats of the EGM. For example, a morphological analysis may include any one or more of an amplitude regularity analysis, an analysis of the width of the QRS complex or other features of the EGM, or an analysis of slew rates. In some examples, a morphological analysis may involve a wavelet analysis, such as those described in U.S. Pat. No. 6,393,316, entitled “METHOD AND APPARATUS FOR DETECTION AND TREATMENT OF CARDIAC ARRHYTHMIAS,” which issued to Gillberg et al. on May 21. 2002, and U.S. Pat. No. 7,176,747, entitled “IDENTIFICATION OF OVERSENSING USING SINUS R-WAVE TEMPLATE,” which issued to Gunderson et al. on Jan. 23, 2007. In some examples, the analysis may include the far-field EGM analysis techniques described in U.S. Pat. No. 7,333,855 to Gunderson et al., entitled “METHOD AND APPARATUS FOR DETERMINING OVERSENSING IN A MEDICAL DEVICE,” which issued on Feb. 19, 2008. The entire content of each of U.S. Pat. Nos. 6,393,316, 7,176,747 and 7,333,855 is incorporated herein by reference in its entirety.
p-0079Processor <b>100</b> may store cardiac EGMs for physiological episodes, such as tachyarrhythmias, within episode logs <b>172</b> in memory <b>104</b>. For example, processor <b>100</b> may store cardiac EGMs for atrial and ventricular tachycardia (VT) and ventricular fibrillation (VF) episodes, in response to the detection of the tachycardia or fibrillation using any of the techniques described above. The EGM may include data collected by the IMD during detection of the tachyarrhythmia, as well as after detection, e.g., during treatment of the tachyarrhythmia. The data stored for the episode may also include a marker channel associated with the EGM. The marker channel may annotate the EGM with events detected by the IMD, such as ventricular or atrial depolarizations, as well an indication of when during the episode a responsive therapy was delivered by the IMD.
p-0080The various components of IMD <b>16</b> are coupled to power source <b>176</b>, which may include a rechargeable or non-rechargeable battery. A non-rechargeable battery may be capable of holding a charge for several years, while a rechargeable battery may be inductively charged from an external device, e.g., on a daily or weekly basis.
p-0081<figref idrefs="DRAWINGS">FIG. 4</figref> is a block diagram of a computing device, such as computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 2</figref>. It should be noted that certain functions and computations described as being carried out by computing device <b>76</b> may also be carried out by, independently or in conjunction with, programmer <b>64</b>. As shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, computing device <b>76</b> includes user interface <b>200</b>, memory <b>204</b>, telemetry module <b>208</b>, one or more processors <b>212</b>, and episode classifier module <b>216</b>.
p-0082User interface <b>200</b> allows a user to interact with computing device <b>76</b>. Examples of user interface <b>200</b> include a keypad embedded on computing device <b>76</b>, a keyboard, a mouse, a roller ball, buttons, or other devices that allow a user to interact with computing device <b>76</b>. Memory <b>204</b> stores instructions for applications that may be executed by one or more processors <b>212</b>. One or more processors <b>212</b> may include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or equivalent discrete or integrated logic circuitry. Additionally, the functions attributed to processor <b>212</b>, in this disclosure, may be embodied as software, firmware, hardware or any combination thereof. For purposes of illustration only, in the following description, applications that may be executed by one or more processors <b>212</b> are described below as being executed by processor <b>212</b>. The applications may be executed by processor <b>212</b> in response to a user interacting with user interface <b>200</b> to execute the applications. For example, processor <b>212</b> may execute a post processing application for analyzing EGMs that have been downloaded from an IMD, such as IMD <b>16</b> in response to a user launching the post processing application.
p-0083Memory <b>204</b> may also include instructions that cause processor <b>212</b> to perform various functions ascribed to processor <b>212</b> in this disclosure. Memory <b>204</b> may comprise a computer-readable, machine-readable, or processor-readable storage medium that comprises instructions that cause one or more processors, e.g., processor <b>212</b>, to perform various functions. Memory <b>204</b> may include any volatile, non-volatile, magnetic, optical, or electrical media, such as a random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, or any other digital media. In some embodiments, memory <b>204</b> may comprise one or more of a non-transitory/tangible storage media, where the data stored in such media may or may not change (e.g., ROM, RAM).
p-0084Telemetry module <b>208</b> includes any suitable hardware, firmware, software or any combination thereof for communicating with another device, such as IMD <b>16</b> (<figref idrefs="DRAWINGS">FIGS. 1 and 2</figref>). Under the control of processor <b>212</b>, telemetry module <b>208</b> may receive downlink telemetry from and send uplink telemetry to IMD <b>16</b> with the aid of an antenna, which may be internal and/or external. Processor <b>212</b> may provide the data received from IMD <b>16</b> to memory <b>204</b> or episode classifier module <b>216</b> via an address/data bus.
p-0085In some examples, episode classifier module <b>216</b> may apply one or more algorithms and/or execute other instructions for processing EGMs, electrocardiograms (ECGs) or other signals generated by a heart monitoring or pacing apparatus. As described above, IMD <b>16</b> may perform a variety of analyses to identify episodes of arrhythmia and/or tachyarrhythmia. In particular, IMD <b>16</b> may identify episodes of ventricular tachycardia and/or ventricular fibrillation and deliver appropriate therapy, such as pacing, cardioversion or defibrillation therapy. However, it may be desirable to verify that episodes detected and identified by IMD <b>16</b> were properly identified and characterized. For example, in some instances, the analyses executed by processor <b>100</b> of IMD <b>16</b> may improperly identify an episode due to sensing, processing, time or other limitations. In such cases, a trained professional, such as a clinician or doctor may wish to analyze EGMs from IMD <b>16</b> further using episode classifier module <b>216</b> of computing device <b>76</b>. The data gathered during this “post processing” (e.g., upon retrieving and processing episode data including EGM data, marker channel data, episode detection data, or other data from IMD <b>16</b>) can be used, for example, by the trained professional to adjust the manner in which IMD <b>16</b> provides therapy.
p-0086Episode classifier module <b>216</b> may, in some examples, be used for post-processing to identify changes in morphology and to indicate a particular type of episode. For example, changes in morphologies at the onset of an arrhythmia may indicate ventricular tachycardia (VT) and/or ventricular fibrillation (VF). In some examples, episode classifier module <b>216</b> can include a morphology change detection algorithm that retrospectively determines if a ventricular morphology change occurred at the onset of an arrhythmia. As described in greater detail below, the morphology change detection algorithm may utilize EGMs and marker data to identify morphology changes. While the episode classifier module <b>216</b> is described herein as processing EGMs during a post-processing phase, in other examples, the techniques ascribed to classifier module <b>216</b> may be carried out an IMD (e.g., such as IMD <b>16</b>), for example, to delivery an appropriate therapy.
p-0087According to some aspects of the disclosure, episode classifier module <b>216</b> may utilize techniques for analyzing EGMs described with respect to <figref idrefs="DRAWINGS">FIGS. 6-19</figref> below for identifying changes in morphology. For example, according to an aspect of the disclosure, episode classifier module <b>216</b> captures individual beats of an EGM, compares the captured beats to a template beat, and classifies the beat according to the comparison. In some examples, episode classifier module <b>216</b> compares captured beats to template beats by positioning or “sliding” the template beat over a beat under consideration, and generating a correlation value at each incremental position. In other examples, episode classifier module <b>216</b> positions a template beat in a plurality of specific positions with respect to a beat under consideration, and generates a correlation value at each of the designated positions. For example, episode classifier module <b>216</b> may align the beats according to the P, Q, R, and/or S points of the beats, according to the maximum or minimum values of the beats, or according to other beat characteristics.
p-0088According to another aspect of the disclosure, episode classifier module <b>216</b> captures individual beats of an EGM, generates a profile of a captured beat, compares the profile of the captured beat to a template beat profile, and classifies the captured beat according to the comparison of the profiles. For example, episode classifier module <b>216</b> generates a profile of a beat based on distances between inflection points of the beat (e.g., horizontal and/or vertical distances), or other characteristics such as the amplitudes of the P, Q, R, and S points of the beat. Inflection points can be identified, for example, by monitoring the EGM signal and determining when the signal transitions between an increasing signal (e.g., increasing voltage) and a decreasing signal (e.g., decreasing voltage). Episode classifier module <b>216</b> then compares the profile of a beat under consideration to a template beat profile, and uses that comparison to classify the beat under consideration.
p-0089According to another aspect of the invention, after comparing and classifying beats, episode classifier module <b>216</b> groups the beats according to their classifications. In some examples, episode classifier module <b>216</b> averages all beats of a group of beats to produce a representative template beat for the group. For example, all beats classified as belonging to a certain template are averaged (e.g., the peaks of the beats are averaged) to produce a single template beat that inherently includes characteristics of all the contributing beats. In some other examples, episode classifier module <b>216</b> dynamically selects a plurality of beats from a group of beats to compare to a beat under analysis. For example, morphology change detection algorithm may select the first beat of a group and the last beat added to the group for comparison to a beat under analysis.
p-0090According to another aspect of the disclosure, episode classifier module <b>216</b> identifies a transition period between a first group of beats and a second group of beats. For example, episode classifier module <b>216</b> recursively removes certain beats of the transition period from consideration to avoid a false detection of multiple morphology changes. By recursively removing beats in the transition period, episode classifier module <b>216</b> can identify boundaries of a transition period where the beats transition from one morphology to another.
p-0091While certain techniques are described herein as being carried out by episode classifier module <b>216</b>, in other examples, such methods and processes may be carried out by processor <b>212</b>. For example, certain techniques ascribed as being carried out by episode classifier module <b>216</b> may be carried out by processor <b>212</b>. In addition, while episode classifier module <b>216</b> is described as being included in computing device <b>76</b>, in other examples, episode classifier module <b>216</b> may be incorporated in programmer <b>64</b> or IMD <b>16</b>.
p-0092<figref idrefs="DRAWINGS">FIG. 5</figref> is a representation of an EGM <b>260</b> having a first heartbeat pattern <b>264</b> and a second heartbeat pattern <b>268</b>. EGM <b>260</b> may be generated, for example, by IMD <b>16</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 3</figref>) and stored in episode logs <b>172</b>. In addition, EGM <b>260</b> may be transferred from episode logs <b>172</b> to computing device <b>76</b> or programmer <b>64</b> for post processing. For example, in some examples, EGM <b>260</b> can be analyzed using episode classifier module <b>216</b> (<figref idrefs="DRAWINGS">FIG. 4</figref>) to identify morphology changes. As described above, changes in heartbeats can be used to signal an arrhythmia and, more particularly, a VT episode or VF episode. In particular, analysis of the EGM waveform may permit discrimination between VT/VF episodes and supraventricular tachycardia (SVT) episodes. In some examples, the EGM <b>260</b> may be analyzed by episode classifier module <b>216</b> of computing device <b>76</b>.
p-0093<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow diagram illustrating an example method for detecting changes in morphology. In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 6</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 6</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 6</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 6</figref>. For example, in some other examples, the method shown in <figref idrefs="DRAWINGS">FIG. 6</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0094In some aspects of the disclosure, the method of <figref idrefs="DRAWINGS">FIG. 6</figref> is used for processing an EGM. For example, an IMD, such as IMD <b>16</b>, can be used to monitor the heartbeat of a patient and generate electrical signal(s) based on the heartbeat. IMD <b>16</b> can convert the signals to produce a digital waveform having a plurality of samples (e.g., analog to digital converting of the electrical signals). According to the method shown in <figref idrefs="DRAWINGS">FIG. 6</figref>, computing device <b>76</b> captures individual beats (e.g., a number of digital samples representing a single beat) of an EGM for further analysis (<b>280</b>). Capturing individual beats and separating them from the other beats of the EGM allows the beats to be compared to one or more known, template beats (e.g., digital samples of a known heartbeat waveform). Computing device <b>76</b> may capture the beats, for example, by setting a “window” around the individual beats, thereby separating one beat from the other beats of the EGM. In some examples, computing device <b>76</b> sets the window according to a predetermined number of EGM samples around a particular characteristic of a beat. For example, a beat include a marker or other identifying characteristic (e.g., a peak of a beat). Computing device <b>76</b> can set a symmetric window, then, by counting a certain number of EGM samples on both sides of the identifying characteristic (e.g., 10 samples on each side of the identifying characteristic, 15 samples on each side of the identifying characteristic, 30 samples on each side of the identifying characteristic, etc). In other examples, computing device <b>76</b> can also set an asymmetric window around an identifying characteristic of a beat. For example, computing device <b>76</b> may set a window that is 10 samples prior to an R-wave point of the beat, and 20 samples after the R-wave point of the beat. By setting an asymmetrical window around a certain identifying characteristic of the beat (e.g., the R-wave), the computing device <b>76</b> can focus on morphological changes associated with a certain portion of the beat.
p-0095In other examples, as described in greater detail with respect to <figref idrefs="DRAWINGS">FIGS. 7 and 8</figref>, the window around a particular beat may be determined according to characteristics of the beat. For example, computing device <b>76</b> may have the ability to apply a customizable window around a beat being captured, according to the characteristics the beat. In some examples, computing device <b>76</b> may determine the size and position of the window according to changes in the beat (e.g., amplitude changes with respect to a baseline value), P, Q, R, or S points of a beat, changes in the derivative of the signal associated with the beat, or maximum or minimum points of a beat. Alternatively or additionally, computing device <b>76</b> may set an initial window around a characteristic of a beat (e.g., an R-wave point of the beat) and increase or decrease the size of the window according to characteristics of the samples included in the initial window. For example, if the samples of a current windowed beat are [1, 2, 3, 4, 5, 5, 4, 3, 2, 1], computing device <b>76</b> may use the history of the samples (e.g., samples decremented by one) to generate a wider window. Computing device <b>76</b> may expand the window to include [−4, −3, −2, −1, 0, 1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 0, −1, −2, −3, −4]. In another example, computing system <b>76</b> may be configured to repeat the last known sample. For example, computing device <b>76</b> may expand the window to include [1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1].
p-0096Applying a customizable window may help to ensure, for example, that only a single beat is being captured at one time. Capturing more than one beat with a window may lead to inaccurate comparison results, as the template beats are typically singular beats.
p-0097After a beat has been captured, computing device <b>76</b> correlates the windowed beat to one or more predetermined beat templates (<b>282</b>). The beat templates may represent known beat patterns and may be stored, for example, in a template database. According to some aspects of the disclosure, computing device <b>76</b> correlates the windowed beat to a template beat by generating a normalized cross correlation value between two beats. In some examples, computing device <b>76</b> generates a single cross correlation value for the windowed beat and the template beat. In other examples, computing device <b>76</b> generates multiple correlation values for the windowed beat and the template beat by “sliding” the template beat in multiple positions with respect to the windowed beat, and generating a correlation value at each position. In other examples, computing device generates multiple correlation values for the windowed beat and the template beat by positioning the template beat in a plurality of specific positions with respect to the windowed beat, and generating a correlation value at each specific position. In other examples, computing device <b>76</b> correlates the beats by generating a profile of the windowed beat according to certain characteristics of the beat, and comparing the profile of the windowed beat to a profile of a template beat.
p-0098In some examples, computing device <b>76</b> correlates the windowed beat to a template beat by generating a single normalized cross correlation value between the windowed beat and the template beat. For example, computing device <b>76</b> may compare all of the samples associated with a windowed beat to all of the samples associated with the template beat to generate a correlation value. In some examples, computing device generates the normalized cross correlation value using Equation (1) below:
p-0099<maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mtable><mtr><mtd><mrow><mi>ρ</mi><mo>=</mo><mrow><mfrac><mn>1</mn><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></mfrac><mo></mo><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo></mo><mfrac><mrow><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mi>_</mi></mover></mrow><mo>)</mo></mrow><mo></mo><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mover><mi>y</mi><mi>_</mi></mover></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>σ</mi><mi>x</mi></msub><mo></mo><msub><mi>σ</mi><mi>y</mi></msub></mrow></mfrac></mrow></mrow></mrow></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
p-0100where x<sub>i </sub>represents a current sample of the windowed beat; y, represents a current sample of the template beat; <o>x</o> represents a mean of windowed beat samples; y represents a mean value of template beat samples; σ<sub>x </sub>represents a standard deviation of all windowed beat samples; and σ<sub>y </sub>represents a standard deviation of all template beat samples.
p-0101Computing device <b>76</b> may, according to some examples, generate a single correlation value by aligning the windowed beat and the template beat according to a “best fit” position and calculating the normalized cross correlation value shown in Equation (1). For example, computing device <b>76</b> determines a peak point, marker point, or other characteristic of the template beat and aligns the peak point of the template beat with a peak point of the windowed beat. Computing device <b>76</b> then generates the normalized cross correlation value between the windowed beat and the template beat. The cross correlation may be, in some cases, indicative of a similarity between the windowed beat and the template beat.
p-0102In other examples, computing device <b>76</b> may correlate a windowed beat to a template beat (<b>282</b>) by generating a plurality of correlation values for the same windowed beat and template pair. For example, as described in greater detail with respect to <figref idrefs="DRAWINGS">FIGS. 9 and 10</figref>, computing device <b>76</b> generates a plurality of correlation values by positioning or “sliding” the template beat over a beat under consideration, and generating a correlation value at each incremental position. Computing device <b>76</b> can then determine the maximum correlation between the windowed beat and the template beat by determining a maximum cross correlation value of all of the increments. The maximum correlation may then be accepted, by classifier module <b>216</b> of computing device <b>76</b>, as the final correlation value between the template and the beat. Generating multiple cross correlations for the same windowed beat/template beat pair at different intervals may reduce correlation errors introduced by errors in finding a single, “best fit” position at which to apply the template.
p-0103In other examples, computing device <b>76</b> may correlate a windowed beat to a template beat (<b>282</b>) by generating a plurality of correlation values for the windowed beat and a template beat by positioning the template beat in a plurality of specific positions with respect to the windowed beat. Computing device <b>76</b> then generates a correlation value at each of the designated positions. For example, computing device <b>76</b> may align the beats according to the P, Q, R, and/or S points of the beats, according to the maximum or minimum values of the beats, or according to other beat characteristics, and generate a correlation value at each of the points. Computing device <b>76</b> can then determine the maximum correlation between the windowed beat and the template beat by determining a maximum cross correlation value of all of the positions. The maximum correlation may then be accepted, by classifier module <b>216</b> of computing device <b>76</b>, as the final correlation value between the template and the beat.
p-0104In other examples, computing device <b>76</b> can also correlate beats (<b>282</b>) in a variety of manners other than using generating cross correlation values (e.g., generating values using Equation (1)). For example, as described in greater detail with respect to <figref idrefs="DRAWINGS">FIGS. 11-13</figref>, computing device <b>76</b> may also correlate beats by generating a profile of characteristics of a windowed beat, and comparing the profile of the windowed beat to a template beat having known characteristics. Example characteristics may include an amplitude of inflection points of the windowed beat, width between inflection points of the windowed beat, or other beat characteristics. For example, other characteristics may include one or more slope measurements of the beat, as well as notching associated with the beat (e.g., a “notched” portion of a wave wherein the amplitude of the wave decreases slightly and subsequently increases, thereby creating a depression, or notch, in the wave).
p-0105In some examples, computing device <b>76</b> may assign more weight to some characteristics of a given profile when comparing the profile of a windowed beat to a profile of a template beat. For example, computing device <b>76</b> may generate a profile correlation score that is made up of correlation values for each characteristic included in the profiles. In such an example, computing device <b>76</b> may give more weight to the amplitude measurements of the profile than to width measurements between inflection points of the profile or to the slope measurements of the profile. Accordingly, computing device <b>76</b> may indicate a high correlation between a windowed beat and a template beat if the amplitudes of the beats are similar, even if other characteristics of the profiles are not as highly correlated. In some examples, computing device <b>76</b> can dynamically change the weights assigned to certain characteristics of the profile according to characteristics of the EGM signal. For example, computing device <b>76</b> may alter a weight assigned to the amplitude characteristics of a beat based on the resolution of the EGM signal (e.g., a low resolution EGM signal causes computing device <b>76</b> to assign a higher weight to the amplitude characteristics).
p-0106According to some aspects of the disclosure, computing device <b>76</b> may implement more than one method of correlating beats (<b>282</b>) simultaneously or in succession. For example, computing device <b>76</b> may complete a plurality of correlation methods for a single windowed beat. Computing device <b>76</b> may independently evaluate each of the implemented correlation methods or weigh the results of the correlation methods according to a predetermined algorithm (e.g., provide a different importance, or weight, to each correlation method of a plurality of correlation methods). The amount of importance assigned to a certain correlation method may be determined through testing. For example, a trained professional may determine the optimal weights for each correlation method of a multiple correlation method system by adjusting different weighting scenarios using a known EGM dataset. The trained professional can select the optimal weights to be applied to the correlation methods to achieve the most accurate comparison between a windowed beat and a template beat. For example, the trained professional can visually indentify when beats are similar, and select the weighting scheme that produces a high correlation value for similar beats. Further, the trained profession can visually identify when beats are not similar, and select a weighting scheme that ensures a high correlation value is not produced. In some examples, the weighting scheme may also be altered during processing. For example, a user, such as a trained professional, can monitor the accuracy of the weighting scheme and periodically provide input to optimize the weighting scheme.
p-0107According to an example in which multiple correlation methods are implemented, computing device <b>76</b> may first determine a correlation between a windowed beat and a template beat by “sliding” the template beat over the windowed beat incrementally, calculating a cross correlation at each increment, and selecting a maximum correlation between the windowed beat and the template beat (e.g., <figref idrefs="DRAWINGS">FIGS. 9-10</figref>). Computing device <b>76</b> may then verify those correlation results by generating a profile of characteristics of the windowed beat, and comparing the profile of the windowed beat to a profile of a template beat having known characteristics (e.g., <figref idrefs="DRAWINGS">FIGS. 11-13</figref>). In some examples, computing device <b>76</b> may assign higher weight to the results of the profile correlation. For example, computing device <b>76</b> may determine that the windowed beat and the template beat are not highly correlated, even if the beats have a relatively high cross correlation value if the beat profiles are not highly correlated.
p-0108In other examples, computing device <b>76</b> may also dynamically alter the manner in which multiple correlation methods are used. For example, computing device <b>76</b> may dynamically change the weighting assigned to a correlation value generated using a correlation equation and a profile correlation according to the resolution of the EGM signal. In such an example, computing device <b>76</b> may assign relatively less weight to a cross-correlation calculation and relatively more weight to a profile correlation for an EGM signal having a relatively low resolution.
p-0109Referring still to <figref idrefs="DRAWINGS">FIG. 6</figref>, after correlating beats (<b>282</b>), computing device <b>76</b> can group similarly correlated beats of an EGM together (<b>284</b>). For example, according to some aspects of the disclosure, computing device <b>76</b> assigns each analyzed beat to a template according to the correlation results of step <b>282</b>. Computing device <b>76</b> then groups the beats according to the template assignment. Grouping similarly correlated beats of an EGM may allow computing device <b>76</b> to identify changes in morphology. For example, computing device <b>76</b> may recognize a change in morphology based on a transition one group of beats to another group of beats in successive beats. In addition, computing device <b>76</b> can update or modify templates based on new beats being assigned to a group. For example, as described in greater detail with respect to <figref idrefs="DRAWINGS">FIGS. 14-17</figref>, computing device <b>76</b> may group beats (<b>284</b>) and generate new templates from the groups of beats in a variety of manners. In some examples, computing device <b>76</b> generates a template by averaging all of the beats of a particular group. In other examples, computing device <b>76</b> generates more than one template by selecting a plurality of beats of a group of beats as representative beats.
p-0110Grouping beats may help to prevent false identifications of morphology changes (“false positives”). For example, beats of an EGM may change slightly over time. Slight changes in beat shape may be exaggerated if computing device <b>76</b> is comparing two beats that are not close in time. As such, if computing device <b>76</b> generates if a template beat on the first beat of an EGM and applies that template to all of the beats of the EGM, a beat later in time may not closely correlate with the template beat, even though the beat is the same type of beat as the template beat. Grouping beats and generating templates according to the groups can smooth inherent inconsistencies in beats over time.
p-0111Computing device <b>286</b> also makes a morphology change decision based on beat correlations and/or beat groupings (<b>286</b>). For example, computing device determines when morphologies of a given EGM change based on beat correlations and/or beat groupings (<b>286</b>). In some examples, computing device <b>76</b> uses detected changes in morphology to classify an episode (e.g., classify a VT, VF, or SVT episode). In other examples, computing device <b>76</b> uses detected changes in morphology to verify identifications of episodes by an IMD, such as IMD <b>16</b>.
p-0112<figref idrefs="DRAWINGS">FIG. 7</figref> is a representation of an EGM <b>300</b> having an analysis window <b>304</b> that has been applied to a single beat <b>308</b> having a plurality of associated profile points <b>312</b>. In some examples, the processes described herein as being carried out on EGM <b>300</b> may be carried out by computing device <b>76</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 4</figref>). For example, computing device <b>76</b> may apply analysis window <b>304</b> and profile points <b>312</b> to beat <b>308</b> of EGM <b>300</b> using classifier module <b>216</b>. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 6</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the EGM processing shown in <figref idrefs="DRAWINGS">FIG. 7</figref>.
p-0113Computing device <b>76</b> may apply window <b>304</b> around beat <b>308</b> of EGM <b>300</b> in order to separate beat <b>308</b> from the other beats of EGM <b>300</b>. In some examples, computing device <b>76</b> applies window <b>304</b> beat <b>308</b> of EGM <b>300</b> before comparing beat <b>308</b> to one or more template beats (e.g., digital samples of a known heartbeat waveform that can be used as a reference for comparison with other beats). For example, window <b>304</b> helps to isolate beat <b>308</b> for comparison to a single template beat. Isolating beat <b>308</b> can help to reduce possible inaccuracies associated with comparing more than one current beat (or only a portion of a current beat) to a template beat.
p-0114In some examples, as described in greater detail with respect to <figref idrefs="DRAWINGS">FIG. 8</figref> below, computing device <b>76</b> identifies a certain number of profile points <b>312</b> associated with beat <b>308</b> prior to setting the width and position of window <b>304</b>. Profile points <b>312</b> may be identified, for example, based on inflection points of the beat, the amplitude of the beat at P, Q, R, or S points, changes in the derivative of the beat signal, interval between maximum or minimum amplitude points of a beat, points at which the signal of the beat crosses an x-axis, or other profile points. After the profile points <b>312</b> have been identified, computing device <b>76</b> can accurately determine the beginning and ending points of beat <b>308</b> and apply window <b>304</b> according to those beginning and ending points. For example, after identifying profile points <b>312</b>, computing device <b>76</b> sets window <b>304</b> wide enough to capture all of the profile points <b>312</b> of beat <b>308</b>.
p-0115<figref idrefs="DRAWINGS">FIG. 8</figref> is a flow diagram illustrating an example method for applying an analysis window to a heartbeat of an EGM. In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 8</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 8</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 8</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref> and EGM <b>300</b> of <figref idrefs="DRAWINGS">FIG. 7</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 8</figref>. For example, in some other embodiments, the method shown in <figref idrefs="DRAWINGS">FIG. 8</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0116In some examples, computing device <b>76</b> initializes analysis of an EGM signal, such as EGM <b>300</b> shown in <figref idrefs="DRAWINGS">FIG. 7</figref> (<b>320</b>). Computing device <b>76</b> may initialize analysis of EGM <b>300</b> to detect changes in morphology. After analysis has begun, computing device <b>76</b> evaluates EGM <b>300</b> to identify one or more characteristics the signal. For example, computing device <b>76</b> may identify changes in EGM <b>300</b> with respect to a baseline, a positive or negative slew (e.g., events in the derivative of the EGM signal), maximum or minimum points of the signal, etc. After collecting one or more characteristics of EGM <b>300</b>, computing device <b>76</b> determines the end points of a single beat, such as beat <b>308</b> (<b>324</b>). For example, computing device <b>76</b> utilizes the gathered characteristics to determine a starting point and an ending point for a particular beat. Computing device <b>76</b> then sets a window, such as window <b>304</b>, around the starting and ending points of analysis to set a beat <b>308</b> apart from other beats of EGM <b>300</b> (<b>326</b>).
p-0117The method shown in <figref idrefs="DRAWINGS">FIG. 8</figref> can be repeated for each beat of EGM <b>300</b>. Because the window of analysis is tailored to the characteristics of a beat, the window is customizable for each beat under analysis. Applying a customizable window may aid in capturing a single beat at a time (e.g., rather than capturing a partial beat, or capturing more than one beat).
p-0118<figref idrefs="DRAWINGS">FIG. 9</figref> is a representation of correlating a template heartbeat <b>340</b> to a heartbeat under analysis <b>344</b> at multiple positions. In some examples, the correlation described in connection to <figref idrefs="DRAWINGS">FIG. 9</figref> may be carried out by computing device <b>76</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 4</figref>). For example, computing device <b>76</b> may correlate a template beat to a beat under analysis at one or more positions using classifier module <b>216</b>. Accordingly, for purposes of illustration only, <figref idrefs="DRAWINGS">FIG. 9</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized.
p-0119<figref idrefs="DRAWINGS">FIG. 9</figref> shows template beat <b>340</b> being positioned in time relative to beat <b>344</b> under analysis at a first position <b>348</b>, a second position <b>350</b>, and a third position <b>352</b> in time, where time proceeds from left to right. In some examples, the disclosure the distance between positions <b>348</b>-<b>352</b> may be more or less than those shown in <figref idrefs="DRAWINGS">FIG. 9</figref>, and additional, other positions may also be included. In the example shown in <figref idrefs="DRAWINGS">FIG. 9</figref>, computing device <b>76</b> generates a correlation value between template beat <b>340</b> and beat <b>344</b> when template beat <b>240</b> is placed at each position <b>348</b>-<b>352</b>. For example, computing device <b>76</b> may generate a correlation value between template beat <b>340</b> and beat under analysis <b>344</b> using Equation (1) above, although other methods of determining a correlation value could also be implemented. Computing device <b>76</b> can then use the correlation value to determine how similar beat under analysis <b>344</b> is to template beat <b>340</b>. The positioning of template beat <b>340</b> to obtain a maximum correlation may be important in determining an actual correlation between template beat <b>340</b> and beat under analysis <b>344</b>. For example, beats that are not aligned properly may result in a low correlation value, even though the template beat and beat under analysis are similar.
p-0120While <figref idrefs="DRAWINGS">FIG. 9</figref> shows template beat <b>340</b> in three positions <b>348</b>-<b>352</b>, computing device <b>76</b> may position template beat <b>340</b> in fewer or many more positions than those shown in <figref idrefs="DRAWINGS">FIG. 9</figref>. In some examples, computing device <b>76</b> incrementally “slides” template beat <b>340</b> over beat under analysis <b>344</b>, e.g., in a series of fixed size or differently sized increments, and generates a correlation value at each increment. Computing device <b>76</b> may implement <b>3</b>, <b>5</b>, <b>10</b>, <b>15</b>, <b>50</b>, or any other number of incremental positions for application of template beat <b>340</b> relative to beat <b>344</b> in order to determine a correlation between template beat <b>340</b> and beat under analysis <b>344</b>. The maximum correlation value produced among the positions is then accepted as the final correlation value between the template beat <b>340</b> and beat <b>344</b>.
p-0121<figref idrefs="DRAWINGS">FIG. 10</figref> is a flow diagram illustrating an example method of positioning a template heartbeat in a plurality of positions with respect to a beat under analysis, calculating correlation values at each position, and determining a position in which the correlation between the template beat and the beat under analysis is at a maximum (e.g., a maximum correlation value). In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 10</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 10</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 10</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 10</figref>. For example, in some other embodiments, the method shown in <figref idrefs="DRAWINGS">FIG. 10</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0122In some examples, computing device <b>76</b> initially selects a template, such as template beat <b>340</b> shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, to compare to a beat under analysis, such as beat <b>344</b> (<b>236</b>). Computing device <b>76</b> may select the last beat under analysis as a template, or may select a template from a database of known templates. In other examples, as described in greater detail with respect to <figref idrefs="DRAWINGS">FIGS. 14-17</figref>, computing device <b>76</b> may generate and select templates in a variety of other ways.
p-0123After selecting template beat <b>340</b> (<b>360</b>), computing device <b>76</b> positions template beat <b>340</b> relative to beat under analysis <b>344</b> (<b>363</b>). For example, computing device <b>76</b> may attempt to align template beat <b>340</b> and the beat under analysis <b>344</b> according to peak amplitudes of template beat <b>340</b> and beat under analysis <b>344</b> (e.g., by aligning the peak of the R-waves of template beat <b>340</b> and beat under analysis <b>344</b>). Computing device <b>76</b> may then reposition template beat <b>340</b> with respect to the first position (e.g., by incrementally moving template beat <b>340</b> left or right with respect to beat under analysis <b>344</b>). In other examples, computing device <b>76</b> may position template beat <b>340</b> at a first position prior to incrementally sliding template beat <b>340</b> over the beat under analysis <b>344</b> from left to right. Computing device <b>76</b> then determines if the position of template beat <b>340</b> is the final position for generating a correlation value for the selected template (<b>365</b>). For example, in methods that calculate a correlation value at more than one position for a given template (e.g., a predetermined, “n” number of positions), computing device <b>76</b> determines whether the current position is the final position for determining a correlation value.
p-0124If the current position of the template is not the final position, computing device <b>76</b> generates a correlation value (<b>368</b>), stores the correlation value (<b>372</b>) and increment or decrement the position of template beat <b>340</b> in time (<b>375</b>). For example, computing device <b>76</b> may increment the position of template beat <b>340</b> by repositioning template beat <b>340</b> to the right of the last position, or decrement the position of template beat by repositioning template beat <b>340</b> to the left of the last position. Computing device <b>76</b> can then generate a correlation value for the next position of template beat <b>340</b> following steps <b>365</b>-<b>375</b>. Computing device <b>76</b> may be configured to generate a correlation value in a variety of ways. For example, as described with respect Equation (1) above, computing device <b>76</b> may generate a cross correlation between the template beat and the beat under analysis. In another example, computing device <b>76</b> may generate a profile of the beat under analysis, and correlate the profile of the beat under analysis to the template (e.g., as described with respect to <figref idrefs="DRAWINGS">FIGS. 11-13</figref>).
p-0125Upon reaching the final position for the selected template, computing device <b>76</b> generates a final correlation value and determines a maximum correlation for the template (<b>378</b>). For example, computing device <b>76</b> may analyze all of the correlation values that were incrementally generated for different template positions and select the highest correlation between the template beat and the beat under analysis. In some examples, computing device <b>76</b> may then use the highest correlation value to determine whether the beat under analysis is similar to the template beat.
p-0126In some examples, multiple beat templates may be compared to a beat under analysis. In such examples, after determining a maximum correlation value for a particular beat template <b>340</b>, computing device <b>76</b> may determine whether there are any other beat templates to compare to the beat under analysis (<b>381</b>). If there are other beat templates for comparison to the beat under analysis, computing device <b>76</b> may select the next beat template and begin the process shown in <figref idrefs="DRAWINGS">FIG. 10</figref> again.
p-0127If there are no other beat templates to compare to the beat under analysis <b>344</b>, computing device <b>76</b> determines the closest match beat template to the template under analysis, or generates a new beat template (<b>384</b>). For example, if the beat under analysis <b>344</b> is highly correlated to one of the beat templates, computing device <b>76</b> may determine that the beat under analysis should be labeled according to that template. If, however, none of the beat templates correlate with the beat under analysis <b>344</b>, the beat under analysis may be used to generate a new beat template.
p-0128<figref idrefs="DRAWINGS">FIG. 11</figref> is a representation of a first beat <b>400</b> and a second beat <b>404</b> that are positioned with their peaks in alignment. According to some metrics, beats <b>400</b> and <b>404</b> are not similar. For example, beat <b>404</b> has larger deviations from a baseline prior to its peak value, while beat <b>400</b> exhibits a lower minimum point than beat <b>404</b>. Despite the differences between the beats, some correlation metrics may identify the beats as being similar. For example, according to some correlation calculations, the beats may be identified as being 95% similar. Accordingly, in some instances, another correlation metric can be used to determine a correlation between beats. For example, in some examples, comparing specific beat characteristics provides an additional metric with which to compare beats.
p-0129<figref idrefs="DRAWINGS">FIG. 12</figref> is a representation of a heartbeat having an associated heartbeat profile <b>420</b>.
p-0130In some examples, profile <b>420</b> may be generated by computing device <b>76</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 4</figref>). For example, computing device <b>76</b> may identify data points, generate measurements, etc., using classifier module <b>216</b>. Accordingly, for purposes of illustration only, <figref idrefs="DRAWINGS">FIG. 12</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, although various other systems and/or devices may be utilized.
p-0131In some examples, computing device <b>76</b> may generate profile <b>420</b> of a beat under analysis to compare to a known template profile generated from a template beat. The profile <b>420</b> may be compared to the template profile to determine how correlated the beat under analysis is to the template beat. Profile <b>420</b> may include a variety of beat characteristics and/or measurements. For example, computing device <b>76</b> may generate profile <b>420</b> in a variety of ways, identifying and measuring a variety of different beat characteristics. For example, computing device <b>76</b> may identify inflection points <b>424</b> of the beat, and generate a variety of measurements <b>428</b> associated with inflection points <b>424</b>. Computing device <b>76</b> may calculate the distance in time between inflection points <b>424</b>, amplitude changes between inflection points <b>424</b>, or other measurements associated with inflection points <b>424</b>. Computing device <b>76</b> may also identify or calculate a variety other beat characteristics for profile <b>420</b>. For example, computing device <b>76</b> may also identify “notching” in the beat under analysis, and include the notching metric in profile <b>420</b>.
p-0132According to one aspect of the disclosure, computing device <b>76</b> generates a profile by first identifying an initial starting point and an ending point for a beat. In some examples, the starting point and ending point for the beat are chosen according to the window that is applied to the beat (as described, for example, according to <figref idrefs="DRAWINGS">FIGS. 7 and 8</figref>). The starting and ending points are chosen far enough in time from each other that an entire beat is captured, but close enough in time so that portions of adjacent beats are not captured. The starting and ending points, e.g., size of the window, may vary based on heart rate. In the case of an R-wave, computing device <b>76</b> then builds the profile by identifying a maximum point (e.g., the maximum voltage of the EGM signal) as an R-point, and two most minimum points (e.g., the two most minimum voltages of the EGM signal) as a Q-point and an S-point. Computing device <b>76</b> then identifies whether notching is present in the R-wave, for example, by determining whether inflection points are present in the R-wave. After determining the Q, R, and S points of the wave, computing device <b>76</b> identifies local maxima to each side (e.g., forward and backward in time) of the identified Q and S points. Computing device <b>76</b> identifies the local maxima as a P-point and a T-point. The resulting profile includes, then, the dimensions of certain beat features (e.g., amplitudes of Q, R, S, P, and T waves) as well as the total duration of the beat, and whether notching is present in the R-wave.
p-0133Profile <b>420</b> may include certain correlation metrics that cannot be evaluated using a correlation equation. For example, applying a profile analysis to the beats <b>400</b> and <b>404</b> shown in <figref idrefs="DRAWINGS">FIG. 11</figref> may provide a more accurate indication of the correlation between beats <b>400</b> and <b>404</b> than applying a correlation equation. Accordingly, computing device <b>76</b> may compare each characteristic of a profile to a corresponding characteristic in a template profile. In some examples, the profile comparison is assigned a score based on how the characteristics in profile <b>420</b> compare to characteristics of a template profile. In some examples, certain characteristics may be weighted more heavily than others. For example, computing device <b>76</b> may assign more weight to some characteristics of profile <b>420</b> when comparing profile <b>420</b> to a template profile. In such an example, computing device <b>76</b> may give more weight to amplitude measurements of profile <b>420</b> than to duration measurements between inflection points of profile <b>420</b>, or to slope measurements of profile <b>420</b>. In some examples, computing device <b>76</b> can dynamically change the weights assigned to certain characteristics of profile <b>420</b> according to characteristics of the EGM signal. For example, computing device <b>76</b> may alter a weight assigned to the amplitude characteristics of profile <b>420</b> based on the resolution of the EGM signal (e.g., a low resolution EGM signal causes computing device <b>76</b> to assign a higher weight to amplitude characteristics).
p-0134<figref idrefs="DRAWINGS">FIG. 13</figref> is a flow diagram illustrating an example method of generating a heartbeat profile and applying the heartbeat profile to a number of heartbeat templates. In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 13</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 13</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 13</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 13</figref>. For example, in some other examples, the method shown in <figref idrefs="DRAWINGS">FIG. 13</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0135Computing device <b>76</b> first generates a profile, such as profile <b>420</b> shown in <figref idrefs="DRAWINGS">FIG. 12</figref>, of a beat currently being analyzed (<b>460</b>). As described with respect to <figref idrefs="DRAWINGS">FIG. 12</figref>, profile <b>420</b> may include a variety of characteristics of the beat under analysis. For example, profile <b>420</b> may include measurements <b>428</b> such as the distance between inflection points of the beat under analysis, the amplitude change between inflection points <b>424</b> of the beat under analysis, or other measurements associated with inflection points <b>424</b> of the beat under analysis. Profile <b>420</b> can be used to compare characteristics of the beat under analysis to a number of other template beats, and may include any useful measurement for comparison purposes.
p-0136After generating profile <b>420</b> of the beat under analysis (<b>460</b>), computing device <b>76</b> loads a template profile to compare to the profile of the beat under analysis (<b>464</b>). The template may be loaded from a data base of template profiles, or may be generated from the previous beat under analysis. Computing device <b>76</b> then compares profile <b>420</b> of the current beat under analysis to the template profile (<b>468</b>). Computing device <b>76</b> can use the comparison to determine a correlation between the beat under analysis and the template beat (<b>472</b>). For example, if the difference between profile <b>420</b> of the beat under analysis and the template profile is small, computing device <b>76</b> may determine that the profiles match. If, however, computing device <b>76</b> identifies differences between the profile of the beat under analysis and the template profile, computing device <b>76</b> may determine that the profiles do not match.
p-0137Computing device <b>76</b> may utilize one or more threshold values to determine whether the profiles match. For example, computing device <b>76</b> may determine that the profiles of the beat under analysis and the template beat do not match if the differences between one or more metrics associated with the profile (e.g., a distance between a pair of inflection points) exceed a predetermined value. Other methods of determining whether the profiles sufficiently match could also be used.
p-0138In some examples, computing device <b>76</b> may generate a single weighted profile score to determine whether profiles match. For example, computing device <b>76</b> may assign each comparison of characteristics in a profile a weight, and generate a composite score that accounts for each characteristic in a beat profile. In one example, computing device <b>76</b> generates a single weighted profile score according to Equation (2) below:
p-0139<br />ρ=(<i>w</i><sub>1</sub><i>·c</i><sub>1</sub>)+(<i>w</i><sub>2</sub><i>·c</i><sub>2</sub>)+(<i>w</i><sub>3</sub><i>·c</i><sub>3</sub>) (2)
p-0140where ρ is the correlation score, w<sub>n </sub>is a weight value, and c<sub>n </sub>is a comparison of a characteristic of a beat under analysis to a characteristic of a template beat (e.g., a comparison of amplitude values). Computing device <b>76</b> can use the weighted score to determine whether a beat under analysis is similar to a template beat. Computing device <b>76</b> may also use the weighted score to determine whether the beat under analysis can be grouped with other beats of the EGM. For example, if the beat under analysis has a weighted score that is similar to other, previously analyzed beats, computing device <b>76</b> may determine that the beat under analysis should be grouped with the previously analyzed beats. As described with respect to <figref idrefs="DRAWINGS">FIGS. 14-17</figref>, grouping beats may aid computing device <b>76</b> in identifying changes in morphology.
p-0141Additionally or alternatively, computing device <b>76</b> may generate multiple scores for each beat under analysis profile/template profile pair. For example, computing device <b>76</b> may, assign a likeness value to each comparison of characteristics included in a profile (e.g., a likeness value of “1” may be assigned to a characteristics of a template beat and a characteristic of a beat under consideration that are comparatively alike, and a likeness value of “0” for characteristics that are not alike). In this way computing device <b>76</b> can generate an array of likeness values. For example, for a profile that includes five characteristics, an array of likeness values may be represented as “0 1 1 0 1 1.” Computing device <b>76</b> can combine the array of likeness values to generate a single score (e.g., sum the likeness values, equaling four in the example provided above) to determine whether the beat under analysis is similar to the template beat. For example, a high aggregate score may be indicative of a high correlation between the beats. Computing device <b>76</b> may also use the comparison array to determine whether the beat under analysis can be grouped with other beats of the EGM. For example, if the beat under analysis has an array that is similar to other, previously analyzed beats, computing device <b>76</b> may determine that the beat under analysis should be grouped with the previously analyzed beats. As described with respect to <figref idrefs="DRAWINGS">FIGS. 14-17</figref>, grouping beats may aid computing device <b>76</b> in identifying changes in morphology.
p-0142If profile <b>420</b> of the beat under analysis matches the template profile, computing device <b>76</b> may classify or label the beat under analysis as being similar to the template profile. If profile <b>420</b> of the beat under analysis and the template profile do not match, computing device <b>76</b> may look for other template profiles to compare to the profile of the beat under analysis (<b>480</b>). For example, other template profiles may be available for comparison to the profile of the beat under analysis. If other template profiles are available, computing device <b>76</b> may return to step <b>464</b> and load the next template profile. In some examples, if computing device <b>76</b> has exhausted all template profiles, computing device <b>76</b> may store profile <b>420</b> of the beat under analysis as a new template (<b>484</b>) for future use.
p-0143In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 13</figref> may be incorporated into a more extensive correlation algorithm. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 13</figref> may be a portion of a correlation algorithm that includes other correlation measurements, such as the cross correlation Equation (1). According to an aspect of the present disclosure, computing device <b>76</b> first determines a correlation between a beat under analysis and a template beat by “sliding” the template beat to multiple reference positions over the beat under analysis incrementally, calculates a cross correlation value at each increment, and selects a maximum correlation value between the beat under consideration and the template beat. Computing device <b>76</b> then verifies that the beat under analysis and the template beat are correlated by generating a profile of characteristics of the beat under analysis, and comparing the profile of the beat under analysis to a template beat having known characteristics.
p-0144Additionally or alternatively, a number of other correlations methods could also be implemented with the profile comparison method shown in <figref idrefs="DRAWINGS">FIG. 13</figref>. For example, computing device <b>76</b> may also determine a correlation between the beat under analysis and the template beat using Pearson's Correlation Coefficient, Lin's Concordance Correlation Coefficient, a Winsorized Correlation, or an outlier trimmed correlation.
p-0145Computing device <b>76</b> may independently evaluate each of the implemented correlation methods or weigh the results of the correlation methods according to a predetermined algorithm (e.g., provide a different importance, or weight, to each correlation method of a plurality of correlation methods). The amount of importance assigned to a certain correlation method may be determined through testing. For example, a trained professional may determine the optimal weights for each correlation method of a multiple correlation method system by adjusting different weighting scenarios using a known EGM dataset. The trained professional can select the optimal weights to be applied to the correlation methods to achieve the most accurate comparison between a beat under comparison and a template beat. For example, the trained professional can visually indentify when beats are similar, and select the weighting scheme that produces a high correlation value for similar beats. Further, the trained profession can visually identify when beats are not similar, and select a weighting scheme that ensures a high correlation value is not produced. In some examples, the weighting scheme may also be altered during processing. For example, a user, such as a trained professional, can monitor the accuracy of the weighting scheme and periodically provide input to optimize the weighting scheme.
p-0146<figref idrefs="DRAWINGS">FIG. 14</figref> is a representation of an EGM having a group of similar heartbeats <b>500</b> that are averaged together and compared to a current beat under analysis <b>505</b>. In some examples, beats <b>500</b> may be averaged and compared to beat <b>505</b> by computing device <b>76</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 4</figref>). For example, computing device <b>76</b> may identify a group of beats, average the beats, and compare the average to a beat under analysis using classifier module <b>216</b>. The beats may be averaged, for example, by mathematically averaging voltage values of the EGM signal for the group of beats. Accordingly, for purposes of illustration only, <figref idrefs="DRAWINGS">FIG. 14</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized.
p-0147As described above, grouping beats may help to prevent false identifications of morphology changes (“false positives”). For example, beats of an EGM may change slightly over time. Slight changes in beat shape may be exaggerated if computing device <b>76</b> compares two beats that are not close in time. As such, if computing device <b>76</b> generates a template beat based on the first beat of an EGM and applies that template to all of the beats of the EGM, a beat later in time may not closely correlate with the template beat, even though the beat is the same type of beat as the template beat. Grouping beats and generating templates according to the groups can smooth inherent inconsistencies in beats over time.
p-0148In some examples, computing device <b>76</b> assigns a beat under analysis to a group of beats according to a template that exhibits the highest correlation to the beat under analysis. For example, computing device <b>76</b> may generate a template (e.g., “Template <b>0</b>”) for the first beat of an EGM, or select a template beat from a number of stored template beats for the first beat of an EGM based on a correlation between the first beat and the templates. Computing device <b>76</b> may then assign subsequent beats that are highly correlated to Template <b>0</b> to that template group (e.g., beats determined to be highly correlated according to any of the correlation methods described above).
p-0149In some examples, computing device <b>76</b> gathers all of the beats of a group, and the beats to produce a single beat template that incorporates characteristics of all of the constituent beats of the group. The new group beat template can then be compared to other beats for purposes of determining changes in morphology. For example, if a current beat under analysis is not sufficiently similar to the group template beat, computing device <b>76</b> may identify a change in morphology.
p-0150<figref idrefs="DRAWINGS">FIG. 15</figref> is a flow diagram illustrating an example method of comparing a heartbeat to a heartbeat template generated from an average of a plurality of similar heartbeats. In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 15</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 15</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 15</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 15</figref>. For example, in some other embodiments, the method shown in <figref idrefs="DRAWINGS">FIG. 15</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0151In some examples, computing device <b>76</b> begins by loading a new beat (e.g., loading new digital samples corresponding to a beat) for analysis, such as beat <b>505</b> shown in <figref idrefs="DRAWINGS">FIG. 14</figref> (<b>520</b>). Computing device <b>76</b> then compares beat under analysis <b>505</b> to a group average template beat (<b>524</b>). The group average template beat may be comprised of a number of similar beats. For example, as described above, computing device <b>76</b> may group beats based on the correlation of the beats to a template beat, such as group <b>500</b>. Computing device <b>76</b> may generate a group average template beat by averaging a plurality of the beats belonging to a certain group. In some examples, the group average beat is comprised of all of the beats of group <b>500</b>. In other examples, computing device may select certain beats of group <b>500</b>, and generate a group average beat based on the selected beats from group <b>500</b>.
p-0152Computing device <b>76</b> then determines whether beat under consideration <b>505</b> is correlated with the group average template beat (<b>528</b>). Computing device <b>76</b> may determine whether beat under analysis <b>505</b> is correlated to the group average template beat according to any of the correlation methods described herein. If beat under analysis <b>505</b> is sufficiently correlated to the group average template beat, computing device <b>76</b> can add beat under analysis <b>505</b> to group of beats <b>500</b> (<b>532</b>). Computing device can also update the group average template beat to include beat under analysis <b>505</b> (<b>532</b>).
p-0153In some examples, if beat under <b>505</b> analysis does not correlate well with the group average template beat, computing device <b>76</b> may compare beat <b>505</b> to other template beats to find a matching beat (<b>536</b>). In other examples, if computing device <b>76</b> does not find a suitable match with available stored template beats, computing device <b>76</b> may generate a new template beat (<b>536</b>). Computing device may also signal a change in morphology (<b>540</b>). For example, computing device <b>76</b> may notify a user (e.g., a trained professional, such as a clinician) that the morphology has changed when beat under analysis <b>505</b> does not match the group template beat.
p-0154<figref idrefs="DRAWINGS">FIG. 16</figref> is a representation of a heartbeat <b>560</b> of an EGM being compared a plurality of previous heartbeats. In some examples, beat <b>560</b> may be compared other previous beats by computing device <b>76</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 4</figref>). For example, computing device <b>76</b> may identify a group of beats, select certain beats of the group, and compare the beats to a beat under consideration using classifier module <b>216</b>. Accordingly, for purposes of illustration only, <figref idrefs="DRAWINGS">FIG. 16</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized.
p-0155As described above, grouping beats may help to prevent false identifications of morphology changes. In some examples, computing device <b>76</b> assigns a beat under analysis to a group of beats according to a template that exhibits the highest correlation to beat under analysis <b>560</b>. For example, computing device <b>76</b> may generate a template (e.g., “Template <b>0</b>”) for the first beat of an EGM, or select a template beat from a number of stored template beats for the first beat of an EGM based on a correlation between the first beat and the templates. Computing device <b>76</b> may then assign subsequent beats that are highly correlated to Template <b>0</b> to that template group (e.g., beats determined to be highly correlated according to any of the correlation methods described above). In addition, upon identifying a beat that is not similar to a previously identified group, computing device <b>76</b> may assign the beat to a different template (e.g., “Template <b>1</b>”). Accordingly, computing device <b>76</b> may assign a plurality of different templates to a plurality of different groups of beats of an EGM.
p-0156In some examples, computing device <b>76</b> may compare a beat under analysis, such as beat <b>560</b>, to a beat selected from each identified group of beats. Computing device <b>76</b> may also compare beat under analysis <b>560</b> to more than one beat of a particular group. For example, in some examples, computing device <b>76</b> may compare beat <b>560</b> to a first and last beat of consecutive beats of a group. In other examples, computing device <b>76</b> may select other beats from a group of beats to compare to beat <b>560</b>, or may compare all beats from a group of beats to compare to beat <b>560</b>.
p-0157In the example shown in <figref idrefs="DRAWINGS">FIG. 16</figref>, computing device <b>76</b> compares beat under analysis <b>560</b> to a first beat <b>564</b> of a first group of beats (e.g., “Group <b>0</b>”), as well as a last beat <b>568</b> of consecutive beats of the first group. Computing device <b>76</b> may also compare beat under analysis <b>560</b> to a beat <b>572</b> of a second group of beats (e.g., “Group <b>1</b>”). In examples where Group <b>1</b> includes more than one beat, computing device <b>76</b> may compare beat under analysis <b>560</b> to multiple beats of Group <b>1</b>. By comparing beat under analysis <b>560</b> to multiple beats, a the group having the highest correlation can be determined. Although the example of <figref idrefs="DRAWINGS">FIG. 16</figref> shows the beats <b>564</b>-<b>572</b> as consecutive beats, in some examples, computing device <b>76</b> compares beat <b>560</b> to other beats that are not adjacent to beat <b>560</b>. In addition, beats of a group, such as Group <b>0</b> shown in <figref idrefs="DRAWINGS">FIG. 16</figref>, need not be consecutive beats. For example, a group of beats may include similar beats that are spaced by one or more dissimilar beats.
p-0158<figref idrefs="DRAWINGS">FIG. 17</figref> is a flow diagram illustrating an example method of comparing a heartbeat to a plurality of heartbeat templates. In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 17</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 17</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 17</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 17</figref>. For example, in some other embodiments, the method shown in <figref idrefs="DRAWINGS">FIG. 17</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0159In some examples, computing device <b>76</b> begins by loading a new beat for analysis, such as beat <b>560</b> shown in <figref idrefs="DRAWINGS">FIG. 16</figref> (<b>600</b>). Computing device <b>76</b> then compares beat under analysis <b>560</b> to one or more template beats of each group of beats that have been previously identified by computing device <b>76</b> (<b>604</b>). In some examples, computing device <b>76</b> may compare beat under analysis <b>560</b> to more than one beat of each group. For example, computing device <b>76</b> may compare beat under analysis <b>560</b> to a first beat of a particular group, such as beat <b>564</b> shown in <figref idrefs="DRAWINGS">FIG. 16</figref>, as well as the last beat of that group, such as beat <b>568</b> shown in <figref idrefs="DRAWINGS">FIG. 16</figref>. In other examples, computing device <b>76</b> may select any other beats from a group of beats to compare to beat <b>560</b>.
p-0160Computing device <b>76</b> then determines whether beat under consideration <b>560</b> is correlated to with the selected template beat or beats (<b>608</b>). Computing device <b>76</b> may determine whether beat under analysis <b>560</b> is correlated to template beats according to any of the correlation methods described herein. If beat under analysis <b>560</b> is sufficiently correlated to the template beat or beats, computing device <b>76</b> can add beat under analysis <b>560</b> to the corresponding group of beats. Computing device <b>76</b> can also update the group of beats (<b>612</b>). For example, by adding the current beat under analysis <b>560</b> to the group of beats, the next beat under analysis can be compared to the current beat under analysis <b>560</b>. In examples where computing device <b>76</b> compares a beat under analysis to the first and last beats of a given group, the last beat of the group is updated with the newly added beat.
p-0161In some examples, if beat under analysis <b>560</b> does not correlate well with any of the template beats of any of the groups, computing device <b>76</b> may generate a new template beat (<b>616</b>). Computing device <b>76</b> may also signal a change in morphology (<b>540</b>). For example, computing device <b>76</b> may notify a user (e.g., a trained professional, such as a clinician) that the morphology has changed (<b>620</b>). Changes in morphology can be used, for example, to classify an episode (e.g., classify a VT, VF, or SVT episode), or verify past identifications of episodes.
p-0162<figref idrefs="DRAWINGS">FIG. 18</figref> is a representation of an EGM <b>600</b> having a transition period <b>664</b> between a first group of beats <b>668</b> and a second group of beats <b>672</b>. In some examples, transition period <b>664</b> may be determined by computing device <b>76</b> (<figref idrefs="DRAWINGS">FIGS. 2 and 4</figref>). For example, computing device <b>76</b> may identify transition period <b>664</b> between beats <b>668</b> and beats <b>672</b> using classifier module <b>216</b>. Accordingly, for purposes of illustration only, <figref idrefs="DRAWINGS">FIG. 18</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized.
p-0163In some examples, computing device <b>76</b> identifies transition period <b>664</b> between first group of beats <b>668</b> and second group of beats <b>672</b>. Identifying transition period <b>664</b> may aid in determining where a first predominant morphology ends and a second prominent morphology begins. By identifying transition period <b>664</b>, computing device <b>76</b> more closely replicates a morphology change decision that may made by a trained professional, such as a clinician or electrophysiologist. For example, transition period <b>664</b> provides for a period of ectopy, so that computing device <b>76</b> does not identify several changes in morphology in short succession when there is truly only a single change in morphology.
p-0164Computing device <b>76</b> may remove certain beats of transition period <b>664</b> from consideration to avoid a false detection of multiple morphology changes. In some examples, computing device <b>76</b> determines transition period <b>664</b> by identifying a leftmost beat of beats belonging to a first morphology, such as beats <b>668</b>, and a rightmost beat of beats belonging to a second morphology, such as beats <b>672</b>. Computing device then sets the transition period to include all beats between the identified leftmost and rightmost beats, as these are the beats that the system identifies as being irregular (e.g., neither similar with the first morphology nor with the second morphology) in nature.
p-0165After identifying transition period <b>664</b>, computing device <b>76</b> may then remove beats from consideration. For example, computing device determines which beat within transition period <b>664</b> has the fewest consecutive beats, and removes that beat from consideration. If no beat has more consecutive beats than another beat, both beats are removed consideration. Computing device <b>76</b> repeats the removal process until all beats of transition period <b>664</b> are similar. By recursively removing beats in the transition period, computing device <b>76</b> can better identify a transition from one morphology to another without falsely identifying multiple transitions.
p-0166<figref idrefs="DRAWINGS">FIG. 19</figref> is a flow diagram illustrating an example method of analyzing heartbeats associated with a transition period. In some examples, the method shown in <figref idrefs="DRAWINGS">FIG. 19</figref> may be carried out by computing device <b>76</b>. For example, the method shown in <figref idrefs="DRAWINGS">FIG. 19</figref> may be carried out by episode classifier module <b>216</b> to detect changes in morphology. Accordingly, for purposes of illustration only, the method of <figref idrefs="DRAWINGS">FIG. 19</figref> is described with respect to computing device <b>76</b> shown in <figref idrefs="DRAWINGS">FIG. 4</figref>, though various other systems and/or devices may be utilized to implement or perform the method shown in <figref idrefs="DRAWINGS">FIG. 19</figref>. For example, in some other embodiments, the method shown in <figref idrefs="DRAWINGS">FIG. 19</figref> may be carried out by programmer <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) or IMD <b>16</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>).
p-0167In some examples, computing device <b>76</b> determines an “overlap region,” such as transition period <b>664</b> shown in <figref idrefs="DRAWINGS">FIG. 18</figref>, between a first group of similar beats <b>668</b> and a second group of similar beats <b>672</b> (<b>700</b>). For example, transition region <b>664</b> may include interwoven beats from both first group <b>668</b> and second group <b>672</b>, or other beats that are not shaped like the beats of first group <b>668</b> or second group <b>672</b>. Transition period <b>664</b> may be selected by identifying a leftmost beat of first group of beats <b>668</b> and a rightmost beat of second group of beats <b>672</b>. After identifying the transition period <b>664</b>, computing device <b>76</b> determines which beat of transition period <b>664</b> has the fewest consecutive beats in transition period <b>664</b> (<b>704</b>). For example, transition period <b>664</b> may include a single beat from first group <b>668</b> and two consecutive beats from second group <b>672</b>. In such an example, computing device <b>76</b> removes the single beat from consideration (<b>708</b>). Computing device <b>76</b> then determines whether all beats of transition period <b>664</b> are similar (<b>712</b>). After all of the beats of transition period <b>664</b> are similar, computing device <b>720</b> signals a change in morphology at the point of transition (<b>716</b>). If all of the beats of transition period <b>664</b> are not similar, computing device <b>76</b> returns to step <b>704</b> and repeats the process of determining which beat is the beat with the fewest consecutive beats.
p-0168Certain techniques of this disclosure are described as analyzing and processing electrogram (EGM) signals associated with an IMD configured to provide pacing functionality. However, in other examples, the techniques of the disclosure can be used to monitor, analyze, and process EGM signals, electrocardiogram (ECG) signals or other signals generated by other heart monitoring or pacing devices. For example, techniques of this disclosure may be implemented to analyze signals stored in an implantable loop recorder or other device. According to an aspect of the present disclosure, techniques described herein may be implanted to analyze signals stored by a Medtronic Reveal® insertable cardiac monitor.
p-0169The techniques described in this disclosure, including those attributed to image IMD <b>16</b>, programmer <b>64</b>, computing device <b>76</b> or various constituent components, may be implemented, at least in part, in hardware, software, firmware or any combination thereof. For example, various aspects of the techniques may be implemented within one or more processors, including one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components, embodied in programmers, such as physician or patient programmers, stimulators, image processing devices or other devices. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry.
p-0170Such hardware, software, firmware may be implemented within the same device or within separate devices to support the various operations and functions described in this disclosure. In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware or software components, or integrated within common or separate hardware or software components.
p-0171When implemented in software, the functionality ascribed to the systems, devices and techniques described in this disclosure may be embodied as instructions on a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), FLASH memory, magnetic data storage media, optical data storage media, or the like. The instructions may be executed to support one or more aspects of the functionality described in this disclosure.
p-0172Various examples have been described. These and other aspects of the disclosure are within the scope of the following claims.
Contents7
19 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2015066678A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2012108990A1 | Cited by | United States of America | Pre-grant |
| US2012171650A1 | Cited by | United States of America | Pre-grant |
| US2015057507A1 | Cited by | United States of America | Pre-grant |
| US9480844B2 | Cited by | United States of America | Search report |
| US10624557B2 | Cited by | United States of America | Applicant |
| US10524679B2 | Cited by | United States of America | Applicant |
| US9788751B2 | Cited by | United States of America | Applicant |
| US5217021A | Cites | United States of America | Pre-grant |
6 priority claims, no other members on record
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 40824410 | United States of America | P | |
| 40824410 | United States of America | P | |
| 201113017339 | United States of America | A | |
| 61408244 | – | – | – |
| US20100408244P | – | – | – |
| US201113017339 | – | – | – |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication
- 20120108994
- Publication, DOCDB
- 2012108994
- Publication, EPODOC
- US2012108994
- Application
- 13017339
- Application, DOCDB
- 201113017339
- Application, EPODOC
- US201113017339
Titles
- English
- MORPHOLOGY CHANGE DETECTION FOR CARDIAC SIGNAL ANALYSIS
Classification
- CPC, 1
- A61B5/322
- IPC, 1
- A61B5 0452
- USPC, 1
- 600515000