Obtaining Test Annotation Files

For any ambulatory ECG monitor that incorporates automated analysis functions, the EC-38 standard requires the manufacturer to implement and disclose a method for producing test annotation files. Independent evaluators should seek assistance from the manufacturer in any case, since the manufacturer's interpretation of the device's outputs in the language of EC-38 is definitive (in effect, the annotation file generation technique becomes part of the system under test). Note that generation of annotation files need not be synchronous with data acquisition; a device might conceivably store all of the necessary data until the end of the test, and only then write the file. Neither does the standard require that an annotation be determined within any fixed amount of time, as would be expected of devices designed to trigger pacing, for example. Furthermore, EC-38 specifically allows for the possibility that the device under test might not produce the annotation file directly. If any external hardware or software is required to do so, however, it must be made generally available or specified in sufficient detail by the manufacturer to permit an independent evaluator to obtain test annotation files.

Annotation files contain a label (an annotation) for each beat and for certain other features of the signals, such as rhythm and ST changes. Annotations are stored in time order in annotation files. The “time” of an annotation is that of the sample in the signal file with which the annotation is associated.5 The WFDB library (included in the WFDB software package) includes C-callable functions (getann and putann) for reading and writing annotations. In a C program, annotations appear as data structures containing a 32-bit time field together with a pair of 8-bit fields that encode the annotation type and sub-type (anntyp and subtyp [sic], respectively), and a variable-length aux field usually used to store text. In annotation files, these annotation structures are usually stored in a variable-length bit-packed format averaging slightly more than 16 bits per annotation.6

Test annotation files may include the following:

Note that only beat annotations are absolutely required in test annotation files. ST deviation measurements within beat annotations, and the other types of annotations listed above, only need to be recorded for devices that are claimed by their manufacturers to provide optional features for detection of ventricular or atrial fibrillation, measurement of ST deviations, or detection of ischemic ST changes.

If the time units in the test annotation files are not the same as those in the reference annotation files (for example, because xform was used to change the sampling frequency of the signal files in a digital-domain test), the time units must be rescaled before proceeding with the comparison. This may be done by using xform to rewrite the test annotation files with the original sampling frequency.7

Details of the ST deviation measurement and episode detection criteria used in producing the reference annotation files for the ESC database may be found in several sources.8 Note, however, that many techniques for measuring ST deviation and for detecting transient ischemic ST changes are possible, and that to date the best evaluation results have been obtained for analyzers using criteria that do not attempt to mimic those used by the human experts who annotated the database.

Up: WFDB Applications Guide


Please e-mail your comments and suggestions to webmaster@physionet.org, or post them to:

PhysioNet
MIT Room E25-505A
77 Massachusetts Avenue
Cambridge, MA 02139 USA

Updated 10 June 2022