This invention is related generally to the field of electrophysiology, and more particularly to technology for accurate measurement of parameters within ECG electrical signals such as heart rates and the nature of individual heartbeats.
The invention disclosed herein involves the processing of multiple channels of electrical signals which are produced by the heart. These channel signals primarily include the ECG signals from body-surface electrodes although signals from electrodes within the body, i.e., intracardiac signals from within vessels and chambers of the heart and epicardial signals from the outer surface of the heart may also be among the cardiac signals processed. Throughout this document, the term “ECG signal” is used to refer to all of these types of channel signals since the inventive method is primarily intended to be used with body-surface electrodes. Such use of terminology is not intended to be limiting to the scope of the invention.
Numerous methods for signal processing of heartbeats are known. Among these are methods disclosed in the following patent applications: PCT International Patent Application No. PCT/US 12/54265 filed on Sep. 7, 2012 and entitled “R-Wave Detection Method;” U.S. patent application Ser. No. 13/842,994 filed on Mar. 15, 2013 and entitled “Multi-Channel Cardiac Measurements;” U.S. patent application Ser. No. 13/888,070 filed on May 5, 2013 and entitled “Multi-Channel Cardiac Measurements;” and U.S. patent application Ser. No. 13/922,953 filed on Jun. 20, 2013 and entitled “Multi-Channel Cardiac Measurements.” Each of these applications are in whole or in part invented by the inventor of the present invention and are commonly owned by APN Health, LLC of Pewaukee, Wis. None of these applications combine signals of multiple cardiac channels in the heartbeat detection process prior to performing a threshold comparison. None of these inventions includes steps which categorize the detected heartbeats into categories having similar heartbeat morphologies or shapes.
Other current technology which involves heartbeat detection and categorization relates to systems for post-processing of ECG signals captured by a Holter monitor. These systems typically involve the processing of ECG signals using values of such signals at more than one point in time within an individual heartbeat. In contrast, the present invention depends on measurements at a single instant in time in order to detect and categorize heartbeats, allowing this inventive system to detect heartbeats very early in the time period of the heartbeat and to operate essentially in real time.
Categorizing heartbeats into groups having similar morphologies in essentially real time enables a cardiologist to very quickly identify the frequency of occurrence of various ectopic heartbeats, particularly for patients undergoing interventional procedures to alleviate the causes of such heartbeats. Among the ectopic heartbeats which are of importance are: premature ventricular contractions (PVC); premature atrial contractions (PAC); various types of bundle branch blocks; ventricular escape beats; junctional escape beats; fusion beats; and paced beats.
PVC and PAC heartbeats (also known by several other names) are among the most common ectopic heartbeats and when they occur as individual beats rather than in a series of repetitive beats, are not considered to be clinically significant. Such individual beats commonly occur in healthy young and elderly patients without heart disease. However, when ectopic beats recur on a much more regular basis, interventional treatment or procedures may be undertaken to alleviate such cardiac abnormalities. The present invention is an important advance in the technology of cardiac diagnosis and treatment by providing a rapid and reliable method for heartbeat detection and categorization.
It is an object of the inventive automatic method of heartbeat categorization to provide a reliable method for categorization of heartbeats.
Another object of the inventive method is to provide an automatic method by which heartbeats can be categorized into predefined classes of heartbeats.
Another object of the inventive method is to provide an automatic method by which heartbeats can be categorized into a set of adaptively-defined classes of heartbeats based on a patient's specific heartbeats.
Another object of the inventive method is to provide an automatic method by which premature ventricular contractions can be identified, characterized, and counted.
Still another object of the inventive method is to provide an automatic method of heartbeat categorization which displays useful heartbeat characterization information to a cardiologist.
Yet another object of this invention is to provide a method of heartbeat categorization which is applicable to post-processing of data recorded by a Holter monitor.
An additional object of this invention is to provide a method of heartbeat categorization which can be utilized with a variety of heartbeat detection methods.
These and other objects of the invention will be apparent from the following descriptions and from the drawings.
The invention is an automatic method for categorizing heartbeats using two or more selected ECG signals. The method comprises, when a heartbeat has been detected, (a) determining a signal velocity for each selected signal at a categorization fiducial time tC within the detected heartbeat, (b) forming a vector F(tC) having as its components the velocities of each of the selected signals at time tC, (c) determining the angle between the vector F(tC) and a previously-stored template vector, (d) comparing the angle with a threshold angle, and (e) if the angle is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector.
In highly-preferred embodiments of the inventive method for categorizing heartbeats, angle determination and comparison include the steps of (i) computing a squared vector magnitude SVMC as the dot product of F(tC) with itself, (ii) computing the dot product DPq of F(tC) with a template vector Fq, (iii) computing a squared vector magnitude SVMq as the dot product of Fq with itself, (iv) computing a signed squared cosine difference angle SCDAq as
SCDAq=sgn(DPq)*DPq*DPq/(SVMC*SVMq),
and (v) comparing SCDAq with a squared cosine threshold SCL. Some of these embodiments further include comparing the vector F(tC) with a plurality of template vectors to determine if the vector F(tC) is within the threshold angle of any of the plurality of template vectors.
In some embodiments, if the angle between the vector F(tC) and more than one of the plurality of template vectors is less than the threshold angle, the heartbeat is categorized as similar to a heartbeat which corresponds to the template vector having the smallest angle between itself and the vector F(tC). Also in some embodiments, if the angle between the vector F(tC) and each of the plurality of template vectors is greater than or equal to the threshold angle, a template vector having Fq=F(tC) is added to the plurality of template vectors.
In some preferred embodiments, the patient is in a non-sedated state and the inventive method further includes the step of providing interventional treatment to the patient in a sedated state based on heartbeats categorized while the patient was in the non-sedated state.
In some embodiments of the inventive automatic heartbeat categorization method, each of the template vectors has a threshold angle associated therewith, and not all such vectors have the same threshold angle associated therewith.
In some embodiments, at least a portion of the plurality of template vectors are preset template vectors, and in some of these embodiments, each of the plurality of template vectors is a preset template vector.
In some preferred embodiments, the method further includes a slot-plurality of template vector slots, and the slot-plurality is greater than or equal to the plurality of template vectors. Each template vector is stored in a corresponding template vector slot, and if the vector F(tC) is not within the threshold angle of any of the plurality of template vectors and an empty template vector slot is available, a new template vector Fq=F(tC) is added to the plurality of template vectors. In some of these embodiments, if no empty template vector slot is available, one of the template vectors is replaced with a new template vector Fq=F(tC).
Some highly-preferred embodiments of the inventive automatic heartbeat categorization method include storing the categorized heartbeat, and some of these embodiments further include displaying information descriptive of one or more stored heartbeats.
In certain highly-preferred embodiments, determining the velocity of each of the selected signals includes digitizing each of the selected signals and filtering each of the digitized signals to generate the velocity for each selected signal.
In certain highly-preferred embodiments, three ECG signals are selected, and the signals form a quasi-orthogonal set.
In some other embodiments of the inventive automatic heartbeat categorization method, the ECG signals further include one or more ECG signals in addition to the selected ECG signals, and the method includes storing one or more of the additional ECG signals. Some of these embodiments include displaying information descriptive of a detected heartbeat.
Certain other embodiments of the inventive automatic heartbeat categorization method, when a heartbeat has been detected, include the steps of (i) forming a vector F(tC) having as its components the velocities of each of the selected signals at time tC and the velocities of each of the selected signals at time tC+δ, (ii) determining the angle between the vector F(tC) and a previously-stored template vector, (iii) comparing the angle with a threshold angle, and (iv) if the angle is less than the threshold angle, categorizing the heartbeat as similar to a heartbeat which corresponds to the template vector.
Certain embodiments of the inventive automatic heartbeat categorization method of claim 1 further include the steps of (i) storing the selected signals, (ii) determining a velocity for each of the selected signals, (iii) summing the absolute values of each signal velocity to generate an absolute velocity sum G(t), (iv) finding the maximum peak of the sum and the time thereof within the detected heartbeat, and (v) setting time tC as the time before and nearest to the time of the peak when the sum is substantially equal to a preset fraction of the peak.
Certain other embodiments further include the steps of (i) storing the selected signals, (ii) determining a velocity for each of the selected signals, (iii) summing the absolute values of each signal velocity to generate an absolute velocity sum G(t), and (iv) setting tC equal to the time at which G(t) becomes greater than a threshold T.
Additional embodiments further include storing the selected signals and determining tC as a preset time after the start of the detected heartbeat. Some such embodiments include (i) determining a velocity for each of the selected signals, (ii) summing the absolute values of each signal velocity to generate an absolute velocity sum G(t), and (iii) determining the start of the detected heartbeat as the time at which G(t) rises above a heartbeat-pending threshold Tp and remains above Tp until G(t) rises above a heartbeat-confirming threshold Tc. In some of these embodiments, the detected heartbeat is within a cardiac cycle and the method further includes the step of computing the median of G(t) within the cardiac cycle, heartbeat-pending threshold Tp being a multiple of the median of G(t) across the cardiac cycle; in some, the multiple of the median of G(t) within the cardiac cycle is between 2 and 5; and in some, the heartbeat-confirming threshold Tc is between 30% and 60% of the expected peak of the detected heartbeat.
In certain embodiments, the inventive automatic heartbeat categorization method further includes the steps of (a) storing the selected signals, (b) determining a velocity for each of the selected signals, (c) summing the absolute values of each signal velocity to generate an absolute velocity sum G(t), (d) cross-correlating G(t) with a predetermined shape function, and (e) deriving time tC from the cross-correlation. In some of these embodiments, time tC is set at the time the cross-correlation becomes greater than a correlation threshold. The correlation threshold may be between about 25% and 35% of the peak value of the cross-correlation, and in some embodiments this threshold may be about 30% of the peak value of the cross-correlation.
In other of these embodiments, time tC is set at a preset correlation time interval before the time of maximum cross-correlation. In some embodiments, the predetermined shape function is a triangle, and in some embodiments, the predetermined shape function is a parabola. The width of the shape function may be between 90 and 150 milliseconds, and in some embodiments, the width is about 120 milliseconds.
In certain other embodiments, categorization fiducial time tC is derived from an output signal of a heartbeat detector selected from the group consisting of motion ultrasound, audio, optical detection of blood flow, pressure measurement, and ballistocardiography.
In certain embodiments, categorization fiducial time tC is derived from an intracardiac signal from an electrode placed adjacent to the origin of the heartbeat of interest. In some of these embodiments, time tC is set at a preset time interval before the activation time in an intracardiac signal.
The present invention is a method which is conveniently illustrated using block diagrams or flow charts to describe the various steps of the inventive method and the embodiments thereof. As used herein, the terms “step”, “flow chart element”, “process element” or other similar terms may be used to describe the various individual parts of the block diagrams or flow charts. Used as such, there is no intended difference in the meaning of these terms. When an embodiment is illustrated in more than one figure, the term “process portion” and “process” are used herein interchangeably. Specific reference numbering makes such interchangeable usage unambiguous.
The term “velocity” as used herein refers to the rate of change of a signal with respect to time.
The term “within a threshold angle” as used herein refers to an angle being compared with a threshold angle as being less than the threshold angle.
The term “quasi-orthogonal” as used herein refers to the property of a set of ECG signals such that each signal in the set is approximately independent of the other signals in the set. (In an orthogonal set, each signal in the set is fully independent of the other signals in the set.) Graphically, each signal in a two- or three-dimensional quasi-orthogonal set of ECG signals is approximately 90° from the other ECG signals in the set.
The term “categorization fiducial time” as used herein refers to the time at which the velocities of selected ECG signals are evaluated as inputs to the inventive automatic heartbeat categorization method.
The term “origin of a heartbeat” as used herein refers to the region of muscle cells which trigger the depolarization which results in a heartbeat.
The block diagram of
Each digitized signal xp(ti) in the set of digitized ECG signals [x1(ti), . . . , xN(ti)] is filtered in one of N flow chart elements 14 to generate a velocity fp(ti) of xp(ti) at each sampling time value ti. In this embodiment, filters 14 are first-difference filters, and specifically, boxcar filters with a boxcar width k of 20 samples. As the equations in flow chart elements 14 indicate, velocity fp(ti) of xp(ti) is the difference between two sums of samples (sp(ti)−sp(ti-k)), the first sum sp(ti) being the sum of the sampled value xp(ti) and the previous 19 sampled values of xp(t), and the second sum sp(ti-k) being the sum of the 20 sampled values of xp(t) immediately prior to the samples of the first sum. Since filter 14 is a boxcar filter, it produces some smoothing in the filtered velocity signal fp(ti). The wider the boxcars are, the more high frequencies are removed during the filtering process 14. And, the value of velocity fp(ti) lags behind the actual time ti, but such lag has no detrimental effect on heartbeat detection and categorization being processed.
In general, the selected ECG signals may be filtered in a variety of ways to generate values for the velocities [f1(t), fN(t)] of the selected ECG signals [x1(t), xN(t)]. For example, a more general expression for digital filters includes a set of coefficients multiplying the individual time samples in the summations of flow chart elements 14, such that for ECG signal x1(ti), s1(ti)=Σ(aj*x1(ti-j)) for j=0 to k−1, where the values of aj are a set coefficients. Each sample in the summation is weighted by a coefficient aj. For the boxcar filter example in the embodiment of
The value of boxcar width k=20 is not intended to be limiting; other boxcar widths may be used. For k=20 and a sampling rate of 1,000 sps, the first difference boxcar filter has null points at 0 Hz and integer multiples of 50 Hz, Thus, such a filter has a peak at 19 Hz. With a null at 0 Hz, the filters remove amplifier offsets and low-frequency artifacts. The null at 50 Hz reduces higher-frequency noise.
Each velocity signal fp(ti) is further filtered in flow chart element 16 which generates the absolute value gp(ti) of fp(ti). Then, all N absolute value velocities [g1(ti), . . . , gN(ti)] are summed in flow chart element 18 to generate a absolute velocity sum G(ti) at each sampled instant in time ti.
Velocity sum G(ti) is an input into a flow chart decision element 20 in which G(ti) is compared with a threshold T. The value of threshold T is adaptively determined in this embodiment of the inventive method and has a value of about one-half of an expected maximum value of sum G(ti). More detail of this embodiment of the adaptive determination of threshold T is shown in
In flow chart element 20, if G(ti) is greater than threshold T, process 10A proceeds to a flow chart decision element 22, and if G(ti) is not greater than threshold T, process 10A proceeds to a flow chart element 32 in which a refractory timer (timerR) is incremented by the sampling period Δt, and process 10A proceeds to flow chart element 30 to wait for the next sampling cycle. In this embodiment, Δt is 1 msec since the sampling rate is 1,000 sps.
In decision element 22, if timerR is greater than a preset refractory period tR, then a heartbeat has been detected at time ti=tD as indicated in flow chart element 24, at which point process 10A proceeds to flow chart element 26. After time of detection tD is set to time ti in flow chart element 26, timerR is set to 0 in flow chart element 28 and process 10A proceeds to flow chart element 30 to wait for the next sampling time. In decision element 22, if timerR is not greater than tR, then timerR is set to 0 in element 28 and process 10A waits for the next sampling time in element 30.
In flow chart element 26, a vector F(tD) is formed from each of the velocities fp(tD) such that vector F(tD)={f1(tD), . . . , fN(tD)}. (As used herein, vector quantities are indicated by the use of curly brackets as in the definition of F(tD) above. The square bracket notation as used early herein, such as the set of digitized ECG signals [x1(ti), . . . , xN(ti)], indicates a series of quantities not operated on as a vector.)
Flow chart element 15 in
Referring to
During the heartbeat categorization portion 10B of this embodiment, the method stores template heartbeats, corresponding template vectors and other related information at least for comparing with a detected heartbeat which has been detected in process portion 10A. Such template vectors are described as being stored in template vector slots (slots), and there are assumed in this embodiment to be Q such slots. The slots are identified as having an index q from 1 to Q. When a heartbeat is categorized as being similar to the template associated with slot q, a heartbeat count Cq is incremented by 1 such that the number of heartbeats in each category is counted.
In
In flow chart element 36, a value for SVMD is computed as the dot product of vector F(tD) with itself: SVMD=F(tD)·F(tD). SVMD is herein called the squared vector magnitude of vector F(tD). The dot product of two vectors X and Y is equal to the product of the magnitude of the each vector times the cosine of the angle θ between the vectors: X·Y=|X|*|Y|*cos θ. Thus, the dot product of a vector with itself is the square of the magnitude of that vector, or the squared vector magnitude (SVM). This quantity and other similar quantities are used later in the steps of the inventive method.
In flow chart element 38, a template vector slot having an index value of q is selected for comparison. For each detected heartbeat, the initial value of index q is 1, but as will be seen, method step 38 will “operate” Q times during the categorization of the detected heartbeat represented by vector F(tD). Flow chart decision element 40 determines if slot q contains a template vector Fq. If slot q does not contain a vector (a “Yes” decision in element 40), empty-slot index qE is set to q in flow chart element 42, and slot index q checked against Q in flow chart decision element 44 to see if any slots remain to be compared with vector F(tD). If the current value q of the slot index is less than the total number of slots Q, slot index q is incremented in flow chart element 46, and process 10B returns to flow chart element 38 to continue heartbeat categorization. (A “Yes” decision in flow chart element 44 will be discussed later in this detailed description of
At flow chart element 40, when a template is found in slot q, template vector Fq and previously-computed SVMq (computed in element 36 during a previous heartbeat categorization cycle) are available for the comparison of the heartbeat at time tD. Process 10B then proceeds with such comparison by computing a dot product DPq=F(tD)·Fq and a quantity SCDAq in flow chart elements 48 and 50, respectively. SCDAq is herein called the signed squared cosine difference angle between template vector Fq and vector F(tD) associated with the detected heartbeat. In flow chart element 50, the computed terms DPq, SVMq and SVMD are used to compute SCDAq:
SCDAq=sgn(DPq)*DPq*DPq/(SVMD*SVMq)
where the * symbol indicates multiplication. Thus, the magnitude of the quantity SCDAq is the square of the cosine of the angle θq between vector F(tD) and vector Fq, and the sign of SCDAq is the sign of the cosine of the angle θq. As can be seen from the above expression for SCDAq, SCDAq is indicative of how closely aligned vector F(tD) is with template vector Fq or how small the angle between the two vectors is. In this embodiment, the quantity SCDAq is being used as a computational convenience to find the angle θq without the need for computing square roots and inverse cosines of quantities. Of course, any other algebraic formulations may be used to determine the relative alignment of vectors F(tD) and Fq.
The categorization of a heartbeat is based on the relative alignment of vector F(tD) with template vectors Fq. If two vectors are fully aligned, the angle θq between the two vectors is 0° and cosine of θq is 1. If angle θq is within a preset threshold angle θL, the detected heartbeat associated with vector F(tD) is categorized as being similar to the heartbeat associated with template vector Fq. In the embodiment of
In the embodiment of
In flow chart elements 52 through 58, categorization process 10B determines for each detected heartbeat (1) what the maximum value of SCDAq is and (2) whether or not vector F(tD) is within the threshold angle θL of the template for which SCDAq is maximum. Process 10B proceeds to flow chart decision element 52 in which the computed value of SCDAq is compared with the value of the quantity SCM. SCM is the maximum value of SCDAq for all values of q for which values of SCDAq have been computed during the categorization of a detected heartbeat. The highest possible value of SCDAq is, of course, 1 which indicates that F(tD) and Fq are precisely aligned with each other (angle θq=0°), and the lowest possible value for SCDAq is −1 indicating that F(tD) and Fq are pointing in precisely opposite directions (angle θq=) 180°. During initialization at step 34, SCM was set to −1 so that all larger values of SCDAq are found as the sequential operations of categorization process 10B proceed.
If in decision element 52 SCDAq is found to be greater than SCM, SCM is given the current SCDAq in flow chart element 54, and qM, the index of the template vector which corresponds to SCM, is given the value of the current index q in flow chart element 56. Process 10B then proceeds to flow chart decision element 44 in which current index q is compared with the total number of template slots Q. If in decision element 52 SCDAq is found not to be greater than SCM, process 10B also proceeds to flow chart decision element 44.
In flow chart decision element 44 as described above, slot index q is checked against Q to see if any slots remain to be compared with vector F(tD). If q is not equal to Q, then the value of index q is incremented by 1 in flow chart element 46, and categorization process 10B loops back to flow chart element 38 to begin comparison of vector F(tD) with another template vector Fq. If q=Q in flow chart decision element 44 (i.e., the last template vector has been compared to F(tD) and SCM and qM have been identified for F(tD)), process 10B proceeds to determine whether vector F(tD) is within preset threshold angle θL of template vector FM (FM is Fq for q=qM). This determination is done by comparing SCM with SCL (as described above) in flow chart element 58. If SCM is greater than SCL, then vector F(tD) is within threshold angle θL of template vector FM, and the count CM (CM is Cq for q=qM) of heartbeats in the category defined by FM is increased by 1 in flow chart element 68.
However, if SCM is not greater than SCL, then process 10B has found that there is no template vector Fq to which F(tD) is similar, and in this embodiment, F(tD) is then set as a new template vector if there is an empty template slot qE still available. Flow chart element 60 determines if a template slot is available (qE≠0). If an empty template slot is available, vector F(tD) is set as template vector FE (FE is Fq for q=qE) as shown in flow chart element 62, and this new template category is given a count CE of 1 (CE is Cq for q=qE) in flow chart element 64. After either counting vector F(tD) in an existing template category (flow chart element 68) or in a newly-created template category (flow chart elements 62 and 64), heartbeat categorization process 10B proceeds to flow chart element 66 in which process 10B waits for the next heartbeat to be detected in process 10A.
If in flow chart decision element 60 no empty template slot is found, an empty template slot is created in flow chart element 61 and categorization process 10B continues to flow chart element 62. The example of
In the event that Q is not set high enough (an “N” result in flow chart decision element 60) for a patient being monitored and a heartbeat is encountered which requires that a new template be formed, flow chart element 61 may include steps which discard the template corresponding to the category which has the lowest number of counts and which has the longest period of time since the category has increased its count. Several other strategies are possible for the creation of a new empty slot qE in flow chart element 61 to deal with such a situation, but as mentioned above, setting Q to be large enough to avoid encountering needing to discard a template is a simple approach.
Factors which affect the number of template vectors (heartbeat categories) which may be used are, among other factors, the length of time for which a patient is to be monitored, the amount of patient movement during monitoring, the use of different patient postures during monitoring, and the noise environment affecting the ECG signals. Also affecting the appropriate value of Q is the selected value for SCL. Smaller regions (smaller θL) around template vectors mean that Q will likely need to be higher. In general, however, it is expected that for patients having a variety of ectopic heartbeats, the number of categories is still quite limited since the morphology of a heartbeat is determined by its trigger source within the heart, and thus heartbeats of the same morphology result from triggers occurring at the same points in the heart.
Many other logical strategies for filling template slots, assessing angle θ between vectors, and other parts of the logical flow of the embodiment of
Point B in
In flow chart decision element 70, the value of G(ti) is compared with Gmax. Gmax is the maximum value of G(ti) during preset time period tm as determined by flow chart elements 70-78 and 84. (Gmax is determined during preset time period tm, and if average signal levels drift, the estimate of the expected maximum value in this embodiment also changes due to the preset time period tm periodically renewing the value of Gmax.) If G(ti) is greater than Gmax in decision element 70, Gmax is updated with a new value, G(ti) in flow chart element 72 and threshold timer (timerm) is decremented by Δt in flow chart element 74. (Δt in this embodiment is 1 msec.) If G(ti) is not found to be a new maximum in decision element 70, then threshold timer (timerm) is decremented by Δt in flow chart element 74. Threshold timer (timerm) is checked to see if preset time period tm has elapsed (timerm=0) in flow chart decision element 76. If timerm is not equal to 0 in decision element 76, process portion 10C is complete, and threshold T remains at its current value for the next comparison in flow chart element 20 of
If preset time period tm has elapsed (timerm=0) in decision element 76, threshold timer (timerm) is reset to preset time period tm in flow chart element 78, and process portion 10C proceeds to adjust threshold T in flow chart elements 80, 82 and 86. In flow chart decision element 80, the value of refractory timer (timerR) (from point C of
The refractory timer (designated timerR) measures the elapsed time since the last detected heartbeat. Two preset threshold time values are associated with refractory timerR, preset refractory period tR and preset detection failure time limit tL. These two threshold values provide two different functions. Preset refractory period tR serves to prevent false positive detections from occurring too soon after a heartbeat is detected. Preset detection failure time limit tL serves to monitor the overall detection process in the event that the detection process is failing (e.g., threshold T must be adjusted by a large amount because the signals have changed dramatically).
If timerR is greater than preset detection failure time limit tL, threshold T is set to Gmax/2 in flow chart element 86. If timerR is not greater than preset detection failure time limit tL, threshold T is adjusted to T=T+(Gmax/2−T)/4 where the values of T on the right side of the equation (and in element 82 in
Drawn on the surface of sphere S is region Rq which is centered around template vector Fq. Region Rq has a radius of rL which results from the preset threshold angle θL and limit value SCL of SCDAq as described above. (In the embodiment of
Each of
The characteristics of the ECG data in this example are those of the ECG of an atrial flutter patient, and the rapid oscillations particularly evident in x2(ti) (lead V1) are not signal noise. These oscillations are referred to as “flutter waves.”
For purposes of illustration, template vector F8 shown in
Heartbeats #2 through #5 and #7 each are similar to heartbeat #1 as represented by template vector F7 and are thus categorized. As seen in the table of
Heartbeat #6 detected at 4.953 seconds is a premature ventricular contraction (PVC), and this beat is shown in further detail in
The time periods between line 6 and line 6b and between line 6b and line 6a represent the spans of the two boxcars of filters 14 (
Referring to
Comparing
Another way of showing a heartbeat representative of a category is to compute and display the average of all heartbeats in a category as a function time ti. Such information is shown as the solid-line trace in
Statistical studies on actual patient data from multiple patients have shown that comparison of the absolute velocity sum G(ti) against an adaptively-adjusted threshold T is a reliable detection method for heartbeats. Studies have also shown that the vector F(tD) is a reliable and robust measure by which to sort heartbeats into categories of heartbeats having similar morphology. The significance of this inventive method is that (1) heartbeats are detected early in the period of a heartbeat, (2) heartbeats are reliably categorized using measurements just at the instant (tD) of detection rather than using a much larger amount of data related to the features of a heartbeat during its entire heartbeat period, and (3) categorization according to anatomical origin is facilitated by use of the earliest discriminating features of a heartbeat.
The value of SCL, the limit value of SCDAq, defines the region in N-space in which heartbeat vectors F(tD) must fall to be categorized as being similar to heartbeats in the category represented by template vector Fq. A larger value of SCL (smaller region subtended by the category) tends to increase the number of categories needed to categorize all of the heartbeats of a patient during a session of monitoring the patient's ECG.
In flow chart element 98, vector F(tD) is modified from that of flow chart element 26 in
F(tD)={f1(tD), . . . ,fN(tD),f1(tD+δ), . . . ,fN(tD+δ)}
where δ=a time period after heartbeat detection time tD. In other words, vector F(tD) is now a vector associated with the heartbeat detected at time t, which has 2N components, the second set of which are the N velocities of the selected ECG signals at time tD+δ. In embodiment 100, vector F(tD) contains the N velocity components at detection time tD and N velocity components of the same ECG signals but measured at time tD+δ.
Adapting embodiment 100 to the example of
As discussed above, in embodiment 100 for the example, vector F(tD) now has six velocity components instead of three. Categorization process 10B proceeds just as described above for the N=3 example.
In this brief (short time period of data) example, the alternative embodiment of the inventive method identified an additional heartbeat category characterized by heartbeat #5 (Template 6) while in the example summarized in
Additional statistical studies on actual patient data have shown that the modified velocity vector F(tD) (having 2N components) improves the specificity of heartbeat categorization when compared with embodiment 10A of
In the embodiments 110 and 120 of
The method steps of alternative embodiment 10B′″ of
Referring to
As used herein, the term “heartbeat” more specifically refers to the more active portion of the ECG signals within a cardiac cycle, typically referred to as the QRS complex and well-known to those skilled in the area of cardiology. A heartbeat is detected within a cardiac cycle, and the data stored and analyzed in order to determine categorization fiducial time tC includes the data within a cardiac cycle. Thus, in general, the entire time history of ECG signals can be stored and some computed values may also be stored for quicker retrieval when needed. Modern computing equipment is capable of extremely fast computation and storing very large amounts of data which enables some such rapid and data-intensive computation to occur essentially in real time.
This determined value of tC is passed to method step 139 of embodiment 130 (
As with embodiment 140 of
Referring again to
The expected value of the peak of the sum G(t) may be determined in a variety of ways, such as by computing the average of a number of past peaks. The average may also be weighted toward more recent peaks. The method by which the expected value of the peak of G(t), the exemplary value for the multiple of the median of G(t), and the fraction of the peak by which Tc is determined are all not intended to be limiting to the scope of the inventive method of heartbeat categorization as disclosed herein.
The use of a multiple of the median of sum G(t) sets the value of heartbeat-pending threshold Tp above the signal noise in G(t), and the use of a fraction of the expected value of the peak of sum G(t) for heartbeat-confirming threshold Tc attempts to assure that no QRS complexes are missed (false negatives) and that there are no extra detections (false positives) of QRS complexes. A useful range of this fraction of the expected value of the peak is between about 30% and 60%. The height of the peaks in sum G(t) typically vary such that too high a value may miss some heartbeats. Further, too low a value for heartbeat-confirming threshold Tc may introduce false positives from ECG features such as P-waves.
The determined value of tC in embodiment 160 of
The determined value of tC in embodiment 170 of
The determined value of tC in embodiment 180 of
Heartbeats may be detected by a numerous methods and systems. Among this group are systems such as motion ultrasound, audio (phonocardiography), optical (photoplethysmography), intra-arterial blood pressure measurement, and body motion measurement (ballistocardiography).
Methods and systems 192 all use different sensing technologies to produce a continuous time measurement of a parameter that varies recognizably and usefully with every heartbeat. By detecting a feature (such as peak, slope or zero-crossing) of these parameter waveforms and offsetting by an appropriate time interval, the moment of the beginning of a heartbeat can be identified, and categorization fiducial time tC can be determined.
A method to detect heart rate from ultrasound is known and often of use in monitoring a fetus because application of ECG electrodes to the fetus is impractical or impossible in the mother's womb. Peters et al. (2004 Physiol. Meas. 25, 585-593) and Jezewski et al. (IEEE Trans. on Biomedical Engineering, Vol. 53, Issue 5, May 2006, 855-864) are two examples of the use of this technology to determine heart rate from Doppler ultrasound.
Phonocardiography is the science of graphing heart activity as evidenced from the audio sounds produced mainly by the working of heart valves. Doctors hear these same sounds via a stethoscope. The science is useful again for fetal monitoring because of the difficulty of attaching ECG electrodes. It is particularly useful in telemonitoring for which patients are required to make connections themselves at remote locations, often difficult for the non-professional. Godinez et al. (Proceedings of the Engineering in Medicine and Biology Society Int'l Conf., Sep. 17-21, 2003, 3141-3144) and Torres-Pereira (Proceedings of the IEEE Int'l Symposium on Industrial Electronics, Jul. 7-11, 1997, 856-859) are two examples of heart rate determination from phonocardiograms.
Photoplethysmography is the science of graphing a changing volume measured by the transmission of light through the volume. It is a subset of the technology used in pulse oximeters which measure heart rate and blood oxygenation. Blood flow is inferred from the changing volume of the finger. Such devices are very useful and simple, typically being attached to a patient's finger. The signal from such a system contains information suitable for obtaining heart rate. Dekker (U.S. Pat. No. 6,702,752) discloses an example of heart rate determination from a pleth signal, and Selvarej et al. (Journal of Medical Engineering & technology, Vol. 32, No. 6, November/December 2008, 479-484) presents a further example of heart rate determination from a pleth signal.
Intra-arterial blood pressure measurement is considered the gold standard of blood pressure measurements because it employs a direct mechanical connection, the output of which is a blood pressure waveform. The upstroke of pressure occurs when the heart contracts (systolic phase) and is early in the cardiac cycle. Mancia et al. (Hypertension. February 1987; vol. 9:209-215) and de Boer et al. (Medical & Biological Engineering & Computing, July 1985, Vol. 4, pp 352-358) disclose two examples of heart rate measurement from an intra-arterial blood pressure waveform.
Sensitive force transducers can detect the shifting masses as the heart pumps blood if a patient will otherwise lie still, for example on a bed. The science is called ballistocardiography. Mack et al. (IEEE Trans. on Information Technology in Biomedicine, Vol. 13, Issue 1, January 2009, 111-120) and Alihanka et al. (Journal of the American Physiological Society—Regulatory, Integrative and Comparative Physiology, May 1, 1981, Vol. 240, No. R384-R392) show two examples of systems that measure heart rate from the ballistogram by selective filtering.
While the principles of this invention have been described in connection with specific embodiments, it should be understood clearly that these descriptions are made only by way of example and are not intended to limit the scope of the invention.
This application is a continuation-in-part of application Ser. No. 14/067,561 filed on Oct. 30, 2013.
Number | Name | Date | Kind |
---|---|---|---|
3939824 | Arneson et al. | Feb 1976 | A |
4240442 | Andresen et al. | Dec 1980 | A |
4374382 | Markowitz | Feb 1983 | A |
4583553 | Shah et al. | Apr 1986 | A |
5117824 | Keimel et al. | Jun 1992 | A |
5365426 | Siegel et al. | Nov 1994 | A |
5462060 | Jacobson et al. | Oct 1995 | A |
5526813 | Yoshida | Jun 1996 | A |
5560367 | Haardt et al. | Oct 1996 | A |
5560368 | Berger | Oct 1996 | A |
5701907 | Klammer | Dec 1997 | A |
6236883 | Ciaccio et al. | May 2001 | B1 |
6526313 | Sweeney et al. | Feb 2003 | B2 |
6556860 | Groenewegen | Apr 2003 | B1 |
6702752 | Dekker | Mar 2004 | B2 |
6937888 | Kohler et al. | Aug 2005 | B2 |
7364550 | Turcott | Apr 2008 | B1 |
7561912 | Schatz et al. | Jul 2009 | B2 |
7610084 | Sweeney et al. | Oct 2009 | B2 |
7792571 | Sweeney et al. | Sep 2010 | B2 |
7890170 | Ettori et al. | Feb 2011 | B2 |
8041417 | Jonckheere et al. | Oct 2011 | B2 |
8064995 | Dupelle et al. | Nov 2011 | B1 |
8137269 | Sheikhzadeh-Nadjar et al. | Mar 2012 | B2 |
8150503 | Schatz et al. | Apr 2012 | B2 |
20020133085 | Kohler et al. | Sep 2002 | A1 |
20020138013 | Guerrero et al. | Sep 2002 | A1 |
20030216654 | Xu et al. | Nov 2003 | A1 |
20040015090 | Sweeney et al. | Jan 2004 | A1 |
20040059203 | Guerrero et al. | Mar 2004 | A1 |
20040186388 | Gerasimov | Sep 2004 | A1 |
20050245973 | Sherman | Nov 2005 | A1 |
20070161916 | Zantos et al. | Jul 2007 | A1 |
20080109041 | de Voir | May 2008 | A1 |
20090099468 | Thiagalingam et al. | Apr 2009 | A1 |
20100041975 | Chen et al. | Feb 2010 | A1 |
20100305645 | Sweeney et al. | Dec 2010 | A1 |
20110071375 | Baker, Jr. et al. | Mar 2011 | A1 |
20110137153 | Govari et al. | Jun 2011 | A1 |
20110172729 | Sweeney et al. | Jul 2011 | A1 |
20110282226 | Benser et al. | Nov 2011 | A1 |
20110288605 | Kaib et al. | Nov 2011 | A1 |
20120035488 | MacAdam et al. | Feb 2012 | A1 |
20120101398 | Ramanathan et al. | Apr 2012 | A1 |
20120123279 | Brueser et al. | May 2012 | A1 |
20120130263 | Pretorius et al. | May 2012 | A1 |
20120179055 | Tamil et al. | Jul 2012 | A1 |
20120184864 | Harlev et al. | Jul 2012 | A1 |
20120197151 | Schatz et al. | Aug 2012 | A1 |
20130006131 | Narayan et al. | Jan 2013 | A1 |
20130030314 | Keel et al. | Jan 2013 | A1 |
20130066221 | Ryu et al. | Mar 2013 | A1 |
20130109945 | Harlev et al. | May 2013 | A1 |
20130245477 | Brodnick et al. | Sep 2013 | A1 |
Number | Date | Country |
---|---|---|
1745740 | Jan 2007 | EP |
2047794 | Apr 2009 | EP |
9619939 | Jul 1996 | WO |
2005002669 | Jan 2005 | WO |
2011088043 | Jul 2011 | WO |
2012056342 | May 2012 | WO |
Entry |
---|
Pan et al. A Real-Time QRS Detection Algorithm. IEEEE Transactions on Biochemical Engineering. vol. BME-32, No. 3, Mar. 1985. <http://mirel.xmu.edu.cn/mirel/public/Teaching/QRSdetection.pdf>. |
Friesen G.M. et al. “A Comparison of the Noise Sensitivity of None QRS Detection Alogrithyms,” IEEE Transactions on Biomedical Engineering, IEEE Inc. New York, US, Bd. 37, Nr. 1, 1990, Seiten 85-98. |
Mancia, G., et al., Alerting Reaction and Rise in Blood Pressure During Measurement by Physician and Nurse; Hypertension, vol. 9, No. 2, Feb. 1987; pp. 209-215; downloaded from the Internet on Feb. 28, 2014; URL: http://hyper.ahajournals.org. |
Torres-Pereira, L., et al. “A Non-invasive Telemetric Heart Rate Monitoring System based on Phonocadiography” Proceedings of the IEEE International Symposium on Industrial Electronics, Jul. 7-11, 1997, Guimaraes, Portugal; vol. 3, pp. 856-859. |
Selvaraj, N., et al. “Assessment of heart rate variability derived from finger-tip photoplethysmography as compared to electrocardiography” Journal of Medical Engineering & Technology, vol. 32, No. 6, Nov./Dec. 2008, pp. 479-484. |
Peters, C. H. et al. “Beat-to-beat detection of fetal heart rate: Doppler ultrasound cardiotocography compared to direct ECG cardiotocography in time and frequency domain” Physiological Measurement, vol. 25, pp. 585-593; Institute of Physics Publishing, 2004. |
Jezewski, J. et al. “Comparison of Doppler Ultrasound and Direct Electrocardiography Acquisition Techniques for Quantification of Fetal Heart Rate Variability” IEEE Transactions on Biomedical Engineering, vol. 53, No. 5, May 2006; pp. 855-864. |
Mack, D. C. et al. “Development and Preliminary Validation of Heart Rate and Breathing Rate Detection Using a Passive, Ballistocardiography-Based Sleep Monitoring System” IEEE Transactions on Information Technology in Biomedicine, vol. 13, No. 1, Jan. 2009; pp. 111-120. |
Alihanka, J. et al. “A new method for long-term monitoring of the ballistocardiogram, heart rate, and respiration” American Physiological Society, 1981, R384-R392. |
Godinez M., et al.: “On-line fetal heart rate monitor by Phonocardiography” Proceedings of the 25th Annual International Conference of the IEEE, Cancun, Mexico, Sep. 17-21, 2003, pp. 3141-3144. |
De Boer, R. W. et al. “Relationships between short-term blood-pressure fluctuations and heart-rate variability in resting subjects I: a spectral analysis approach” Medical & Biological Engineering & Computing, Jul. 1985, vol. 23, pp. 352-358. |
Number | Date | Country | |
---|---|---|---|
20150119737 A1 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14067561 | Oct 2013 | US |
Child | 14219826 | US |