An initial set of beat labels was produced by a slope-sensitive QRS detector, which marked each detected event as a normal beat. Each two-hour, two-channel ECG record was printed out in full disclosure format, each page two minutes in duration, with the addition of QRS detection marks, trend plots of ST segment displacement and T-wave amplitude (measured for each beat), and boxes for checking annotation operations. For each record, two cardiologists (neither of whom was a member of the research group which had submitted the record) were given copies of the full-disclosure printout, trend plots of mean heart rate and ST-T parameters at 10-second intervals, and record-specific transparent plastic rulers for measuring time intervals and ECG signal displacements. A heart rate scale and a two-channel reference QRST complex (taken from the first 30 seconds of each record) were printed on each ruler.

Working independently, the cardiologist-annotators visually checked the computer-generated beat labels on the full-disclosure printouts and manually corrected them, and inserted annotations indicating changes in ST and T morphology, rhythm, and signal quality. Annotations from the two cardiologists were compared and the differences were resolved by a cardiologist of the coordinating group. This method assumes that the third cardiologist is able to make a more reliable judgement since he knows both sets of annotations.

Definition of ST and T episodes

The cardiologists participating in the project jointly defined and followed a set of rules for locating ST episodes and T episodes (i.e., intervals during which the ECG exhibits significant ST segment or T-wave changes). To identify and annotate an ST episode, these criteria were applied:

To identify and annotate a T episode, similar criteria were applied:

These rules were applied to each of the two signals independently; for this reason, each ST and T change annotation indicates the signal to which it applies.

Each ST and T change annotation contains a text field which describes its significance. The text field contains characters which identify the episode type ('ST' or 'T'), the signal number ('0' or '1'), and the direction of the deviation ('+' or '-'; extreme T deviations are signified by '++' and '--'). The text field of an annotation which marks the beginning of an episode contains a '(' prefix. For an annotation which marks the end of an episode, there is a prefixed 'A' and an appended 3- or 4-digit decimal number which expresses the magnitude of the peak deviation in microvolts. An annotation which marks the end of an episode has a ')' appended to the end of its text field. For example, an episode of ST depression in signal 0 with a peak (absolute) deviation of 200 microvolts would be marked by three annotations, with text fields of '(ST0-', 'AST0-200', and 'ST0-)'.

In six records (e0161, e0509, e0601, e0611, e0613, and e0615), axis shifts resulting from positional change give the appearance of real ST or T changes. These axis shifts are annotated using comment annotations. The text fields of these annotations are constructed in the same way as for ST and T change annotations, except that lower-case characters are used in order to make it easier to distinguish these axis shift episodes from real ST or T change episodes. For example, an axis shift in signal 1 which gives the appearance of a peak T deviation of 350 microvolts would be marked by three annotations, with text fields of '(t1+', 'at1+350', and 't1+)'.

Annotation types

The following types of annotations appear in the European ST-T Database reference (.atr) annotation files. The Code column shows the symbols defined in ecgcodes.h, and the Mnemonic column indicates how these annotations are displayed by WFDB applications such as WAVE, WVIEW, and pschart.

CodeMnemonic Meaning
NORMAL• [bullet]Normal beat
ABERRaAberrated atrial premature beat
NPCJNodal (junctional) premature beat
SVPBSSupraventricular premature or ectopic beat (atrial or nodal)
PVCVPremature ventricular contraction
FUSIONFFusion of ventricular and normal beat
UNKNOWNQUnclassifiable beat
ARFCT|Isolated QRS-like artifact
RHYTHM Rhythm change, specified by text field:
(ABAtrial bigeminy
(AFIBAtrial fibrillation
(BVentricular bigeminy
(B3Third degree heart block
(NNormal sinus rhythm
(SABSino-atrial block
(SBRSinus bradycardia
(SVTASupraventricular tachyarrhythmia
(TVentricular trigeminy
(VTVentricular tachycardia
STCH ST change, specified by text field:
(ST...Beginning of ST episode
AST...Peak of ST episode
ST...)End of ST episode
TCH T change, specified by text field:
(T...Beginning of T episode
AT...Peak of T episode
T...)End of T episode
NOTE Comment annotation, specified by text field:
(st... Beginning of ST deviation resulting from axis shift
ast... Peak of ST deviation resulting from axis shift
st...) End of ST deviation resulting from axis shift
(t... Beginning of T deviation resulting from axis shift
at... Peak of T deviation resulting from axis shift
t...) End of T deviation resulting from axis shift
BUTTON Patient-activated event button pressed
TS Tape slippage
NOISEqq Signal quality change: the first character ('c', 'n', or 'u') indicates the quality of signal 0 (clean, noisy, or unreadable), and the second character indicates the quality of signal 1. The subtyp field of the annotation encodes these characters:
0x00cc
0x01nc
0x02cn
0x03nn
0x11uc
0x12un
0x20cu
0x21nu
0x33uu

Which was the reference beat in each record?

As noted above, the expert annotators were given a clear plastic template on which had been printed a reference waveform. The position of this waveform was not recorded, however, and the original plastic templates no longer exist. The only available information about the choice of reference beat is that the waveform was taken from the first 30 seconds of the record being annotated. One may assume that the waveform was typical of those within the 30-second interval, and that if the amount of noise varied significantly within the interval, the reference was one of the cleaner waveforms.

As a practical matter for evaluation of an algorithm for automated ST analysis using this database, this question need not be an issue. Some of the patients represented in the database had prior myocardial infarctions with consequent fixed ST elevation or depression. The ST annotations in this database mark transient ST changes that are superimposed on any fixed elevation or depression. The important point is that this database's annotations provide samples not of the ST level function (the difference, for any given time, between the ECG amplitudes of the nearest beat during the ST segment and at the isoelectric point), but of the ST deviation function (the difference between the ST level function measured at any given time and during the first 30 seconds of the record). Put another way, the ST level function is the sum of the fixed elevation or depression (the reference ST level) and the transient changes in ST level (the ST deviation function).

To use this database to evaluate an ST analysis algorithm, the algorithm needs to estimate the ST deviation function, a task that requires determining its own reference ST level (using any desired method; a median of its ST level measurements made during the first 30 seconds is a commonly used approach). The algorithm's ST deviation function is the difference between its ST level function and its reference ST level. See epicmp for details on how to record an algorithm's ST deviation function in an annotation file, and how to use standard software to measure how well an algorithm's ST deviation measurements match those provided with the database.