Language selection

Search

Patent 1175108 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1175108
(21) Application Number: 1175108
(54) English Title: APPARATUS FOR MONITORING AND UTILIZING A DATA PROCESSOR
(54) French Title: DISPOSITIF DE CONTROLE ET D'EMPLOI D'UNE MACHINE INFORMATIQUE
Status: Term Expired - Post Grant
Bibliographic Data
(51) International Patent Classification (IPC):
(72) Inventors :
  • CITRON, PAUL (United States of America)
  • HEPP, DENNIS G. (United States of America)
  • JIRAK, THOMAS L. (United States of America)
(73) Owners :
(71) Applicants :
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued: 1984-09-25
(22) Filed Date: 1981-01-22
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
114,595 (United States of America) 1980-01-23

Abstracts

English Abstract


ABSTRACT
Apparatus for monitoring and storing heart activity
signals is disclosed as including a data processor illustra-
tively in the form of a digital microprocessor. The monitoring
and storing apparatus comprises a memory comprising first and
second pluralities of storage locations, a circuit operating in
a real time frame for sampling at a regular rate the patient's
heart activity and for storing such sample signals in corres-
ponding locations of said first plurality, and the data pro-
cessor for processing the signals stored in the first plurality
and for storing the processed signals in selected locations of
said second plurality. The storage of the signals in the second
plurality is performed in a second computer time frame and at a
rate faster than the real time sampling rate. A sampling clock
provides a sampling clock signal to the sampling circuit whereby
the samples of the patient's heart activity are taken. A second
computer clock provides computer clock signals to at least a
portion of the data processor whereby the processing of the
heart activity is effected in the relatively fast computer time
frame. The data processor comprises a first portion or means
that operates in response to the sample clock signal for
evaluating the heart activity signals to determine the existence
of a valid heartbeat and a second portion operating in the
computer time frame for processing the detected heartbeat and in
particular for determining the interval therebetween, which is
evaluated to determine whether the heartbeat is occurring with a
regular rhythm or not.


Claims

Note: Claims are shown in the official language in which they were submitted.


THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. Apparatus for monitoring and storing electrical sig-
nals indicative of heart activity including a series of heart-
beats, said apparatus comprising: (a) means for sampling a
patient's heart activity to provide a sequence of sampled heart
signals at a rate sufficient to provide a plurality of sampled
heart signals of one heartbeat and comparing one sampled heart
signal with a subsequent heart signal of said one heartbeat to
provide a heartbeat signal indicative of the occurrence of a
valid peak of said one heartbeat, if said one sampled heart sig-
nal has a predetermined amplitude relationship to said subse-
quent sampled heart signal; (b) memory means including a plural-
ity of storage locations, said locations for storing correspond-
ing heartbeat signals, and (c) means responsive to the provision
of said heartbeat signal for evaluating a sequence of said
heartbeat signals as stored in said plurality of locations to
determine whether the patient's activity is rhythmic, and if so
for providing a manifestation of rhythmic heart activity and if
not, for providing a manifestation of disrhythmic heart acti-
vity.
2. Monitoring and storing apparatus as claimed in
claim 1, wherein said memory means includes a second plurality
of storage locations, and there is further included means res-
ponsive to said heartbeat signal for examining the stored heart-
beat signals and providing statistical characteristic of the
patient's heart activity and for addressing a selected location
of said second plurality in accordance with said statistical
characteristic.
3. The monitoring and storing apparatus as claimed in
claim 2, wherein said examining means comprises means for com-
puting the intervals between adjacent heartbeats.
4. Monitoring and storing apparatus as claimed in
claim 3, wherein each of said storage locations of said second
plurality stores a count indicating the number of times a rate
of the heartbeats occur within a certain range, and said ad-
dressing means includes means responsive to the computer
intervals for determining the rates at which the heartbeats are
occurring, and said addressing means includes means responsive
-58-

to the determined rate for incrementing the count as stored
within a location of said second plurality dependent upon the
determined rate.
5. Monitoring and storing apparatus as claimed in
claim 3, wherein said addressing means includes means for deter-
mining the difference between successive intervals, each storage
location of said second plurality for storing a count indicating
the number of times that a particular range of differences be-
tween successive intervals has occurred during the monitoring
period, and means responsive to the difference for addressing
and incrementing the count within one of said storage locations
of said second plurality in accordance with the difference.
6. Monitoring and storing apparatus as claimed in
claim 3, wherein said apparatus monitors the heart activity for
a monitoring period comprising a plurality of trend sample in-
tervals, each of said storage locations of said second plurality
corresponds to one of the plurality of the trend sample inter-
vals for storing a data characteristic of the heart activity
over the prolonged monitoring period; said addressing means in-
cludes: (a) means responsive to the computed intervals for cal-
culating the rate of the heartbeats; (b) means for determining
the statistical characteristic of the rate of the heartbeats
during each of the aforementioned trend sample intervals; and
(c) means for storing the previously determined statistical
characteristic in a first portion of a corresponding location of
said second plurality.
7. Monitoring and storing apparatus as claimed in
claim 6, wherein said statistical characteristic of the rate
comprises the maximum heartbeat rate, the average heartbeat
rate, and the minimum heartbeat rate during each trend sample
interval.
8. Monitoring and storing apparatus as claimed in
claim 7, wherein said receiving and storing means samples the
heart activity signals to store heart signal samples in said
first area; and means for adding successively the values
indicative of the calculated rates in the location of said
second area corresponding to the current trend sample interval,
-59-

and means for calculating at the end the current trend sample
interval the average heart rate occurring during the current
trend sample interval by dividing the sum of the heart rates by
the number of heart signal samples taken during the current
trend sample interval.
9. The monitoring and storing apparatus as claimed in
claim 2, wherein said apparatus monitors the heart activity for
a prolonged monitoring period comprising a plurality of conse-
cutive trend sample intervals, and each of said second plurality
of storage locations corresponds to one of said trend sample in-
tervals.
10. Monitoring and storing apparatus as claimed in
claim 9, wherein each location of said second plurality includes
a portion for storing a count indicative of the number of dis-
rhythmic beats occurring during the corresponding trend sample
interval, said addressing means includes means responsive to
said disrhythmic manifestation for addressing a storage location
of said second plurality corresponding to the current trend
sample interval and for incrementing the count stored in said
portion of that addressed storage location.
11. Monitoring and storing apparatus as claimed in
claim 10, wherein each location of said second plurality of lo-
cations includes a second portion for storing a statistical
characteristic of the heartbeat as occurred during the corres-
ponding trend sample interval, and there is further included
means responsive to the computed interval for determining a sta-
tistical characteristic of the heartbeat, said addressing means
responsive to the determined statistical characteristic for ad-
dressing the location of said second plurality corresponding to
the current trend sample interval and for storing within said
second portion of the addressed location the determined statis-
tical characteristic.
12. Monitoring and storing apparatus as claimed in
claim 11, wherein the statistical characteristic of the heart-
beat comprises the maximum heartbeat rate, the average heartbeat
rate and the minimum heartbeat rate, and said determining means
computes the rate of the heartbeat.
-60-

13. Monitoring and storing apparatus as claimed in
claim 11, wherein the second area of said memory means comprises
a second plurality of locations, each location of said second
plurality for storing a count corresponding to a range of
differences between successive intervals between consecutive
heartbeats, said addressing means comprising means responsive to
the difference between successive intervals for addressing a
corresponding location of said second plurality and for incre-
menting the stored count in the addressed location of said
second plurality.
14. Monitoring and storing apparatus as claimed in
claim 13, wherein said addressing means comprises means respon-
sive to said disrhythmic manifestation for setting a flag and
means responsive to the flag for inhibiting said addressing
means from storing the difference between successive intervals
within the addressed storage location of said second plurality
but permitting said addressing means for storing the determined
statistical characteristic.
15. Monitoring and storing apparatus as claimed in
claim 14, wherein said addressing means comprises means respon-
sive to next one of said heartbeat signals after the provision
of said disrhythmic manifestation for defeating said inhibiting
means and removing the flag, whereby said addressing means is
prepared for storing the current interval difference in a
selected location of said first plurality.
16. Monitoring and storing apparatus as claimed in
claim 2, wherein said addressing means includes means responsive
to said disrhythmic manifestation for inhibiting the addressing
and storing of invalid heart activity signal characteristics.
17. Monitoring and storing apparatus as claimed in
claim 16, wherein said inhibiting means removes said manifesta-
tion after the occurrence of the next one of said heartbeat sig-
nals.
-61-

Description

Note: Descriptions are shown in the official language in which they were submitted.


This appl:ication i3 a clivisiona.l. of our Canadian
patent application Serial. No. 369,045 f:ilecl January 22, 1981.
I. DESCRIPTION
Technlcal Field
This invent.i.on relates to apparatus for compact:ing and
storiny data indicative of a patient's heart activity.
Backgrou_d o'
The prior ar-t has recognized, as described in the
article entitled "The Use of R-R In.terval and Different Histo-
grams in Classifying Disorders of Sinus Rhythm" by P.M.M. Cash-
man appearing in the January 1977 issue of Journal of Medical
Engineering Technology, the need to provide heart activ.ity and
in particular ECG recordinys over a relatively long period of
time from ambulatory patients. The primary objective o:f such
recordings i5 to permit identification of infrequent and tran-
sient disturbances of cardiac rhythm, which may be important in
diagnosing patients with vague or intermi-ttent symptoms such as
di2~y spells, blackouts, and fainting attacks. While recording
for a longer period of time, the physician's interest is to de-
tect short, specific dysrhythmic events which occupy only asmall percentage of the total recording time. Such dysrhythmic
events are considered as singularities in a background rhythm.
Typically, the physician is interested not only in the back-
ground rhythm but also the specific dysrhythmic events which may
comprise slower responses of the heart to influences such as

s~a,~
--2--
drug treatment or psychological stress over long periods of
time. In this regard, it may be desirable to compare the
long recordings from either different patients or from the
same patient at di~ferent times.
At present, the use of ambulatory heart monitors
typiied by the Holter recorder, is well known in the art.
The Holter technique typically records the patient's ECG
activity for at least 24 hours. The difficulty with the use
of a Holter recorder is that it provides a large volume of
information which requires processing and analysis. Such
analysis is usually time consuming and expensive. Typically,
the review and processing time may be reduced by reading out
and displaying the data at increased speeds, typicall~ multi~
ples of 25, 32, 60, and 120 of the normal playback rate. ~n
order to display the heart data, and in particular the QRS
complex, with sufficient clarity, it may be necessary to use
recording apparati with ~requency responses in excess of 12
kHz. This is possible with ultraviolet recorders, fiber
optical recording oscilloscopes, or inklet records, all of
which are expensive.
The prior art has suggested a variety of apparati
for the processing and display of a patient's heart activity
data. Such apparatus may include a detector for automatically
sensing a dysrhythmia and in response thereto, stores and dis-
plays a sample of the patient's ECG either directly onto paperor onto a screen. Further, ajcontourogram may be provided by
a storage oscilloscopeoroscilloscope camera whereby subsequent
lengths of a patient's ECG are displayed one beneath the other.
Each such segment or tracelength is proportional to the beat-
to-beat interval and the right-hand edge of the trace gives a
continuous record of the R-R interval trend. One of the most
common methods of presenting ECG data is to provide a heart
rate trend wherein the R-R interval is continuously measured
and the R-R interval data is segmented into continous time
periods. In particular, the rate or interval of the heart~eat
,

~751~8
-- 3 --
is averaged to provide a display of average heart rates or
intervals for a series of adjacent time periods. For resolv-
ing individual beats on a trend plot, it may be preferable
to plot the instantaneous rate in a form of a trend plot.
In add~ition to the methods of display as discussed
above, there is the need to identify and to highlight the iso-
lated occurrence of an abnormal or ectopic beat. Typically,
the ectopic beat is detected and is counted during the course
of the heart monitoring period. Apparatus has been provided
to detect premature heartbeat. The degree of prematurity can
often be preset by the operator to provide selection of the
beats to be detected. The output of such detectors is applied
to a counting circuit, a trend recorder, or some form of alarm
depending upon the desired application. Several techniques
have been used to detect the abnormal shape of the patient's
ECG signal including simple integrators, filters, and digital
pattern recognition systems. It is contemplated that normal
ECG signals are analyzed to determine the limits of occurrence
of the peaks of the QRS complexes, and to compare such limits
with the incoming signal to determine whether the present ECG
signal fits within these predetermined, normal limits.
In more sophisticated systems, the patient's normal
ECG signal is detected and stored. In subsequent monitoring,
the patient's normal signal is used as a template against
which to compare the current heart data. U. S. Patent 4,115,864
discloses such a cardiac monitor, utilizing a computer to con-
trol the storage of the patient's normal signal, to process
the inputted ECG signal into digital segments, and to compare
those segments with corresponding segments of the previously
stored normal ECG of the patient. When the stored normal
signal does not fit the current signal, an alarm or detector
circuit is actuated and the number of occurrences of that
ectopic signal is stored within the memory of the computer.
The described system is capable of providing a trend history
of such ectopic beats in the form of a histogram or trend plot.
.. ..

In any processing of ECG data, it is necessary to use dis-
crimination techniques to extract a trigger pulse for each cardiac cycle.
In most instances, the detection circuit triggers on the R-wave, and it i9
thus necessary to distinguish the R-wave of the QRS complex from the rest of
the signal. It is contemplated that lt may be necessary, in the presence of
heavy background noise, to terminate the monitoring for the dllration of the
high level background noise. In other instances, the detection circuitry
~ay provide an alarm 50 that the operator can intervene.
Noting the desire to provide monitoring for long periods of
time of a patient's heart activity, the continuouY monitoring by the Holter
monitor provldes a complete record at relatively inexpenslve cost. On the
other hand, the methods of processing and compacting the data for slmpler,
limited display oftentimes requires a ~ore complex system of increased cost.
To avoid either pitfall, ~t has been suggested that the data b& presented in
the form of an R-R interval histogram. A histogram presents heart activity
data taken over a period of time in a compact manner, wherein the successive
intervals between ~-waves are computed and are classified as to their dura-
tion. ~ shown in Figure 1, the X axis is in seconds corresponding to the
R-R interval, whereas the Y axis provides the number of beats that occur
within each interval. Such a presentation provides a large data reduction
in a vlsual way which allows easy comparison between the histograms o the
same patient taken at different times and between different patients. The
R-R interval histogram (IH) is formed by generating an array of columns or
bins, each corresponding to a range of values of beat-to-beat tor R-R)
interval. As each ECG complex is detected, the tiDIe interval between it
and its predecessor is measured and the total in the appropriate bin incre-
mented. A typical histogram might contain a hundred bins, each having a
width of 20 milliseconds, giving a total range of R-R intervals from O to 2
seconds. A bin capacity of 4,095 beats (a 12-bit binary word) will permit
about 4 hours of normal heart monitoring.
A variation of the R-R interval histogram is the R-R interval
--4--

difference hlstogram (IDH~. l'he IDH is ~ormed similarly except that the
quantity as displayed along the X axis ls ~he amourlt by which the R-R
lnterval changes between successive beats. The central bin is designated
0, i.e., 0 difference between successive beats, and a hundred columns
provide a range between -1 second through ~) to +1 second, with a bin width
of 20 milliseconds. The mean of the inten~al differences i9 always very
close to 0. The IDH provides an indication of the manner of change o the
heartbeat, where the width of the IH i9 the measure of the spread o~ heart
rates about the mean value. It is apparent that the use of both the IH
and the IDH provide the physician with a powerful tool for d~agnosis of
; the patient's heart.
Further, U.S. Patent 4,146,029 describes a system implanted
within the body of the patient for dispensing medication into the patient's
body. The system is implemented by a microprocessor for the control of the
process whereby each QRS complex of the patient's heart is det~cted as to
the length of the QRS co~plex and to the interval therebetween. A program
of comparing the length of the QRS complex to an acceptable length is
~; provided to determine the validity of each QRS complex and further to first
~ calculate the interval between ~RS complexes and to compare the measured
;~ 20 length to a known or standard length for a particular patient. More
specifically, the process compares the length to determine how much shorter
the measured ongoing intervals are with regard to the normal length and
dependent upon the decrease of length, i.e., the lncrease of heart rate,
the microprocessor controls dispensing apparatus to vary the dosage given
to the patient.
.~
,:
.. : ,~ .
.` ' _5_
.
, ,:
'~'i',~ '' '
~ ,

~L IL 7 5 .~
-- 6
:
Included in the apparatus .is a process :Eor measuring the R-R in-
terval and for accumulating -the average of the R-R in-terval over
a given period of -time, for example, an hour. The averaged R-R
intervals are compared with known standards to variably control
the dispensation of medication to the patient.
Brief Summary of the Invention
_ _
It is an object of this inven-tion to provide new and
improved apparatus for rnonitoring and storing heart activity
signals utilizing a data processor illustratively .in the form of
a digital microprocessor.
It is a further objec-t of this invention to operate
the data processor in a most ef:~icient manner to evaluate and
store signals indicative oE the patient's heart signals.
; It is a rnore specific object of this invention to pro-
vide new and irnproved apparatus for monitoring and storiny sig-
nals indicative of a patient's heart activity, wherein the
apparatus is embodied by a data processing apparatus that oper-
ates in a first, relatively slow real time frame to sample the
signals of the patient's heart and in a second, relatively fast
computer time frame for processing and evaluating the sampled
heart signals.
In accordance with these and o-ther objects of the in-
vention, there is provided apparatus for monitoring and storing
electrical signals indicative of a patient's heart activlty in-
cluding apparatus for monitoring and storing electrical signals
indicative of heart activity including a series of heartbeats,
said apparatus comprising: (a) means for sampling a patient's
heart activity to provide a sequence of sampled heart signals at
a rate sufficient to provide a plurality of sampled heart sig-
nals of one heartbeat and comparing one sampled heart signalwith a subsequent heart signal of said one heartbea-t to provide
a heartbeat signal indicative of the occurrence of a valid peak
; of said one heartbeat, if said one sampled heart signal has a
~ predetermined amplitude relationship to said subsequent sampled
; heart signal; (b) memory means including a plurality of storage
,~ locations, said locations for storing corresponding heartbeat
~ signals, and (c) means responsive to the provision of said
.

7S~
~ 6a -
:.
heartbeat signal for evaluating a sequence of ~aid heartbeat
signals as stored in said plurality o:E loca-tion~ to determine
whether the patient '8 activity is rhythmic, and if so or pro-
viding a maniEestation of rhythmi.c heart activity and if not,
or providing a manifestation of disrhythmic heart activity.
.~ In an illustrative embodimen-t of this invention, there is pro-
vided a sampling clock i~r providing a ,ampling clock
;
'',;
~,'
~,
... .
:,
.
,,.~,
,`,:
.....
';
'~
1.~
'`"
;:'
, : .

~7~ ~7~
signal to the sampling circui-t whereby the ~amples of ~he
patient's heart activity are taken. A second computer clock
provides computer clock signals to at least a portion of the
data processor whereby the processing of the heart activity i5
effected in the relatively fast computer time frame.
In a further aspect of this invention, the data
processor comprises a first portion or means that operates in
response to the sample clock signal for evaluatiny the heart
activity signals to determine the existence of a valid heart-
beat. In an illustrative embodiment, the heart activity sig-
nals are evaluated to determine segments thereof and thereafter
to examine a series of such segments to determine whether a
valid heartbeat has been monitored.
In a still further aspect of this invention, the
data processor includes a further portion operating in the com-
puter time frame ~or processing the detected heartbeat and in
particular Eor determining the in-terval therebetween, and
subsequently the heartbeat rate. The manifestations of the
intervals between successive heartbeats and the rate o the
heartbeat are stored in a further location of the memory.
Such stored data is evaluated to determine whether the heartbeat
is occurring with a regular rhythm or, if not, is an anomaly.
If such an anomaly i5 detected or the patient has, through
a manually operable switch, provided indication of an anomaly
or a heart discomfort, the data processor transfers a series
of the sampled heart signals to a still further storage loca-
tion to be stored therein for subsequent read out and display.

Brief Descrlption of the Drawin~s_
These and other obJects and advantages of the present invention
will become more apparent by re~erring to the following detailed description
and accompanying drawings, in which:
FIGURES 1 and 2 show, respectively, histograms of the R-R in-
terval and of the interval differences, over an extended period of time;
FIGURES 3A and B show, respectively, a high-level functional
block diagram o the basic elements of the heart monitoring systeM in
accordance with the teachings of this i.nvention, and a perspective view of
the portable data acquisition unit incorporated into the sys~em o~ FIGURF 3A
; FIGURES 4A, B, C, D, and E are detailed circuit diagrams show-
lng the elements of the system generally shown in FIGURE 3A;
FIGURE 5, on the second sheet of drawings, is a diagram of the
storage structure areas of the RAM comprising a memory within the portable
data acquisition system as shown in FIGURE 3A;
FIGURE 6 is a high-level diagram of the non-real tim~ program
as stored within the ROM and as executed by the CPU of the system shown in
FIGURE 3A;
PIGURE 7 shows the various service routines and the ~anner ln
` 2C which they are related to coordinate the real time tasks for the system of
FIGURE 3A;
FICURES 8, 9, 10, and 11 illustrate the monitoring rou~ine as
generally shown in FIGURE 6;
FIGURES 12 to 17 show the details oi' the MONITOR$SERVICE rout-
ine as generally shown ln FIGURE 7, with FIGURES 13 to 17 being on the same
sheet;
FIGURES 1~, B, C, and D illustrate, in graphical form, the
wave shapes of various anomalies th~t may occur within the patient's ECG
si~nal and their timung; and
~ FICURES 19.~, B, and C illus~ratc the segments making up valid
R-wave forms ~s detcctcd by the ~lO~ITORSSER~'ICE routinc as shown in FIGURES
12 to 17.

Description of the Preferred Embodiment
Referring now to the drawings and in particular to
FIGURE 3A, there is shown a heart monitoring system 10 adapted
to be coupled by leads 22a, b, and c to a patient 20 to receive
signals to be processed and in particular compac-ted, before
storage in a random access memory (~M) 26 of a portable acqui-
sition unit lZ. The heart monitoring system 10 is capable of
monitoring a patient's heart for an ex~ended period of time,
e.g., 3 hours and 20 minutes, while continuousl~ processing and
in particular compacting data as received in real time for
storage in a manner that facilitates the later playback and
display by a display unit 30 of the data in a dense form that
is readily discernible to the physician. In particular, the
patient's ECG signals are continuously monitored to provide
heart data in the nature of trends of the average, maximum,
and minimum heart rates for consecutive intervals, e.g., 5
minutes, throughout the data acquisition. In addition, the
system further stores data in a orm~ whereby histograms of
the R-R interval difference and heart rate may be displayed.
In addition, the heart monitoring system is designed to detect
certain arrhythmias of interest and upon detection, automati-
cally stores for a limited period of time a segment of the ECG
signal indicative of the detected arrhythmia. After the acqui-
sition period is over, the heart monitoring system 10 is
assembled so that the portable acquisition unit 12 is coupled
to its playback unit 30 to initiate a readout and display upon
its analog chart recorder 36. The playback unit is divided
into a first portion known as an adaptor 32 and a second por-
tion including the recorder 36 and a chart edge printer 38.
As will be explained in detail later, the edge printer 38 com-
prises an array of elements for printing a series of marks
along the edge of the chart of the recorder 36 to provide an
indication of the occurrence of certain events during the
monitoring operation; for example, the occurrence of a heart
anomaly as detected by the acquisition unit 12 would be noted

by a mark that would be pl.aced upon an owtputted trend chart to desigllate
that interval in whlch anomaly occurred. Furthcr, the patient 20, upon sens-
ing heart pa;.n, presses a mark button 84, as shown in FIGURES 3~ and 4A, to
cause the heart signals occurring during that interval to be i~entified by a
mark provided by the chart edge printer 38. In addition, the printer 38 may
provide marks to separate the various charts as are printed out by the re-
corder 36.
The heart monitoring system is generally shown in FIGURE 3A where-
in the ECG signals are applied by the leads 22a~ b, and c from electrodes
attached to the patient 20, ViQ a diEferential preamplifier 18 to the port-
;able acquisition unit 12 and in particullr to an A/D converter 16. '['he
signals now in digital Eorm are applied to the central processor unit (CPU)
14~ The input of the A/D converter 16 is coupled via the differential ampli-
Eier 18 to the connectors 22a and 22b. The difEerential amplifi~r 18 in-
cludes an ECG preamplifier that buffers the ECG snap connectors 22a and 22b
to reduce cable generated artifacts. The ECG preamplifier drives the differ-
ential amplifier 18 with a passive ground system. The snap connector 22b is
attached to a pre-gelled ECG electrode approximately located at site V5 of
the patient's side, whereas the connector 22a is attached to a pre-gelled ECG
electrode approximately located at the sternum. These preamplifier connec-
tions will produce a positive-going R-wave for most patients. The ground con-
nector 22c is attached to a pre-gelled ECG electrode located on the left
pectoral region. Though the illustrative embodiment shown in FIGURE 3A
externally monitors the patient's heart, it is contemplated within the teach-
ings of this invention to connect the sensing electrodes directly to the
patient's heart and transmit the detected heart signals from an internally
implanted transmitter to an external receiver coupled suitably to the data
acquisition unit; the contemplated transmitter and receiver may illustratively
take the form of that disclosed in U. S. Patent 4,166,470 assigned to the
assignee of this invention.
A clock signal, as derived from a sample clock 24, is applied to
the CPU 14 to control the rate at which sample signals
.
,~ ..,~"

7~
are derived ~rom the patient 20. It i.5 unclerstood that the
CPU 14 has its own internal clock, as is wc311 known in the art,
for controlling its internal operations as well as its inter-
facing with the other elements of the unit 12. The CPU 14 is
coupled by a data/instruction (I/D) bus 27 to each of a read
only memory (ROM) 28 and to the RAM 26. The ROM 28 is adapted
to store the instructions which the CPU 14 executes to detect
or recognize the input ECG signals, to process these signals
including compaction and to appropriately store the processed
signal in designated areas of the R.AM 26; the programs or
routines as stored in the ROM 28 will be explained generally
with respect to FIGURES 6 and 7, and in detail with respect to
FIGURES 8 to 17. The data as processed and compacted by the
CPU 14 is stored in designated areas of the RAM 26 dependent
upon the nature of the data, the areas of the RAM 26 in which
data is stored are shown in FIGURE 5.
~ The playback unit 30 is optically coupled to an iso
lating latch or playback adaptor 32 which acts as an isolating
digital buffer to receive from the acquisition unit 12 infor-
mation to be transmitted to and displayed upon the analogchart recorder 36 and the chart edge printer 38. Because of
the optical isolation, the patient 20 may be connected to the
ac~uisition unit 12 when the acquisition unit 12 is connected
to the line powered playback unit 30 without fear that the
patient's ECG signal will be affected by noise or that an elec-
trical shock hazard will be affected by noise or that an
electrical shock hazard will be presented to the patient 20.
As shown in FIGURE 3A, data is applied via a D~A converter 34
to the analog chart recorder 36 which may illustratively take
the form of a pen recorder as manufactured by Astromed under
their designation Model 102. The latch 32 is also coupled to
an edge printer 38 as manufactured by Texas Instruments under
their designation EPN 3300.
FIGURE 5 discloses a data structure or memory map
illustrating the manner in which the various types of data are

:~'7Si ~
-~12-
stored in corresponding recJiong oE ~he R~M 26. As shown in
FIGURE 5, the RAM 26 includes a first area 26a for receiving
ECG data as continously monitored by the system 10 when dis-
posed in its monltoring mode. In the monitoring mode, as will
be explained in detail later, each QRS complex of the patient's
ECG signal is detected and analyzed to determine whether it is
valid, i.e., that it is not nolse, and upon occurrence of a
valid QRS complex signal, the signa:L i5 processed and stored
within the first area 26a. It is desired to retain a strip of
the ECG signal if there is detected an arrhythmia which may
occur after a desired portion of the signal has already been
detected. To this end, the first area 26a of the R~M is
operated as a pseudo-tape loop by storing each sample piece
of data in successively lower RAM addresses until the lower
limit of a section of the area 26a is reached. At that point,
the storage point of address P is returned to the topmost
storage location of that section and the next data is over-
written upon the o]d data. The cycle is repeated continuously
until an arrhythmia is detected at which time a pointer to
the first/last data boundary is stored and further data storage
is inhibited. After the storage is complete, the first/last
data pointer or boundary is saved, in a location noted as
STARTING POINT, or directing output of data therefrom. The
area 26a of the RAM 26 is divided into a plurality, e.g., nine
of buffer sections 26a-0 to 26a-8, each buffer section includ-
ing a qiven number (e.g., 360) of consecutive locations,
wherein data indicatinq samples of every fourth ECG signal
are placed in ~equence as indicated above. When one buffer
section has been filled, the address or pointer P to the area
26a is moved to designate the topmost location available within
the next buffer section. In this manner, nine strips of the
ECG signal may be recorded and stored within the RAM 26 to play
out and reproduce, as will be explained, a visual display of
the ECG signal at that time. Though only nine buffer sections
are shown within the area 26a of the RAM 26, it is contemplated

-13- ~7~ 3
that 40 or even more such sections could be incorporated
within the area 26a limited only by the size of the deslred
memory and its C09-t, and considerations of battèry drain.
In a further contemplated embodiment of this invention, a
single circular buffer section could be used with the data
stored therein replicated in-to permanent storage loca-tions of
the RAM 26 upon the dete~tion of a heart anomaly.
The second area 26b is dedicated for storing data
to be displayed in a histogram format. In particular, the
area 26b is configured illustrative:ly as two arrays of 50
16-bit cells. A first of the 50-cell arrays is intended for
storing an interval difference histogram ~ID~I), wherein each
cell is 4 sample clocks, i.e., 16-2/3 ms. wide. As will be
;explained later, after the R-R interval has been calculated
and the difference between successive interval~ obtained,
that internal difference is divided by 4, the fractional part
being disregarded. The result of the division process is
used to point to the appropriate ID~I array cell within the
first array of the area 26b and that cell is incremented to
indicate the occurrence of a difference of that particular
order. In an illustrative embodiment of this invention, each
of 25 IDH cells is provided on the negative and positive sides
of the center to handle differences ranging from 0 to 100
sample clocks, i.e., 0 to 416-2/3 ms. with all differences
larger than 416-2/3 ignored. The second 50-cell array of
the area 26b is intended for storing the rate histogram,
wherein each cell is 5 beats per minute wide. As will be ex-
plained later, after the R-R interval has been measured and
the equivalent heart rate calculated, that rate is divided by
5, the fractional part being disregarded. The result of the
- division process is used to point to the appropriate rate his-
togram cell, and that cell is incremented to indicate the
occurrence of that particular interval. The interval differ-
ence histogram is primarily used to indicate rhythm instabili-
ties, such as might be produced by atrial fluttcr, sick-sinus-

syndrone, and premature contrac-tion, while -the rate his-togram
indica-tes the distribution of intervals. ~y contrast, a trend
plo-t indicates gross changes in intervals as will now be dis-
cussed.
Area 26c of the RAM 26 provides a s-torage area for re-
ceiving trend data including three sets of 40 ~-bit cells, each
cell for storing one of the minimum and maximum of the patient's
heart rate and the average of the heart rate as detected during
tha~ interval, e.g., 5 minutes. Each set of cells corre~ponds
to a -trend interval.
In addition, area 26c provides storage for data indi
cating whether the mark button 84 was pressed or EC~ was stored
during a trend sample interval. Typically, if the patient no-
;tices some symptom, e.g., dizziness, fainting, or some otherdiscomfort indicative of a heart condition, he may push the mark
pushbutton 84 as disposed upon his portable acquisition unit 12
and as shown more specifically in FIGURES 3B and 4B. Upon the
actuation of the pushbutton 84, a specific bit pattern is stored
in the cell corresponding to -the trend sample interval wherein
pushbutton ~4 was pressed. I~ an ECG strip was saved in area
26c during a given trend sample interval, the bit pattern in the
corresponding cell will be modified to indicate that fact. Upon
playback, an indication is made upon the analog chart recorder
36 as to that interval in which the pushbutton 84 was depressed
in the form of a mark identifying the time interval, whereby the
reviewing physician may identify the time of button depression
or ECG sample storage with the corresponding values of minimum,
maximum, and average heartbeat rate.
Area 26d provides data storage to receive various
variables including state indications and flags that are set
during execution of the process.
Referring now to FIG~RES 4A, ~, C, and D, there is
shown detailed circuit diagrams of -the heart monitoring appara-
tus 10 as generally shown in FIGUR~ 3A. The data acquisition
unit 12 is found principally in FIGURES 4~ and 4B, wherein there
is shown the CPU 14 which may illustratively

-l5- ~'7~
take the form of a central procosslng un:it manufactured by Intel under their
designation 8085A. The CPU 14, in conjunction with address latch 44, re-
ceives and transmits data via its address bus 46~ control bus 50, the data
bus 48, and the connectors Jl and J2. Data is received from the A/D con-
verter 16, as shown in F~GURF: 4C, and is transferred to and from the RAM 26
via the data bus 48, as shown in ~IGURE 4A. The RAM 26 is comprised of a
plurality of memory elements as manufactured by l~larris under their designa-
tion No. HM 6514. The data bus 48 is connected to the data transport ports
DQl-4 of each of these elements. The ROM 28 is comprised of two memory ele-
ments as manufactured by Intel under their designation 2716 and upon beingaddressed, instructions of the programs to be described are read out via
their output ports 00-07 to be transmitted via the data bus 48 to khe CPU 14.
As shown in FIGURES 4A and B, addresses are applied via an address bus 46 to
the elements of the RAM 26 and of the ROM 28 to address one of the elements
and a selected location therein. The CPU 14 generates an initial set of
addresses from its outputs AlO, 11, and 12 to be applied to a pair of chip or
element decoders 40 and 42, illustratively taking the form of a decoder manu-
factured by RCA under their designation 4028. The outputs of the chip de-
coders 40 and 42 develop address signals whereby one of the chips or elements
of the RAM 26 or ROM 28 is addressed at a time. The particular location with-
in one of the elements of the RAM 26 or the ROM 28 to be addressed is
selected by an address latch 44 whose inputs are taken from the ports ADE and
AD 0-7 of the CPU 14 to provide output signals applied by the address bus 46
to each of the aforementioned elements to address a selected location therein.
Further command signals are developed from the IO/M to control
whether data is to be transferred between the RAM 26 or whether data is to be
transferred to the input/output (I/O) and in particular to be transferred via
the data bus 48 from the A/D converter 16 (as shown in FIGURE 4C) or to
,~ .

1.6~
transfer data to the add.ressing latch 1~0 ~as shown in FIGURE
4D), which comprises a par-t of khe latch 32 (as shown in FIGURE
3).. The ports designated RD and WR control whether data is to
be written onto or read out from the RAM 26. As shown in
5 FIGURE 4A, the CPU 14 includes a set o interrupt inputs that
are used in a manner, as will be more fully explained, to sim-
plify the programs that are required to implement the various
processes and functions of recognition and storage of ECG data.
For example, the sample clock 24, as shown in de~ail in FIGURE
4C, applies its sample signal via conductor 80, conneckors P1
and Jl to the RST 7.5 interrupt of the CPU 14. The sample
clock calls a SAMPLE$ECG$AND$DO$TIMING routine, whereby sam-
ples of the ECG signal are taken and ~he R-wave o~ the QRS
complex is examined to determine whether a valid R-wave is
15; detected to set thereby an R$FLAG, as will be explained with
: respect to FIGURES 12 to 17.
A further interrupt is made when a voltage detection
circuit in the orm of a Schmitt trigyer 54, a part of the
power supply 52, as shown in FIGURE 4A, senses that the battery
voltage has fallen below a predetermined level. A battery 82,
as shown in FIGURE 4C, is coupled via connectors Pl and Jl to
the power supply 52 and illustratively comprise an 18-volt
battery; when the Schmitt trigger 54 senses that the voltage
of the battery 82 has fallen below 10 volts, an output is
developed and applied to the TRAP interrupt of the C~U 14 to
initiate a controlled transfer to a shutdown mode of opera- ;
`tion, as will be explained with respect to FIGURE 7, wherein
only the logic addressing and processing circuitry and the
chips of the RAM 26 remain energized, thereby to preserve the
energy level of the battery 82. In particular, the Schmitt
trigger 54 comprises an operational amplifier Ul9 that compares
: the voltage output of the battery 82, normally 18 volts, with
the regulated voltage 5SD as provided from the output 55 of
the power supply 52, and if the battery voltage falls below a
minimum, illustratively 10 volts, the operational amplifier

7 ~ ~t
-17-
Ul9 provides a high-going output siynal via the NOR ga~e U8 to
the TRAP interrupt of the CPU 14 to thereby initiate the LOW$-
VOLTAGE$DETECTOR$SERVICE 604, as will be explained with respect
to FIGURE 7.
The circuitry, as shown in FIGURE 4A, of the acquisi-
tion unit 12 responds to such a low voltage condition in the
Eollowing manner. First the A15, IO/M, and RD output terminals
of the CPU 14 all go high, causing the NAND gate U5 to apply
- a low-going output signal to a pulse-shaping circuit comprised
of capacitor C16, diode CR5, and resistor R40. The shaped out-
put is in turn applied to set a flip-floP circuit 57 comprised
of two NOR gates, each designated by the notation U8. As seen
in FIGURE 4A, the delayed output 56 of this flip-flop circuit
57 is applied to the power supply 52 via transistor Ql and
: 15 ;also to an array of NAND gates U4 and U5. When transistor Ql
- is turned on, a current is applied to a switching regulator
U20 that causes power supply 52 to deenergize most elements
of the system 10, as will be explained later. In this manner~
generally the power supply 52 removes energization from most
of the elements of the system 10 while maintaining energization
to the various elements of the RAM 26 and further, the array
of NAND gates V4 and U5 are disabled to prevent the further
: application of address signals from the chip decoders 40 and
42 to the RAM 26. In this way, the data previously stored in
the elements of the RAM 26 will continue to be stored, and
further, addresses and/or spurious signals that may be g~ner-
ated by the CPU 14 and/or the chip decoders 40 and 42 cannot
be applied after voltage shutdown to the RAM 26. Further,
the output of the flip-flop 57 is applied to drive conductive
the transistor Q2 of the power supply 52 whereby a positive-
going signal is applied to the SD input of the switching xegulator
circuit U20, which may illustratively take the form of that
regulator manufactured by Silicon General under their designa-
tion SG1524. In the normal mode of operation, the regulator
U20 periodically energizes the base of the transistor Q3 via
... .

~17~
-18-
its outputs CA and CB at a rate to charge capacitor C14 -to a
desired voltage in the order of +5 volts; the capacitor C14
is repeatedly recharged while tending to be discharged by the
load via inductor Ll whereby a substantially constant, regu-
lated ~5 volts is applied to its output terminal 55, alsodesignated ~5SD. In addition, the periodic voltayes are also
applied by the primary winding of the transformer T2 to its
output secondaries whereby ~8 volts are applied to energize
elements of the circuit shown in FIW RE 4C. Linear regulator
U20 provides at its output VR a ~5 regulated voltaye. As can
be seen from an examination of FIGURES 4A, B, C, and D, most
of the elements of the system lO are energized by the regulated
+5SD voltage as derived from the output 55 of the power supply
52 while it is being operated in its normal, regulating mode.
Howevex, when the transistor Q2 is driven conductive upon the
occurrence of a low voltage condition, an input signal is
applied to the SD input thereby disposing the regulator U20 to
the second, non-operative mode whereby the regulated ~5SD volt-
age i5 removed from most of the e:Lements of the system 10
thereby reducing significantly the drain as applied upon the
battery 82. During its shutdown mode of operation, a voltage
of ~5 volts is only applied by the output terminal VR of the
power supply 52 to the various elements of the RAM 26, the chip
decoders 40 and 42, the NAND gates U4, V5, and U6, and the
flip-flop 57. In particular, the normally applied output from
the terminals CA and CB of the regulator U20 goes high to
render the transistbr Q3 non-conductive, thereby disconnecting
the voltage from the primary winding of the transformer T2 and
the inductor Ll,and turning off the output voltage of ~8
derived from the secondary of the transformer T2 and the output
derived from the terminal 55. However, as noted above, the
regulator U20 continues to apply the -~5 voltage from its output
VR to the above-noted elements.
The RS~ 6.5 interrupt of the CPU 14 is used to detect
whether the preamplifier 18 is connected via connector J4 to

~ -19- ~7~
the portable acquisition unit 12, as shown in FIGURE 3. A5
illustrated in FIGURE 4C, the pins 1 and 2 oE the connector
J4 are connected to the preamplifier connector P4 which has
a short across pins 1 and 2 whereby a low or "0" signal is applied via
the conductor 94 and connectors Pl and ~1 to the RST 6.5
interrupt of -the CPU 14. As will be explained with respect
to FIGURE 7, in the absence of a connection to the ECG pre-
amplifier 18, the system 10 is prevented from entering its
monitor or calibration mode of operation.
In the course of either the calibration or monitor
modes of operation, a switch 84, as shown in FIGURE 4C, may
be depressed to apply a signal via conductor 86 and connectors
Pl and Jl to the SID input of the CPU 14. In the monitoring
mode, the depression of the switch 84 effects a storage of a
flag identifying a relatively small interval during the entire
monitoring period in which the patient sensed some symptom or
felt some discomfort. In the calibration mode, depression
of switch 84 causes the refractory period associated with
sensing of the QRS to be increased. The SOD terminal of the
CPU 14 drives via conductor 87 and connectors Jl and J2 the
transistor Ql, as shown in FIGURE 4C, whereby the ECG LED 88
is energized. As will be explained, during the calibration
modes a potentiometer R9 within the ECG amplifier 19, as
shown in FIGURE 4C, is adjusted to set the gain of the ampli-
fier 19 to an appropriate level dependent upon the amplitudeof the patient's ECG signal. The LED 88 is energized in a
manner to indicate when the potentiometer R9 has been appro-
priately adjusted. A start button 95, as shown in FIGURE 4C,
is depressed to initiate the operation of the system 10
whereby a low signal is applied to the RESET IN input of the
CPU 14. In particular, the start button 96 is depressed to
apply a low-going signal via the terminals Pl and Jl to a
NAND gate U5, whose output is in turn applied to reset the
flip-flop 57. Upon being reset, the flip-flop 57 applies a
low signal to deenergize the transistor Q2, whereby the high
: ', ' '' '
. . .

-20-
level applied to the SD lnput o~ the switching regulator U20 is removed, per-
mitting regulator U20 to return to the normally energlzed Mode. In addition,
the CPU 14 develops an output reset signal that is applied to reset and
clear the addressing latch 140, as shown in FIGURE 4D.
As shown in PIGURE 4A, a computer clock 15 provides a 1.843 ~Iz
clock signal that times the execution of the program by the CPU 14 as well as
the various other data transfer functions controlled thereby. As will be
explained later, the functions of the CPU 14 including various data transfer
functions and calculations are carried out under the control and within the
time frame of the computer clock 15, whereas many of the data ga~hering func-
tions, including the sampling oE the patient's EC'G signals are carried out in
real time under the control of the sample clock 24.
As shown in FIGURE 4C, the input ECG signals are applied to the
differential ECG preamplifier 18 of a design familiar to those skilled in the
art. The output of preamplifier 18 is fed to the ECG amplifier 19 which com~
prises operational amplifiers 90 and 92 that are connected in series with
each other. As mentioned above, the variable potentiometer R9 controls the
gain of the ECG amplifier l9. The output of ECG amplifier l9 is applied to
the input Ii of the A/D converter 16. ~he converted digital signal is
applied from the outputs B0-7 of the A/D converter 16 via the data bus 48 to
be selectively stored under the control of the CPIJ unit 14 within the ele-
ments of the RAM 26, as shown in FIGURES 4A and 4B.
FIGURES 4D and 4E show the isolating latch 32 and the D/A converter
34, generally shown in FIGURE 3, as coupled to the analog char~ recorder 36
and the chart edge printer 38. The isolating latch 32 is comprised of the
addressing latch 140, a 16-channel optical isolator 141, and a DC-DC con-
verter 139. The data to be printed or displayed is applied via the data bus
48 to the inputs D0 to D7 of the addressing latch 140. The latch 140 deve-
lops a first set of digital outputs PB0 to PB7 that are applied via the 16-
-channel optical isolater 141, as
:

~ ~ 7 5~
-21-
shown in FIGURE 4D, and the D/A converter 34, as shown in
FIGURE 4E, whereby the analog recorcler 36 is driven. The
latch 140 develops a second set of outputs PA0 to P~7 that
are applied to the 7-dot chart print:er 38. In particular,
the outputs of the latch 140 are applied to an array of dual
channel, optical isolators U4 to Ul], as shown in FIGURE 4D.
Isolators U4 to Ull are provided to isolate the analog chart
recorder 36 and the char~ edge print:er 38, which may be powered
by a conventional ~C outlet, from the data acquisition unit
12 to insure that signals, including the energizing voltage as
would be picked up by the recorder 36 and printer 38, will not
be applied to either distort the ECG signals as derived from
the patient 20 or present a shock hazard to the patient 20.
The isolated output ~ignals from the optical isolators corre-
spondi.ng to the outputs PAl to PA7 and PB0 to PB7 are appl.iedvia connector~ P4 to the D/A converter 34, and to a set of
drive transistors Ql to Q8, respectively. As shown in more
detail in FIGURE 4E, the collectors of each of the drive tran-
sistors Ql to Q8 are connected to the inputs of the chart print-
er connector 35. FIGURE 4E does not explicitly show thechart edge printer 38, but it is understood that an array of
printing elements in the form of heater resistors are incor-
porated into the analog chart recorder 36 and are energized
to selectively print out a mark or marks to highlight the.
various graphs or presentations of data made thereby. In par-
ticular, the analog chart recorder 36 is capable of making a
presentation indicative of A R-R interval histogram in a
manner similar to that shown in FIGURE 1, an interval differ-
ence histogram similar to that shown in FIGURE 2, and a trend
sample showing for a series of consecutive trend sample inter-
vals, e . g ., 5 minutes, the minimum/maximum heart~eat rates.
In the course of the presentation by the analog chart recorder
36, the chart printer 38 will provide a series of marks on the
same paper to separate these various graphs and, with respect
to the trend sample graph, will provide a series of different
marks to indicate the occurrence of various events in a trend
sample. For example, a triple mark above a trend sample

-22- '~ 7~
indicates that the system has detected an anomaly, as will be
described :in detail later. I~ the patient 20 senses distress
possibly related to his heart activity and in response thereto
depresses the mark button 84, the chart edge printer 38 is
energized to place a double mark adjacent that trend sample.
If excessive noi.se is imposed upon the EGG signal as derived
from the patient 20, the occurrence of that noise will be
indicated by the chart edge printer 38 by forming a single
mark above the corresponding trend sample. The connector 35
applies via leads to energize the heat resisting elements
(not shown) to form the noted marks.
As indicated above, the addressing latch 140 applies
a series o~ outpu-ts PB0 to PB7 via ~le optical isolators U8 to Ull to
the D/A converter 34, which provides an output signal to its
Io output to an operational amplifier U2. In turn, the
operational amplifier U2 output is applied to the signal input
of the chart recorder 36, whereby its pen is moved to reflect
the input analog signal. The circuit as shown in FIG~RE 4E
provides means in the form of the potentiometer R36 whereby
an offset may be provided to the signal to be applied to the
analog chart recorder 36.
As will be explained later in de~ail, the particular
mode of operation in which the system 10 is disposed is depend-
ent upon which of the elements of the system are connected to
the data acquisition unit 12, as shown in FIGURE 3A. For
example, the system is operative in either a playback mode or
a calibrati.on mode i~ the playback unit 30 is coupled to the
portable acquisition unit 12. As shown in FIGURE 4D, the
addressing latch 140 includes outputs PCl and PC0 that are
set, respectively, high and low by the signals imposed upon
the outputs PC5 and PC4. If the connector P3 is in fact
coupled to the connector J3, as shown in FIGURE 4C, the
addressing latch 140 may be accessed to determine the signals
imposed upon terminals PCl and PC0 to thereby set the system
10 to enter either its calibration or playback mode of operation.

75 ~
23-
In addition, inputs are provided from khe All and Al2 out-
puts of the CPU 14, as shown in FIGURE ~A, to the Al and A0
inputs of the addressing latch 140 to control whether the
particular signal as applied via the data bus 48 is to be
S applied to the chart recorder 36 from its outputs PB0 to PB7
or to the chart edge printer 38 from the outputs PAl to PA7.
Referring now to FIGURE 6, there is shown a h.igh-
level flow diagram of the method in which the heart data moni-
tor of this invention operates to record and compact heart
data and to playback the stored data. in a form that intelligi-
bly informs the physician of the patient's heart condition.
Initially, in step 200, the operator depresses the start/reset
button 96 upon the control panel of -the acquisition unit 12 as
shown in FIGURE 3B. Thereafter, in step 202, the interrupts
lS to the CPU 14 are disabled. As explained above, the CPU 14
has a variety of interrupt inputs which permit the CPU 14 to
take data from different areas of the ROM 28. As will be
explained with respect to FIGURE 7, the interrupt permits
a hardware mechanization of various processes to simplify
the software and to effect a saving in time of execution.
Initially, the~e CPU interrupts are disabled. The interrupts
are enabled by a series of flags that are disposed within an
interrupt array or register within the CPU 14 that permit
selected of the CPU's interrupts to be used while disabling
the remainder. Initially, each of the CPU's interrupts are
disabled and thereafter an initialization process enables
selected of the CPU's interrupts by applying flags to the
corresponding areas of the interrupt array. As a further
part of the initialization, signals are applied by the CPU 14
to set the isolating latch 32, permitting data flow to and
from the analog chart recorder 36 and the chart edge printer
38, and to sense whether the playback unit 30 is coupled to
the acquisition unit 12. Thereafter, the select step 204 i~
executed whereby one of the following operating modes is
selected: playback (PBKM), calibration (CALIBM~, and monitoring
.

` ~` `` -2~ 7~
(MNTRM). sasically~ step 204 looks at the system configura-
tion in terms o~ which elements are connected to the acquisi-
tion unit 12 to determine in which mode the system 10 may
be operated. For example, I~ only the playback unit 30 is
coupled to the acquisition unit 12, then step 204 trans~ers
the pro~ram to the playback mode by step 300. However, if
the playback unit 30 is disconnected from the acquisition unit
12 and the preamplifier 18, and in particular its connector
J4, a~ shown in FIGURE 4C, is coupled to the portable acqui~
sition unit 12, the system 10 transfers to the moni-toring
mode 500 via the initializing step 400. In particular, the
connector J4 interconnecting the preampli~ier 18 and the
acquisition UTIit 12 has two pins connected together, whereby
the RST 6.5 input to the CPU is shorted or rendered -to its
lowest state, so that an input state is stored in a register
of the CPU 14, to be accessed during the select step 204.
Similarly, the coupling of the acquisition unit 12 to the
playback unit 3n and in particular to the isolating latch 32
is made via the input/output port of the CPU 14 which responds
if the isolating latch 32 is coupled to the CPU 14.
Be~ore entering into the monitoring mode 500, it is
necessary to check PERMIT$FLAG indicating that the system had
been calibrated by the calibration mode 206. Otherwise if ~ -
the PERMIT$FLAG is not sensed, the system cannot enter the
monitoring mode 500. The MCLEAR routine 400 resets PERMIT$~LAG
after directing the process to monitoring mode 500 to prevent
reentry into the monitoring mode 500 unless the calibration
mode 206 has been rerun to set PERMIT$FLAG. In order to enter
the calibration mode 206, it is necessary to detect that the
data acquisition unit 12 is connected to both the p~eampli~ier
18 by detecting the shorted pins of its connector J4, as well
as to the isolating latch 32. ~n the other hand, i the
data acquisition unit 12 is not coupled to any other device,
the system exits immediately to the standby mode 208.
In the calibration mode 206, the CALIBM (calibration
mode controller) program is executed to help the operator

- 25 ~
adjust -the system to accept different a~nplitudes of heart sig-
nals and set difEeren-t refractory periods as are needed to pro-
perly de-tect the QRS complexes of a patient. In connection with
the amplitude of the patient's R-wave, these amplitudes may vary
as much as 20:1 within a normal patient popula-tion. Thus, to
prevent saturation of the A/D converter 16 and to permit it to
operate within a ran~e o~ 30 to 50% of its total capability, it
is necessary to set the gain of the operational amplifier 90
(see FIGURE 4C) of the EGC amplifier l9 until the normal ampli-
tude of the R-wave is of a height to permit a 2:1 increase of
the ECG signal amplitude without reaching the upper or lower
count limits of the A/D converter 16. In this mode, the output
of the preamplifier 18 is continuously monitored via A/D conver-
ter 16, to determine whether the deviation from baseline peak,
whether negative or positive, exceeds 40 A/D converter units or
counts. If the peak input is below this limit, the CALIBM pro-
gram causes the ECG LED 88, as shown in FIGUR~ 4C, to be left
unenergized. If the peak amplitudes result in peak deviations
from baseline that exceed a second limit corresponding to 60
units of the A/D converter 16, then the LED 88 is continuously
lit. If the peak deviation from baseline measured by the A/D
converter 16 is between 40 and 60 units, the LED 88 will flash
each time a QRS complex is detected. Normally, it is desired to
set the gain of amplifier 90 such that the output of the A/D
converter 16 around the baseline deviates about -~ 50 counts
throughout the cardiac cycle. To this end, the variable gain of
the input amplifier 90 within the A/D converter 16 is adjusted,
via R9, so that the LED 88 flashes on each QRS. In addition,
the calibration mode 206 adjusts the refractory period, i.e.,
the expected period between the R and T waves of the patient's
heart signal, during which EC~ signals applied to the da-ta ac-
quisition unit 12 will be inputted but not processed to detect
QRS complexes. To set the refractory period, the mark button ~4
is depressed, whereby a buzz or

-26- ~ J:~
high :Erequency s.ignal is imparted to the ECG chart for a period as long as
the mark button 84 is depressed. Such a signal is developed by the analog
chart recorder 30 and increases in duration every 4 seconds while the
operator holds mark button 84 down. The operator holds mark button 84 down
until the refractory period indicated by the buzz signal extends to the end
of the T wave. As will be explained later, the refractory period is com-
puted in accordance with a SET.~REFRACTORY$TIME subroutine dependent upon the
length of the last occurring R-R interval and a constant that is changed
only during adjustment of the refractory period, i.e., the corresponding
count of the refractory period counter in tuLn sets -the refractory ca].ibra-
;tion constant which is used in the calculation of the refractory period upon
successive occurrences of the R-R interval.
After calibration, as indicated by the setting of the PERMIT~FLAG,
and the detection that the data acquisition unit 12 is coupled to the pre-
amplifier 18, the select step 204 branches to the clear/initiali~ing routine
400, executing the MCLEAR program wherein the storage areas as shown in
FIGURE 5 are cleared for receiving the refractory constants in preparation to
entering the monitoring mode 500. The monitoring mode 500 will be explained
later with respect to FIGURES 8, 9, 10, and ll, and is controlled by the
MNTRM program to detect successive QRS complexes, to determine whether such
complexes are valid or not, to characterize valid QRS complexes, to measure
R-R intervals, and to control the processing of such data and the subsequent
storage of the processed data within the RAM 26. ~he R-R interval is com-
puted and the corresponding rate is obtained before storage within area 26c
of the RAM 26, as shown in FIGURE 5. Next, the differences between the suc-
cessively calculated R-R intervals are calculated to increment one of the
bins within area 26b of the RAM 26. Further, -there is included a classi:Eica-
tion subroutine to sense abnormal or arrhythmic heart
~, .
, .

~7~
-27~
signals; in particular it is determined whether the rate is
above 120 or below ~0 beats per minute (~PM) or whether there
has been a skipped or early beat. If so, the SAVE$FI~G is set
and a trigger signal is generated to store the current set or
strip of ECG rhythm signals within one of the nine buffers
within area 26a of the RAM 26. Shortly after the S~VE$FLAG is
set, the data in the current buffer is frozen and the pointer
to the address of the s-toraye buffer moves to the next buffer
if available within the area 26a.
The monitoring routine 500 controls monitor mode
operations; it does not include routines for performing xeal
time tasks such as timing intervals, R-wave detections, and
calculating the R-R interval. The real time routines are
separate, as shown generally in FIGURE 6, in order to simplify
the total software requirement of this system. Briefly, real
time tasks, including the R-wave detection routine, are
entered once for each cycle of the sample clock 24. The moni-
toring routine 500 is executed as long as a RUN$FLAG remains
true. Any of the following events can set RUN$FLAG false,
thus terminatiny the monitor mode: first, the battery for
energizing the system 10 may fall below a predetermined level;
second, area 26c for receiving -the trend data may be filled,
i.e., no more data may be stored therein; and third, the con-
nector J4 of the preamplifier 18 may be disconnected. After
RUN$FLAG is set false, MNTRM completes final housekeeping
tasks in block 500 and transfers control to step 208 wherein
the standby mode controller deenergizes all system components
except the RAM 26. In particular, upon the completion of
each of the steps in routines 300, 206, or 500, the process
transfers to the standby mode 208 wherein the interrupts of the
CPU 14 are disabled and the data as stored within the RAM 26 is
protected from being read out or written upon. Further, the
power supply 52 is shut down to all parts of the s~stem 10 with
the exception of the power that is supplied to the RAM 26,
thereby insuring the data as stored therein is safely continued

-28-
to be stored. In this Eashion, the dxain as placed upon the
system's battery 82 is minlmized to insure maximum battery
life.
Further, the select step 204 may directly transfer
S the process into the standby mode 2()8 if -the terminal of the
preamplifier 18 as well as the playback unit 80 are discon-
nected from the acquisition unit 12.
Further, as shown generally in FIGURE 6, a real time
interface program 600 is provided that organizes the various
tasks required to be performed in real time, for example, the
detection of the R-wave, as a service to the mode controller
programs that may be executed in computer time. These real
time service routines may detect certain conditions which
place the system 10 directly into the standby mode 208.
Referring now to FIGURE 7, the real time interface proyrarn
600 is shown in greater detail~ Step 602 detects whether the
output of the system battery 82 is low and, if so, actuates
the CPU 14 to enter a LOW$VOLTAGE$DETECTOR$SERVICE or routine
604, whereby the process is transferred to the standby mode
208. As shown in FIGURE 4A, there is included a Schmitt
trigger circuit 54 that is coupled to sense the output of the
battery 82. In response to detection of its voltage below a
predetermined le~el, e.g., 10 volts, the circuit 54 applies a
high or +5 signal to the TRAP input of the CPU 14 causing the
CPU 14 to enter the LOW$VOLTAGE$DETECTOR$SERVICE 604. In
this service 604, a determination is first made of whether
the process is in the monitoring mode 500 and, if so, sets
the RUN$FLAG false. As will be explained in detail later
with respect to FIGURE 8, the monitoring mode 500 responds to
the setting of the RUN$FLAG false to insure that the ECG data
is completely recorded, that the calculations of the currént
R-R interval is completed, and that the average of the then
obtained ~-R interval~is calculated and stored in an appro-
priate location within the RAM 26. Thereafter, the RAM 26 is
shut down in a ma~ner so as not to lose any stored data and
,

~.~7~
29
to maintain its energization, as will be explained later. The
Schmitt circuit 54 actuates the TRAP interrupts of the CPU 14
in this manner to effect an interrupt of the program to its
standby mode 208 in order to reduce the programming that
would otherwise be required. Step 606 senses the absence o~
the ECG preamplifier 18 and in particular that terminal J4
associated with the preamplifier 18 is disconnected, i.e., the
shorted pins are removed from the RST 6.5 interrupt of the
CPU 14, and the RST 6.5 interrupt goes to +5 volts, whereby
the CPU 14 initiates a PRE-AMP$STATUS$SERVICE 608 wherein the
process may be transferred to the standby mode 208. In par-
ticular, if the system is in the monitoring mode 500, the ser-
vice 608 will force the system to loop until the preamplifier
18 is reconnected to the acquisition unit 12 or the mark button
15 ;84 is pushed. When the mark button 84 is pushed, the RUN$FLAG
is set false, causing MNTRM to put the system into its standby
mode 208. While the system is looping, no further data is
stored within the R~M 26 or processed to detect QRS complexes.
Further, when the mark button 84 is pushed, the average of the
R-R signals received to that point in time is calculated and
the pointers stored in various other locations of RAM 26 are
reset. If the process is in its calibrate mode 206 of opera-
tion, the system transfers directly to the standby made of
operation 208 upon the sensing that the preamplifier of the
~CG 18 is disconnected.
Though but a single mark button 84 is shown in the
described specific embodiment of this invention, it is con-
templated that a series of such buttons could be incorporated
into this system, whereby the patient could more specifically
designate the type of sensation that is being felt as to a
particular symptom, body function, or activity. In addition,
it is contemplated that an accelerometer type device as would
be attached to the patient's body could be substituted for
the mark button 84 and upon rapid motion of the patient's
body, indicative of a high rate of body activity, that switch

.~ 7~
-30-
would be closed whereby the patient's ECG s:ignal would be
recorded for a given period of time.
As shown in FIGURES 4A and C, the sample clock 24
provides a 240 Hz sample clock signal to the RST 7.5 interrupt
input of the CPU 14. The sample clock causes the CPU 14 to
effect a CRYSTAL$CLOCK SERVICE 612 whereby the appropriate
mode service routine is set, as shown in FIGURE 7. In par-
ticular, the service 612 checks the current mode of operation,
i.e., determines which of the modes 300, 206, or 500 is in
operation and,dependent upon the current mode, selects one of
the service routines 614, 616, 618, 620, or 622 to execute.
In particular, the service 612 examines XCMODE, a mode status
variable assigned to a specified location within the RAM 26,
to determine whether its value is 0, 1, ~, 3, or 4, corre-
sponding to the service 614, 616, 618, 620/ or 622 that mustbe selected. The services 614, 616, 618, 620, and 622 are
carried out in real time and act as an interEace between the
input signals which are received in real time and the further
operations and calculations that are carried out by the corre-
sponding mode controllers in computer time under the controlof the clock 15 coupled to the CPU 14.
A CALIBRATION$SERVICE 6i4 performs in real time the
basic system timing necessary to the calibration mode controller
(CALIBM) 206. In particular, the service 614 responds to the
sample clock to repetitively call the R-wave detecting sub-
routine whereby the QRS complex of the ECG signal is detected
and its amplitude provided. The obtained ECG peak signals
are saved and passed to the calibration mode controller
(CALIBM) 206 that operates in response to the computer clock
15 to determine whether the QRS complex amplitudes are accept-
able. Further, the CALIBRATION$SERVICE 614 also applies the
ECG signal and the "buzz" signal as needed to the analog
chart recorder 36 to facilitate refractory adjustment as
explained above.
The MONITOR$SERVICE 616 acts as a real time-interface
for the monitoring mode 500, performing basic timing functions,
.. .

~7~
calling the R-wave detçctiny routine, and ef~ecting the storage
of every fourth ECG byte, i.e., its corresponding aMplitude,
into one o~ the nine rotating buffers formed within the area
26a of the RAM 26. I~ during the course of the monitoring
mode 500, a flag is set by MNTRM indicating the detection of
an arrhythmic signal, the current bufer of the area 26a is
saved and the MONITOR.~SERVICE 616 develops a pointer to the
next buffer, if available, within the area 26a.
Basically, the DATA$CHART$SERVICE 618 provides timing
for the various data charts whereby data is output from the
RAM 26 at a rate that corresponds to the incremental advance
of the paper chart as driven by the recorder 36. For example,
each cell of the trend data indicative o~ the average ~inimum
and maximum R-R intervals is applied to the chart recorder 36
at a rate that one cell will be displayed per millimeter advance
of the paper chart. In this regard, it is noted that the
paper chart is advanced one millimeter per 40 ms. To produce
such timing, the service 618 is responsive to the output of
the sample clock 24 to produce a drive clock to the recorder
36. It is noted that the sample clock may not be simply
divided to obtain the desired 40 ms. drive signal but rather
a timing subroutine is provided to respond to 10, 10, ~, 10,
9 clock signals to produce corresponding drive advance signals
to the recorder 36. The corresponding 48 clock signals occur- .
ring over a timing of 200 ms. are precisely equivalent to the
occurrence of five 40 ms. intervals. The fact that each drive
advance signal is slightly in error does not affect the overall
accuracy of the chart provided by the recorder 36.
The DATA$CH~RT$SERVICE 618 operates in real time to
effect a playback of the trend and histogram data stored in the
R~M 26 upon the analog chart recorder 36 and the chart edge
printer 38. In addition r the service 618 provides a 60 Hz
square wave to the analog chart recorder 34 to provide marks
between the graphs displayed upon the recorder 34. For exam-
3S ple, there is a ~arked interval between the trend chart and

_ 3~ 7~
the histogram chart to indicate clearly to the physician a divi-
sion theretween.
The posi-tive ancl negative SLOPE~PLAYBACK S¢RVICES 620
and 622 respond, respectively, to po~itive-going and negative-
going slopes of the input-ted ECG siqnal to interpolate between
ECG points to provide a series of straight lines between two ad-
jacent points to produce a smooth-looking curve on the chart
recorder 36. A series of straight line segments each 16.67 ms.
long are used to reproduce an essent.ially smooth appearing curve
between the two points. Realizing that the data acq~i~ition
unit 12 is a portable unit and comprises a RAM 26 that has a
limited storage capacity, it is desirable to store less than
each sampJ.e of the patient's ECG signals in order to lncrease
the length of time for which the monitoring ~ystem 10 may be
used. However, upon playback wherein the stored data within khe
RAM 26 is read out, it is necessary to pxovide a smooth appear-
ing curve.
The monitoring mode 500, as generally shown and des-
cribed with respect to FIGURE 6, is more fully shown in
FIGURE 8. The select step 204 transfers control to MNTRM 502,
the entry point label for the monitor mode controller 500 via
the MCLEAR program 400. Control then passes to step 504 to
implement a delay for warm-up and to store selected variables
within the area 26d of the RAM 26. For example~ it is neces
sary to set the pointer to designate an initial buffer loca-
tion in the area 26a, in the trend sample area 26c, and in the
histogram area 26b. Further, all storage locations in the
minimum rate location of the trend data area 26c are set to a
maximum value to sirnplify the steps of the programming required
to determine the subsequent minimum heartbeat rate~ Further, a
count is stored to be counted down by the subsequent occurrences
of the sample clock and upon counting down to zero, that
corresponding E~G
:

~ - _33~ '7S~
sample is stored within the designatecl loca~ion of area ~6a.
A variable named XCMODE, located in RAM ~ , is set to "1" to
indicate to block 612 that the system is in monitor mode.
Thus the MONITOR$SERVICE routine 616 will be called to pro-
vide the monitor mode controller with appropriate real -tirne
services, such as timing and QRS detection, on each positive-
going transition of the sample clock. A rount to determine
the length of the trend interval in terms of a selected num-
ber of sample clock signals is provided to be counted down
upon the occurrence o~ each clock sample to determine at the
"0" count a five-minute interval, for example. In addition,
a lock out time is stored to provide a delay before a flag
can be set by MNTRM to effect the permanent storage of data
within a buffer of the area 26a.
15 ; After storage of these and other variables, the
process moves through loop entry label 506 to the decision
step 508, wh:ich determines whether the RUN$FLAG h-as been set
true or false. As indicated above, the RUN$FLAG is set false
if the battery voltage is determined to be low, the connector
J4 of the ECG amplifier 18 is disconnected, the trend storage
area 26c, or the histogram storage section 26b is filled, or
the pointer to designate the buffer within area 26a indicates
that all buffers are already full. If the RUN$FL~G is set
false, the program moves through step 520 wherein the data O
in the current trend sample or interval is calcula-ted to pro-
vide an average based upon the previously received R-R inter-
vals. Thereafter the process is transferred to the standby
mode controller 208 where commands are given to the power
supply to deenergize all elements of the system except the
30 RAM 26 and associated chip select logic to continue the stor-
age of the previously recorded data at reduced battery drain.
If on the other hand in step 508, the RUN$FhAG is
set true, i.e., the system is in a functional condition to
receive, process, and store FCG signals, the process moves
to step 510 to check whether the mark button 84 has been

-3~ 7~
pressed, and if pressed, step 512 stores an event marker in
an auxiliary history array wi-thin the RAM 26 indicative o~
which sample or interval in whlch the mark bu-tton 84 was
pressed. Thereafter, after step 512 or if the decision block
510 indicates that the mark button was not pressed, the process
moves to step 514 to determine whether the R$FLAG was set true
by th~ execution of the R-wave sensing portion of the MO~ITOR$-
SERVICE routine, as will be described with respect to
FIGURE 16. If yes, the process moves to routine 700 as will
be d~esæribed below in detail with respect to FIGURE 10. In
rout~ 700, the data secured by the execution of the MONIT~R$-
SERVICE routine 616, as shown in FIGURE 7 and in particular
the R-wave sensing routlne called thereby, is used to reset
the R$PLAG, to process the R$WAVE$TYPE data indicative of the
presence of con-taminating noise as stored within a designated
area of the RAM 26 and to operate on the R-R interval stored
within one of the buEfers of RAM 26. After either the routine
700 has been executed or decision step 714 has indicated the
R$FLAG to be set false, the process moves to step 518, wherein
the EL~PSED$TIME within a trend sample interval is compared
with respect to that value END$0F$TSI as stored within area
26d to determine whether the trend sample interval is over,
e.g., whether 5 minutes has expired. ELAPSED$TIME is stored
within a counter formed within area 26d of the RAM 26 and is
incremented upon the occurrence of the sample clock. ~.f the
interval is over, i.e., yes is indicated by step 518, a
routine 800, as will be explained with respect to FIGURE 9,
summarizes the data stored in the completed trend sample inter-
val to determine the average R-R interval and therefore the
average heartbeat rate and thereafter directs the storage of
the R-R interval data to the next location or cell within
area 26b. After the decision step 518 has indicated that the
trend sample interval has not expired or the completion of
the routine 800, the process moves to step 516 wherein the
process is halted until the next sample clock occurs and

-35-
causes execution o~ the MONITOR$SERVICE routine which inputs
and processes the next piece of the ECG da-ta as derived from
the patient. Thereafter, the process compLetes its loop,
reentering at label 506 to examine and process the next piece
of FCG data.
The summarizing routine 800, as generally shown in
FIGURE 8, ls more fully shown with respect to FIGURE 9 wherein
the routine 800 is entered via the :Label 804 to initiate the
summarizing process. More specifically, in step 806, the sum
of R-R intervals within a single trend sample interval as stored
within a storage location of the area 26d i5 divided by a count
indicative of the number of R-R intervals sensed during a
single trend sample interval. Thereafter, the average interval
is inverted to provide the average rate of the patient's heart-
beat during the trend sample interval. Next, in step 808, thepointer TSI$PTR is incremented by"l" to cause the R-R inter-
val data or the next trend sample interval to be stored in
the next cell or bin of the area 26c. Thereafter, in step 810,
the current pointer TSI$PTR is compared with an indication of
the maximum capacity of the area 26c and i~ in excess of the
maximum capacity, the RUN$FLAG is set Ealse in step 812 whereby,
as explained above with respect to FIGURE 8, step 508 transfers
the process via step 520 to the standby mode controller 208.
If, as determined by step 810, there is further storage avail-
able in area 26c or the RUN$FLAG has been set false by step812, step 814 clears the counters as formed within area 26d
of the RAM 26 and used to count the number of in-tervals and
to sum the intervals occurring during the new current trend
sample interval. Thereafter in step 816, the end time indica-
tor of-the current trend sample interval, END$0F$TSI, is reset
to indicate the next end of trend sample interval by adding
300 seconds to the present value of the ELAPSED$TIME counter.
Thereafter, step 818 returns the process to the monitoring
routine MNTRM as shown in FIGURE 8.
The processing and storing of the R-R data, as
generally shown in routine 700 of FIGURE 8, is shown in greater
.
..

S~
-36
detail in FIGURE 10. The routine enters via label 704, as
shown in FIGURE 10, to process and store data pertaining to
the R-R interval associated with the QRS complex recently
detected by the MONITOR$SERVICE rou-tine 616. In block 706,
R$FLAG is set false to acknowledge cletection of a QRS com-
plex by MONITOR$SERVICE 616. In adclition, block 706 obtains
the variable R$WAVE$TYPE, indicative of whether the detected
QRS complex is contaminated with noise, and a RR$INTERVAL,
indicative of the measured R-R interval. Next, the value of
RR$INTERVAL is placed into that location of the area 26d
known as NEW$RR. Thereafter, the value of the CoMBo$RR is
set equal to the sum of CURRENT$RR plu8 NEW$RR, thereby sum-
ming the two most recently recorded values of the R-R intervals.
As will be explained later in detail, the values of
NEW$RR corresponding to the most recently calculated R-R inter-
val and of COM80$RR are used to determine whether to save a
strip or set o~ the patient's ECG signal corresponding to
detection of an anomaly, as will be explained with respect to
FIGURE ll. It is necessary to classify R-wave data so the
intervals associated with valid R-wave signals are processed
while noise contaminated signals are ignored. In addition,
in-tervals following a premature beat should be treated in a
different manner than intervals occurring in a regular rhythm.
As shown in FIGURE 10, there is provided step 708 that evalu-
ates a variable R$WAVE$TYPE. The strategy for chan~ing thevalue of R$WAVE$TYPE, in conjunction with block 708, provides
the means for classifying each detected QRS complex. For
purposes of illustration, assume that the QRS complexes are not
contaminated by noise and that the system has just been turned
on, i.e., R$WAVE$TYPE is setto "4". Consequently, when the
very first QRS is detected, block 708 passes control to step
728, which does not use any R-R intervals information because
that information ismeaningless when no prior interval has been
detected. Since the interval associated with the next QRS
complex will have meaning, step 728 sets R$WAVE$TYPE to "3".

.75~
--37--
Consequently, the next uncontaminatecl complex will be pro-
cessed by step 72~, wherein the de-tection of the first uncon-
taminated QRS complex is used to initialize the system to
store the subsequent uncontaminated signals. In ~tep 724,
5 the serial locations wherein the most recent values of the
R R interval, namely NEW$RR, CURRENT$RR, PRIOR.~RR, and
PRE$PRIOR~RR are shifted to place the most recent value of
the R-R interval in the NEW$RR RAM location. Thereafter,
the SET$REFRACTORY$TIME program is called to set the refrac-
10 tory period as a function of the most recently detected inter-
val between QRS complexes. Thercafter, the R$WAVE$TYPE is
set to "2" in order to process the next QRS complex which
will be considered to be a normal, uncontamina-ted QRS signal.
A~ter execution of step 724, the program 700 returns via step
15 726 to step 518 of the monitoriny program 500.
Upon the occurrence of detection of the next QRS
complex, as indicated by the se-tting of the R~FLAG signal,
the process returns to the subroutine 700 wherein, since
R$WAVE$TYPE has been set equal to "2", step 708 directs the
20 program to step 722 wherein an acceptable QRS complex is
stored as a regular rhythm or premature signal. The SET$-
REFR~CTORY$TIME subroutine is executed for setting the
refractory time as a function of the R-R interval, and there-
after the UPDATE$DELTA subroutine is called to calculate and
25 store the difference between successive R-R intervals in the
delta or difference histogram in area 26b of the R~M 26.
Thereafter, a CLASSIFY$AND$STORE subroutine, as shown in
FIGURE 11, is executed to determine whether the detected, un-
contaminated QRS is part of a regular rhythm or is a premature
30 beat. If part of a regular rhythm, the R$WAVE$TYPE is left
at "2", whereas if the QRS complex occurs early or prematurely,
the R$WAVE$TYPE is set equal to "1". The regular rhythm and
premature beats w:ill be appropriately processed and stored,
as will be explained in conjunction with FIGURE 11. Thereafter,
35 the various locations for receiving and storing the R-R intervals

-3~ 75i~ ~
are updated with the most recent value of the R-R interval
being stored in -the NEW$RR location. After completion of
step 722, the subroutine 700 e~its via step 726 to step 518
of the monitoring program 500.
Upon the detection of the next QRS complex after
5 .the setting of the R$WAVE$TYPE equal to "1", step 70~,upon
sensing the "1" state,transfers control to step 720 wherein
the QRS complex that has been preceded by a premature beat is
processed. Such a beat is typically known as a compensatory
beat and such a beat is n stored withi.n the trend area 26c
of the RAM 26. However, the difference between successive
R-R intervals is calculated and the UPDATE$DELTA routine ls
called to store the calculated difference within the IDH
array of RAM area 26b. In addition, the refractory period
is set by the SET$REFR~CTORY$TIME subroutine as a function of
the last ~,alculated QRS interval. Thereafter, the R$WAVE$T~PE
is set equal to "2" to condition the ACCEPTABLE routine to
receive the subsequent, normal QRS complex. In addition, the
areas of the RAM 26 for receiving the previously calculated
and stored values'o~ the R-R interval are updated with t~e
most recent value of the R-R interval being stored in the
NEW$RR location.
In the instance that the MONITOR$SERVICE routine 616
determines that the signal is noise contaminated, MONITOR$-
SERVICE sets R$WAVE$TYPE to "0", whereby step 708 passes con-
trol to step 718 wherein the newly measured R-R interval is
not stored because it is contaminated. However, R$WAVE$TYPE
is set to "2" to permit initialization . of the next uncontami-
nated QRS complex.
The ACCEPTABLE routine 722, as shown generally in
FIG~RE 10, is described in detail with respect to FIGURE 11,
for processing the patient's ECG signal and for storing data
that has been found to be a valid and acceptable R-wave. The
ACCEPTABLE routine 722 begins with step 730, wherein the SET$-
REFRACTORY$TIME subroutine is called to set the refractory
period, wherein tl~e system 10 is disabled from sensing further

_39 ~ ~175~0~
heart activity or signals placed upon the input leads for that
period after the occurrence of the R~wave. Typically, the
refractory period for a patient havlng a heart rate of 75 BPM
is in the order of 300 to 400 ms. 'rhe refractory period is
variably set by the SET$REFRACTORY$'rIME subroutine as a func-
tion of the previously determined R-R interval as stored within
the NEW$RR location within a rotating buffer of area 26d oE
the RAM 26. As generally described above, this rotating buffer
includes four locations wherein four consecutive values of the
most recently determined values of t:he R-R interval are stored,
in order, in the locations NEW$RR, CURRENT$RR, PRIOR$RR, and
PRE$PRIOR$RR. ~s a new value of the R-R interval is calculated
or selected, as will be explained with respect to FIGURE 16, it
is first stored in the NEW$RR location of the noted rotating
15 <buffer, and the old values of the R-R in-tervals are transferred
'to the next locations. The SET$REFRACTORY$TIME subroutine
selects that value of the R-R interval located in the NEW$RR
location and, using the following expression, REFRACTORY =
KQT (NEW$RR ~27)/60, determines the length of the refractory
period in terms of sample clock counts as generated by the
clock 24. Thereafter in step 730, the subroutine UPDATE$DELTA
i5 called for determining the difference between adjacent R-R
intervals by subtracting the value stored in the PRIOR$RR loca-
~tion from that stored in the CURRENT$RR location. The calcu-
lated value of the difference between adjacent R-R intervals
is used to define a pointer to a bin or cell within the inter-
val difference histogram array of area 26b of the RAM 26 and
that bin is thereafter incremented by "1" to count the occur-
rence of that difference between the CURRENT$RR and PRIOR$RR
intervals.
Decision block 732 is executed to determine whether
a premature beat has occurred, based upon the most recent data
indicative of the R-R intervals as stored within the NEW$RR,
CU MENT$RR, PRIOR$RR, and PRE$PRIOR$RR locations of the noted
rotating buffer. In particular, there are two types of premature
.,

~ ~75~B
., ,
-40-
beats that are detected, a premature beat with compensatory
pause and an interpolated beat; these types of beats are
detected in that they are attri~utable to malfunctions of
the ventricles and are considered to be more serious than
premature beats arising due to malfunctions of the atria.
The occurrence of a premature beat with compensatory pause
is illustrated in FIGURE 18A wherein there is shown a series
of R-waves R0, Rl, R2, R3, and R4 with the R-wave R0 occur-
ring first in time and the R-wave R4 occurring last ln time.
As illustrated, the R-wave R3 has occurred early in time,
being shifted to the right as seen in FIGURE 18~ -towa~d R-
wave R2; further, the space between R-waves R3 and R~ is
greater than normal providing a compensatory pause so that
the R-wave R4 occurs at approximately its normally expected
15 ;time. ~n interdigitated premature beat is illustrate~ in
FIGURE 18C wherein a beat having R-wave R3 is inserted approx-
imately midway between the beats corresponding to waves R4
and R2, noting that the interval between the R-waves R4 and
R2 is approximately equal to the normallyoccurriny R-R inter-
val. As will be explalned, the subroutine 732 detects ~hethera premature beat with compensatory pause or interdigitated
premature beat has occurred. Premature beat data is processed
and stored in a first manner by steps 736 through 742 whereas
if no premature beat has occurred, the R-R interval is
processed in a second manner by steps 748 through 764.
The determination of whether the heat is premature
or not is made by examining the values as stored within the
locations NEW$RR, CURRENT$RR, PRIOR$RR, and PRE$PRIOR$RR o~
the noted rotating buffer in th~ following manner. Sub-
routine 732 determines whether a first condition is met, i.e.,whether the R-R interval as stored within the CURRENT$RR inter-
val location is less than 75~ of that value as stored in the
PRIOR$RR location; this comparison can be visualized by
examining FIGURE 18B, wherein the interval between the R~ and
R3 waves is less than 75 percent of the interval between the
Rl and R2 waves. Next, to determine the existence of a com-
pensatory pause, the value CO~BO$RR, indicative of the sum of

the R-R intervals a.s stored within the NEW$RR and CURRENT$RR
locations, is comparcd with a value indicative of 175~ of
the R-R interval as stored within the PRIOR$RR location. As
shown in FIGURE 18B, the length between the R4 and R2 waves
is compared to the length between the Rl and R2 waves, and
if greater than 1.75 times the length between the Rl and R2
waves, and if the first condition is met, the decision block
73~ provides an indication that the beat is a premature beat
with compensatory pause by transferring control to step 736.
Second and third tests are made to determine whether
an interdigitated premature beat R3, as shown in FIGURE 18C,
exists. In particular, the value COMsO$RR indicative of the
sum of the values within the NEW$RR and the CURRENT$RR loca-
tions is determined to be less than 1.25 tl.mes the value of
the R-R interval as stored within the PRIOR$RR location~ As
seen in FIGURE 18D, this indication compares the total length
in time between the R2 wave and the R4 wave to the length
betwean the Rl and R2 waves. Further, a third test is made
of whether the values stored in the CoMBo$RR location is less
than 1.25 of the value of the R-R interval stored within the
PRE$PRIOR$RR location. In other words, the length between
the R2 and R4 waves is compared with the length between the
R0 and Rl waves to provide an indication of the stability of
the heartbeat pattern; if the heartbeat pattern is very irregu-
~
lar, the detect~d beat may not be a premature beat but an indi-
cation of some other, more dangerous anomaly. If the first
condition and second and third test results are positive, there
is provided an indication by the decision step 732 that an
interdigitated premature beat has heen detected and the process
moves to step 736.
Step 736, shown in FIGURE 11, is the start of a pre-
mature beat processing routine. Step 736 sets the R$WAVE$TYPE
: flag equal to "1", whereby the processed R-wave is noted as an
anomaly; as a result, when the STORE$RR$INTERVAL$DATA routine
3S 700 of FIGURE 10 is again run, a branch to the PROCESS$ANOMALY
.. . .

-~2~
subroutine 720 will be executed whereb~ only the R-R interval
data is stored and the system is prepared to receive the next
R-wave as an acceptable R-wave. Next, step 738 looks to the
location PB$HISTORY within area 26d of the RAM 26 where the
number of premature beats for the current trend sample inter
val is counted and recorded, to determine whether there is
space left there for further incrementation. If space is
left, the PB$HISTORY location is incremen-ted by one in step
740. In either event, the process moves -to step 742, wherein
the routine WAVEFORM$STORAGE$MANAGER is called to initiate
processes executed by the MONITOR$S:ERVICE routine that save
a waveforrn sample containing the premature beat within one of
the circulating buffers of area 26a of the R~M 26. In addition
to initiating waveform storage, WAVEFORM$SToRAGE$MANAGER, step
742, implements a storag`e lockout system that prevents the
waveform storage area 26a of the R~M from being filled up in
a few minutes by a "run" of premature beats or other arrhythmias.
In particular, when WAVEFo~`~$SToRAGE$~ANAGER is called to store
a waveform, it compares the current value of ELAPSED$TIME with
the type of arrhythmias being saved. If the lockout period
has not expired, WAVEFORM$STORAGE$MANAGER simply returns with-
out initiating a sample save. If the lockout has expired, a
sample save will be initiated and the lockout period will be
initiated to prevent storage of other similar arrhythmias for
10 minutes by adding 600 seconds to the current time as taken
from ELAPSED$TIM~ to determine that time when the storage of
a sample of that particular arrhythmia waveform will be
permitted. Thereafterr in step 744, the locationsofthe
rotating buffer are advanced, whereby the R-X intervals as
stored in the various indicated locations are set to the next
later location and the latest calculated value of the R-R
interval is set in the NEW$RR location.
If the decision step 732 decides that the beat or
R-wave under investigation is not premature, the process
advances to step 748, which is the start of a routine that
.

L~
processes non-prelllature beats. Step 7~8 computes the current heartbeat rate
by inverting the value of the R-R interval stored within the CURRENr$RR
location and, further, the cells within the current bin of the trend sample
area 26c are updated for the maximum/minimum rate trends. Ln particular,
the cell locations where the maximum/minimum rate trends are stored, are com-
pared with the current computed value of the heartbeat rate, and if greater
or less, respectively, the corresponding bin location is updated with the
new maximum or minimum rate. The determination of the maximum and minimwn
rates of heartbeat provides a statistical indication of the regularity of
the heartbeat and, as will be explainecl, will be displayed for the benefit
of the physician. It is also contemplated within the teachings of this
inven-tion that the diEferences between successive intervals of the peak
heart activity signal or heartbeat, as are calculated to obtain the interval
difference histogram, could also be used in calculations to determine the
standard deviations of the interval differences and that such standard devia-
tion could be determined for each trend sample interval and stored in an
appropriate location in memory corresponding to that interval. Next in step
750, a portion of the recently selected or calculated value of the R-R inter-
val stored in the CURRENT$RR location is added to that location known as
RR$SUM within area 26d of the RAM 26. A portion of the R-R interval, as
opposed to using the whole amount, is used to reduce the amount of storage
space required for the RR~SUM location. As indicated above, at the end of a
particular trend sample interval, the subroutine TSI$SUMMATION is called to
calculate the average R-R interval by dividing the sum value of the R-R inter-
vals as stored with the RR~SUM location by the number of samples taken.
Next, as shown in FIGURE 11, a determination is made of whether an
anomaly other than a premature beat is occurring and in particular whether a
tachycardia, a bradycardia, or a skipped beat is present, to set a series of
flags whereby that
.... .

~7~
-44-
particular sample of -the ECG siynal corresponding to the anomaly
is stored within one of the circulating buffers of the area 26a
of the RAM 26. First, in step 752, the most recently calculated
value of the heartbeat rate is compared with that maximum rate
above which there is an indication that an anomaly known as a
tachycardia is occurring within the patient's heart. Further,
the step 752 determines whether the rate is increasing by com-
paring the values of the R-R intervals as stored wi-thin the
CURRENT$RR and NEW$RR locations and iE the values stored in
the MEW$RR location is equal to or greater than that stored
within the CURRENT$RR location indicating that the rate has
begun to decrease, then the process moves to step 754, wherein
the subroutine WAVEFORM$STORAGE$MANAGER is called to set those
flags whereby a strip of ECG samples indicating the tachycardia
is placed within a rotating buffer of area 26a of RAM 26.
Illustratively, the selected maximum rate is set at 120 beats
per minute. If the most recent value of the heartbeat rate is
not above that maximum level, the subroutine moves to step 758,
wherein the most recently calculated rate is compared with
20 respect to a minimum rate indicative of the occurrence of a
bradycardia and if below the minimum, e.g., 40 BPM, step 760
calls the WAVEFoRM$SToRAGE$MANAGER subroutine to set those
flags whereby a strip of the ECG data illustrating the brady-
cardia, is stored within a rotating buffer of the RAM area 26a.
25 If not below the noted minimum value, the process moves to
step 762, wherein it is determined whether a beat has been
skipped. In particular, that value of the R-R interval as
stored within the CURRENT$RR location is compared with 1.75
times that value of the R-R interval as stored within the lo
30 cation PRIOR$RR and if greater, there is an indication of a
skipped beat whereby the process moves to step 764 to call the
WAVEFOR~$STOR~GE$MA~ ER to set flags that cause that strip
of the patient's ECG samples to be stored within one of the
circulating buffers of area 26a of the RAM 26. After each of
35 the steps 754, 760, 762, and 764, step 756 increments the

s--
appropriate rate histogram cell and step 744 updates the values
of the R-R intervals within the locations o the rotating
buffer, before returning to the MNTRM program and in particular
to step 518, as shown in FIGURE 8.
Referring now to FIGVRE 12, the MONITOR$S~RVICE
routine 616, as generally shown in FIGURE 7, will now be
described in greater detail. First the SAMPLE$ECG$AND$DO$-
TIMING routine 800 is called in response to the detection o~
the sample clock signals as input to the CPU 14; as will be
explained in detail later with respect to FIGURE 13, a sample
of the ECG signal is taken and processed before being stored.
Four such samples are stored and then averaged before being
placed in a location ECG$BYTE. Further, the routine 800
determines whether an R-wave is present and, if so, sets ~he
R$FLAG true, and further determines if the R-wave is noise
contaminated or not; if the R-wave is noise contaminated, the
R$WAVE$TYPE is set equal to "0". The SAMPLE$ECG$AND$D.O$TIMING
routine 800, as generally shown in FIGURE 12, is more fully
explained with regard to FIGURES 13 to 17. In step 802, it is
determined whether the fourth ECG sample has been taken by
examining the CLOCK$COUNT and if "0", the corresponding ECG
sample is the fourth. In addition, step 802 determines whether
there is space available to store the next EC~ sample in one of
the nine rotating buffers within area 26a of the RAM 26. If it.
is the fourth sample and there is space available, the process
moves to step 804; if not, the process returns via exit point
820 to the main program. In step 804, the average indication
of the last four samples is stored within a location of one of
the circulating buffers as identified by the pointer LOOP$PTR;
thereafter., the LOoP$PTR is incremented to select the next loca-
tion in the rotating buffer~ Thereafter, in step 806, the
process looks to see if the SAVE$ECG$FLAG has besn set true by
WAVEFoRM$STORAGE$MANAGER as called from one of the steps 742,
754, 760, or 764 to indicate, respectivelyl an anomaly such as
a tachycardia, bradycardia, or a skipped beat. If SAVE$ECG$FLAG
:
- .:

~6~
is set true, the process moves to step ~08 wherein the counter
LOOP$REMAINING is coun-ted down to permit a given number, e.g.,
60, of additional samples of the ECG signal to be stored
within the rotating buffer after the anomaly has been detected.
In this regard, it is noted that a total of 360 ECG samples
are disposed within one of the rota-ting buffers of the area
26a of the RAM 26. If a no decision is made in step 806,
the subroutine 616 returns to the rnain program.
Step 810 determines whether the rotating buffer has
been filled by the ECG data, delaying the execution of the
further steps until the 60 samples of the patient's ECG sig~
nals occurring after the SAVE.~ECG flag is set true have been
filled as decided by step 810. If filled, the process moves
to step 812 wherein the starting/end pointer within the filled
15 ;rotating buffer is stored to permit access when it is desired
to read out the data stored in that buffer. Further, step 812
sets the storage pointer to the first location of the next
available circular buffer within the area 26a of the RAM 26.
In step 814, a decision is made as to whether there is a fur-
ther rotating buffer avaïlable within the area 26a, and if no,the RUN$FLAG is set false whereby the MNTRM routine 500 is
directed to transfer control to the standby routine 208. If
there is a further rotating buffer available, as decided in
step 814, step 816 loads the location LOOP$REMAINING with the
predetermined count of the additional ECG samples, e.g., 60,
to be stored after the detection of the anomaly, and there-
after, the SAVE$ECG flag is set false to terminate the saving
of the ECG samples in one of the rotating buffers. Thereafter,
the process returns through exit 820 to execute that step of
the monitor mode controller program 500 which was interrupted
by the sample clock.
As indicated above with respect to FIGURE 7, the
MONITOR$SERVICE routine is called in response to the occurrence
of each of the sample clocks if the system 10, as shown in
FIGURE 3, is disposed in its mode for monitoring, i.e., the

-~7-
preamplifier 18 is coupled to the data acquisition unit 12.
The SAMPLE$ECG$AND$DO$TIMING routine 800 takes samples of the
ECG signal in response to the sample clock occurring at th~
rate of 240 Hz and determines whether there is present a valid
R-wave, as will now be explained in grea-ter detail with
respect to FIGURES 13 to 17. Referrirlg now to FIGURE 13, the
subroutine 800 begins with a timing step 822, wherein the
ECG LED 88, as shown in FIGURE 4C, is energized for a fixed
period, e.g., 40 ms. corresponding to 24 counts OL the sample
clock, in response to the detection of each R-wave; in par-
ticular, 24 counts are loaded into a RAM location LED$TIMER
and is decremented until it is set equal to "0", when a command
is issued to deenergize the LED 88. In addition, step 822
steps two counters within area 26d of the RAM 26 that serve to
time two separate functions. First, the ELAPSED$TIME location
is incremented each second and is used as a system -timer that
is initiated at the beginning of the monitor or calibration
mode; the ELAPSED$TIME variable is used to control the timing
of the trend sample and,in addition, the timing of the lockout
period in which further strips of the ECG signals may not be
stored, as explained above with respect to the WAVEFoRM$SToRAGE$-
MANAGER routine 742 of FIGURE 11. The second clock is formed
by the RR$TIMER location and is used to time the R-R interval,
i.e., that interval between successive, valid ~-waves; the
initiation and termination of the RR$TIMER location will be
explained below. Next in step 824, an INPUT$AND$FILTER$ECG
routine is called whereby a sample ECG signal is taken and
stored in a our location rotating buffer that is incrernented
each time a new ECG sample is obtained. The ECG data is fil-
tered after a sample is taken by averaging the contents of thefour location buffer and storing the result in the location
ECG$BYTE. Upon the occurrence of the next sample, the
average ECG data stored in the ECG$BYTE location is trans-
ferred to the PRIOR$ECG$BYTE location, the rotating buffer is
updated, and a new average is stored in ECG$BYTE. ECG$BYTE
and PRIOR$ECG$BYTE will be used, in a manner to be explained,
to determine whether a valid R-wave has been detected. Next,

7~
. .
in step 826, the process examines the current count of the
RR$TIMER to determine whether the refractory period i5 over
and in particular compares the current count of the RR$TIMER
to the refractory period determined by the SET$REFRACTORY$TIME
routine, as explained above. If the refractory period is over
as determined by step 826, the SEGMENT$HUN'rER routine 900, as
will be described more ully with respect to FIGURE 14, is
called to determine the existence of an R-wave segment. After
the execution of the SEGMENT$HUNTER routine 900 or there has
been indication that the refractory period is not yet over
as detenmined by step 826, step 828 makes a decision as to
whether a possible R-wave segment has been ound; as will be
explained in detail below with respect -to FIGURE 14, the
SEGMEMT$HUNTER routine sets the SEGMENT$STATUS location equal
to "l" or "2" if a valid segment has been found, or to "3" if
a "runt" or short segment has been found; thus, if step 830
finds a "1", "2", or "3" within the SEGMENT$STATUS location,
the process moves to the SEGMENT$ANALYST routine 1000 wherein
the detected segments are compared to determine if a valid
R-wave has been detected. After the routine 1000 has been
executed or if the SEGMENT$STATUS has been found equal to "0",
the process ~oves to step 830 wherein the SEGMENT$STATUS
location is set equal to "0" to prepare the process for the
next ECG sample. Thereafter, the process exits via step 832
to complete either the MONITOR$SERVICE routine 616 or the
CALIBRATION$SERVICE routine 614. In particular, if the system
is in monitor mode, the process returns via step 832 to step
802, as shown in FIGURE 12.
The SEGMENT$HUNTER routine 900, as generally shown
in FIGURE 13, is more fully explained with respect to FIGURE 14,
wherein initially step 902 evaluates the HUNTER$MODE location of
R~M 26 to determine the state of the SEGMENT$HUNTER routine 900;
initially, the HUNTE~$MODE location is set to "0" by the ini-
tialization step 504 of the monitoring routine 500. When
HUNTER5MODE is set to "0", the process proceeds to step 906 to
.
.
., .

7 ~ Aj~
begin the process o~ detecting -the start of a po~ential R-wave
segment. As ~hown in FIGURES 19, the QRS complex, of which
the R-wave is shown to ~orm a positive-going peak, can be
approximated by a series of segments. FIGURES l9A and B show
examples of valid R-waves wherein such ECG signals have been
represented as a series of three segments. As will be
explained below, the existence of a valid R-wave is detected
by measuring the time interval between segments, the length,
slope, and magnitude oE segments, and the number of segments.
Initially, in step 906, the time of interval or space between
two consecutive segments is measured and, if greater than 62.5
ms., a decision is made that any previously detected segments
de~o~e.J
are part of a~ QRS complex or noise signal because th~ maxi.mum
interval between two related signal segments has been exceeded.
Consequently, the process moves to step 916 wherein the
SEGMENT$STATUS location is set equal to "3" to indicate that
the maximum interval between two valid segments has been
exceeded. If the maximum allowable space between two segments
- has not timed out as decided by step 906, step 908 stores the
current data in a segment start location of the RAM area 26d
and initializes the timing of a period corresponding to the
maximum length of a valid segment, e.g.l 95.8 ms. The current
data includes the previous value of the average ECG signal as
stored in the PRIOR$ECG$BYTE location, and the current value
of time from the RR$TIMER location. Next step 910 determines
whether there is a change of slope and if the change of slope
is positive by comparing -the value stored in ECG$BYTE location
and the PRIOR$ECG$BYTE location. If the first value is greater
than the second value by a predetermined amount indicating a
positive slope greater than a threshold valuel then step 912
sets the HUNTER$MODE location equal to "l" to direct the
SEGMENT$HUNT~R routine 1000l as shown in FIGURE 16l to look for
the end of that segment. If step 910 makes a "no" decision
step 914 determines whether a segment with a negative slope
is present by examining the ECG$BYTE and the PRIOR$ECG$BYTE

~ 50_ ~7~,~U ~
locations, and if the PRIOR$ECG$BYTE value is greater than
that value stored in the EcG~syTE location by a prede~ermined
amount, there is an indication that a beginning of segment has
been found, and the process moves to step 918 wherein the
HUNTER$MODE flag is set equal to "2" to direct the SEGMENT$-
HUNTER routine 1000 to look for an end of that segment. After
any of the steps 916, 912, or 918, the process returns to step
828 of the SAMPLE$ECG~AND$DO$TIMING routine 800.
Upon the further calliny of the SEGMENT$HUNTER routine
900 and either step 912 or 918 has set the HUNTER$MoDE flag
equal to "1" or "2", step 902 will sense the particular flag
state and direct the process to either of steps 922 or 928 to
locate the end of a segment. As an illustrative example,
assume that the staxt of a segment with positive slope was
detected on a prior pass through SEGMENT$HUNTER 900 so khat
HUNTER$MODE flag has been set to "1". Consequently, the
evaluation step 902 transfers control to step 922 to locate
the end of the segment with the positive slope. Firs-t, step
922 checks to see whether there has been a slope reversal or
whether the segment duration limit,which was set in step 908,
has timed out. I either there has been a slope reversal or
the duration of a segment has timed out, the process moves to.
step 924 wherein the amplitude or magnitude of the segment is
calculated in terms of its absolute value and thereafter the
SEGMENT$END$HOUSEKEEPING subroutine, as will be further
explained with respect to FIGURE 15, is executed, whereby the
various counters or timers are rsinitialized to prepare for
recalling the SEGMENT$HUNTER routine 900 to find a new segment.
In particular, the step 924 recalls the value of the PRIOR$-
ECG$BYTE that was initially stored by step 908 at the.c:ommence-
ment of detection of the segment and subtracts that value from
the PRIOR$ECG$BYTE stored at the detection of the end of the
segment to obtain in absolute terms the amplitude from the
beginning to the end point of the ECG sample. After step 924
has been completed or step 922 has responded "no" to both

75~
inquiries, the SEGMENT$HUNTER routine 900 returns to process-
ing the service procedure step 828.
Upon a subsequent execution of the SEGMENT$HVNTER
routine 900 wherein the ~UNTER$MODE is set equal to "2", step
902 directs the routine to step 928 wherein the end of a nega-
tive slope is determined in a manner similar to that described
above. Briefly, step 928 determines whether there has been a
slope reversal by examining the PRIOR$ECG$BYTE and ECG$BYTE
locations of the rotating buffer and/or whether the segment
duration limit has timed out. If either of these conditions
is met, the process moves to step 930 wherein the absolute
value of the m~gnitude or amplitude oP the segment is deter
mined before calling the SEGMENT.~END$HOUSEKEEPING, as will be
explained with respect to FIGURE 15. Thus, in the SEGMENT$-
HUNTER routine 900, as explained above with respect to FIGURE14, the beginning and end of a segment as well as its amplitude
are detected in preparation for executing the SEGMENT$ANALYST
routine 1000 wherein a plurality of such segments will be
examined to determine whether the particular cornbination of
segments are so detected makes up a valid R-wave.
Referring now to FIGURE lS, there is shown the
SEGMENT$END$HOUSEKEEPING subroutine 930 wherein after the cal-
culation of the amplitude of the segment by either step 924 or
930, the various counters and storage locations are initialized~
in preparation to identify and measure the parameters of the
next segment. In particular, step 932 compares the measured
values of the duration and magnitude of the detected segment
with predetermined minimum values, for example, 15 units or
counts of the D/A converter 34, and 16.7 ms. corresponding to
four counts of the sample clock 24. If these minimum require-
ments are exceeded, the process moves to step 934 wherein the
value of HUNTER$MODE is transferred to SEGMENT$STATUS to be
used, as will be explained, in the execution of the SEGMENT$-
ANALYST routine 1000. If the minimum requirements are not met
as decided by step 932, a further determination is made whether

-52- ~ S ~ ~
the maximum in-terval between seyments, e.g., 62.5 ms. has
elapsed since the end of the last segrnen~; in particular,
step 938 compares the current value of the RR$TIMER with the
SEGMENT$START$DEADLIME and, if greater, the process moves to
step 940 whereln the SEGMENT$STATUS is set to "3" indicating
a time out with no valid segment detected. After steps 934
and 940, and if step g38 answers in the negative, the sub-
routine moves to step 936 wherein the HUNTER$MODE flay is set
equal to "0" to prepare for the recalling of the SEGMENT$HUNTER
routine 900 to detect the next segment and in particular to
detect the beginning of the next segment.
As shown in FIGURES l9A and B, a series o~ segments
can represent valid R-waves. In particular, the QRS complex
is defined, in accordance with this invention, by three seg-
ments having a particular slope, amplitude, duration, andsequence. As shown generally in FIGU~E 13, the SEGMENT$HUNTER
routine 900 identifies an inclividual va].id segment by obtain-
ing values of its duration, slope, and magnitude, and passes
those values to the SEGMENT$ANALYST routine 1000, which stores
these values in specific locations, examines the sequence of
segments, classifies them as QRS signal or as noise, computes
the R-R interval, and resets RR$TIMER. The execution of the
SEGMENT$ANALYST routine 1000 will now be explained in more
detail with respect to FIGURE 16. Initially r in step 1002,
ANALYSIS$MODE is accessed to determine which of the "0", "1",
or "2" values that is currently set in that location. In the
initializing step 504, as shown in FIGURE 8, ANALYSIS~MODE
is set equal to "0" so that initially the process will branch
to step 1006 wherein the first segment will be obtained and
analyzed, as will now be discussed. Upon obtaining the data
correspondinq to the first segment, step 1006 examines the
SEGMENT$STATUS location to determine whether it is less than
~3~O As was described with respect to step 934 of FIGURE 15,
SEGMENT$STATUS is set equal to "1" or "2" corresponding to
detection of valid segments with positive or negative slopes,

~53~ ~'7~
respectively; if -the space between segments has timed out, the
SEGMENT$STATUS flag was set equal to "3" by steps 916 or 940.
Thus, if the segment was found by the SEGMENT$HUNTER to be
valid, step 1006 stores the segment data in the first segment
5 location within the RAM 26. ~n particular, the first segment
data includes its magnitude, the time the segment began as
recorded by the RR$TIME~, the amplitude at its peak as stored s
in the PRIOR$ECG$BYTE location, and the time at the end of the
segment as recorded in the RR$TIM~R. In addition, step 1008
10 changes the ANALYSIS$MODE value from "0" to "1" so khat upon
the subsequent execution of the step 1002, the SEGMENT$~NAL~ST
routine 1000 moves to step 1012 to evaluate the second segment.
First, step 1012 determines whether SEGMENT$STAT~S is equal
to "3", i.e., a time period in excess of that maximum period
15 corresponding to 62.5 ms. has timed out since the end of the
first segment and, if so, step 101~ calls the TREAT$AS$NOISE
subroutine 1034 wherebyl as will be explained later with
regard to FIGURE 17, the various storage locations, timers,
and counters are reset to erase data correspondiny to the first
20 segment to prepare the SEGMENT$ANALYST to receive and analyze
the next segment data as a first segment. When step 1012
detects a SEGMENT$STATUS of "3", it indicates that a single
segment, as shown in FIGURE 19C, has been detected but a
second segment has not occurred within the acceptable time
25 limit; therefore, no valid R-wave has been detected.
~owever, if step 1012 indicates that the status of
the second segment is either a "1" or a "2", i.e., not a "3",
the process moves to step 1016 wherein a determination is made
of whether the first and second segments have the same slope;
30 in particular, step 1016 compares the SEGMENT$STATUS locations
of the first and second segments, and if the same, i.e., both
segments have the same slope,the process moves to step 1018
wherein the data corresponding to the first and second segments
are merged with each other, thus assuming that a large single
35 segment was interrupted by noise or cardiac conduction

- 5~ -
abnormality and -that only a single segment has been detected.
In particular, the starting point of the first segment portion
is retained, whereas the termination point of the second sey-
ment portion is used as the termina-ting point of the combined
first segment. The magnitude of the! combined first segment is
taken as the sum of the previously determined magnitudes of the
first and second segment portions. Further, the ANALYSIS$MODE
flag is left as "1" so that upon the reexecution oE the SEG-
~IENT$ANALYST routine 1000, the second segment will be obtained
and anal~zed. On the other hand, iE step 1016 determines -that
the slopes o~ the Eirst and seconcl seymen-ts are dif~erent, the
identifying data of the seconcl segment in terms o~ starting and
stopping points and magnitude are stored in that location of the
RAM 26d for the second segment data; thereafter, the ~NALYSIS$-
MODE flag is set equal to "2" to prepare the SEGMENT$ANALYST
routine 1000 to receive and analyze data corresponding to the
third segment.
Upon the third reexecution of the SEGME~T&ANALYST rou-
tine 1000 with ANAL~SIS$MODE set equal to "2", step 1002 trans-
fers the routine 1000 to step 1022, so that the data correspond-
ing to the third segment can be received and analyzed. Step
1022 compares the slope of the current segment with the slope of
the previous segment. If the slopes of the successive seg-
ments are determined to be the same, step 1024 assumes that the
second segment was interrupted and the data corresponding to the
current segment is merged into that data of the second segment,
i.e., the starting point is taken as that o the second seg-
ment, the terminating point is taken as that of the subsequent
or current segment, and the amplitude is obtained by summing the
amplitudes of the prior and current segment portions. Step 1024
does not change ANALYSIS$MODE from its current value of "2", and
thereafter the process returns to continue the service routine
at step 830. If the slopes dif~er, step 1026 stores the current
data including starting and stopping points and magnitude in the
area 26d of the RAM 26 corresponding to data for the third seg-
ment.

` _55~
Thereafter, the ANALYSIS$MODE is set equal to "0" to prepare
the SEGMENT$AN~LYST routine 1000 to receive and analyze the
next sequence of segments.
Thereaf-ter, step 1028 initiates an evaluation of
the stcred data of the three segments to determine whether a
valid or invalid R-wave has been detected. First, step 1023
determines whether the magnitude of the firs-t segment is
larger than that of the third segment by comparing the values
of magnitude as stored within the assigned locations to the
first and third segments. If the first request is greal:er,
the case shown in FIGURE l9a, the first two segments, i.~.,
from point 1 to point 2 and from point 3 to point 4, are
recognized as forming the outline of the R-wave, whereby the
R-R interval is computed, the RR$TIMER is reset, and the QS
duration is computed. ~n this regard, it is unders-tood that
the data for identifying all three segments is obtained at a
point in time after the detection and analysis of the segments;
therefore, the process of analysis is made by determining when
the peak of the R-wave occurred, and in case one, as shown in
. _
FIGURE l9A, the peak occurs at the end of the first segment
and the R~R interval is determined by examining the value of
the RR$TIMER at the end of the first segment. In similar
fashion, the QS duration is taken as the difference between
the beginning of the first segment and the end of the second
segment. Further, it is now necessary to reset the RR$TIM~R
to begin the timing of the next R-R interval. To this end,
the RR$TIMER is reset not to zero but to a time corresponding
to the interval between the end of the first segment and the
end of the ~hird segment. On the other hand, if the first
segment is not larger than the third segment corresponding to
a second case, as shown in FIGURE 19B, the last two segments,
i.e., that second segment beginning at point 3 and ending at
point 4 and that third segment beginning at point 5 and ending
at point 6, are selected as the outline of the R-wave, the
R-R interval and QS duration are set accordingly, and the
.

` -56~ S ~
RR$TIM~R is reset accordingly. In particular, the peak of
the R-wave is selected as the end o~ the se~cond segment to
thereby define the R R interval as the value of the R~$TIMER
at the end of the second segment. Further, the QS duration is
thereby defined as -the difference between the values of the
~RR$TIMER -taken at the end of the third segment and -the begin-
ning of the second segment. The RR$TIMER is set to begin its
timing at the beginning of the third segment; more particularly,
the RR$TIMER is reset at the end of the third segment to a
time corresponding to the length of the third segment to
reflect the actual time at the resetting of the RR$TIMER whereby
the subsequent R-R interval may be measured. After each of
steps 1030 and 1032, a further check is made by step 1033 to
determine whe-ther the measured R-wave passes further validity
15 ;tests; in particular, it is determined that the Q5 duration
is less than 221 ms. and that the determined R-R interval is
greater than 242 ms. or 58 counts of the sample clock. It is
also contemplated within the teachings of this invention that
the average R-R interval, as determined for the corresponding
trend sample interval, may be compared with a given limit
period to identify the existence of a heart anomaly. If
within these limits as determined by step 1033, step 1036 sets
the R$FLAG true to indicate detection of the occurrence of
a valid R-wave. Thereafter, the ECG LED is turned on for an
interval of 83.3 ms. by setting the LED$TIMER for a corre-
sponding period. Then the process continues with the block
830 of the service routine. If the parameters of the detected
R-wave do not fall within the noted limits step 1032 calls,
in step 1034, the TREAT$AS$NOISE subroutine, as will be
explained with respect to FIGURE 17.
If the three segments do not occur within a given
interval of each other as determined by step 1012 or the QS
duration and the R-R interval are not within the predetermined
limits as determined by step 1032, the TREAT$AS$NOISE routine
1034 is called, as will be explained with regard to FIGURE 17.

~ _57~ 5~3
First, in step 1038, the RR$TIMER is reset to "0" and the
ANALYSIS$MODE is set to "0" to prepare the SEGMENT$AN~LYST
routine 1000 to receive and analyze data corresponding to
the first segment of a new complex. Thereafter, step 1040
determines whether R$WAVE$TYPE is greater than "2", and if
yes, the routine resets the R$WAVE$11YPE to "4" insuring
initialization during the STORE$RR$INTERVAI$DATA subroutine
700, as generally shown in FIGURE 8 and in more detail in
FIGURE 10. If the R-wave is less than or equal to "2",
indicative of complete initialization, the R$WAVE$TYPE is set
equal to "0" to insure that the nex1: R-R interval is ignored
because it is noise contaminated. After either of steps 1048
or 1042, step 1044 determines whether the system is in its
monitor mode by checking the XCMODE and, if yes, the LED 88
15; is flashed for a period o 41.6 ms. to provide an indication
to the operator that noise is being detected; in this regard,
this length or duration for flashing the LED 88 is about hal~
the period as would be displayed for energizing the LED 88 in
response to detection of a valid R-wave. I~ the system is
not in the monitor mode as determined by s~ep 1044, the
system is immediately returned to continue the execution of
the SEGMENT$ANALYST routine without flashing the LED 88.

Representative Drawing

Sorry, the representative drawing for patent document number 1175108 was not found.

Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: Expired (old Act Patent) latest possible expiry date 2001-09-25
Grant by Issuance 1984-09-25

Abandonment History

There is no abandonment history.

Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
None
Past Owners on Record
DENNIS G. HEPP
PAUL CITRON
THOMAS L. JIRAK
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column (Temporarily unavailable). To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.

({010=All Documents, 020=As Filed, 030=As Open to Public Inspection, 040=At Issuance, 050=Examination, 060=Incoming Correspondence, 070=Miscellaneous, 080=Outgoing Correspondence, 090=Payment})


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1993-12-16 18 752
Abstract 1993-12-16 1 37
Claims 1993-12-16 4 207
Descriptions 1993-12-16 58 2,764