ECG Gadget User Guide

From CVRG Wiki

(Redirected from ECGGadget)
Jump to: navigation, search

Welcome to the user guide for the ECG Gadget, an online tool for analyzing and visualizing ElectroCardiogram data.

Contents

ECG Gadget Description

The ECG Gadget is an online tool that stores, visualizes, annotates, analyzes, and displays analysis results for ElectroCardiogram data.

Users upload the data as a file, visualize and annotate it in a graph, and analyze it with either the Berger or Chesnokov algorithms (more on these algorithms below).

System Requirements

The ECG Gadget works best with the following software:

Software Type Vendor/Name Recommended Version
Operating System Windows XP
Web Browser Firefox 3.6.2
Runtime Environment Java 6.0

Visit the Java download page to download and install a version of Java 6.0.

Gadget Demonstration

To access a demonstration of the ECG Gadget tool, click here.

Note: The video is for a earlier version of the Gadget than the one described below, but the core functionality it describes is the same in the current version.

ECG Gadget Workflow

Step One: Login

The first thing you will see when accessing the ECG Gadget is the login page.

Login Page
Login Page

To Log In, enter your User Name and Password and click the Connect to Grid button.

If you don't have a user name, you may login with both the user name and password set to "demo"

Please contact us for information on obtaining a user name and password.

If the connection is successful, a google map should appear with the location in the CardioVascular Research Grid that you have connected to.

Google Map that appears when connected
Google Map that appears when connected

Step Two: Storage

File Storage

Currently, files uploaded to the ECG Gadget are sent via FTP to a password-protected server at Johns Hopkins University's Institute for Computational Medicine lab.

The conversion output and analysis results files are stored on the JHU server by default, but the source code of the Gadget can be reconfigured to send the output files to another destination. Please contact us for support changing the destination of the output files.

The ECG Gadget does not currently support direct retrieval of the files you upload, or the conversion or analysis files it generates. However, you can download the analysis results in .CSV format in the View Analysis Results tab. For details, see the section on viewing files below.

Storing Individual Files

Supported File Types

The ECG Gadget accepts several file types for storage:

File Type Extension Description
Physionet (or WFDB) .dat Files containing ECG time series data in the WFDB format developed by Physionet.

You can access sample Physionet files here.

Header .hea These files are required companions to the Physionet WFDB files.
If uploading an RDT file, the Gadget will automatically generate this along with the WFDB file.
Norav .rdt Raw data files produced by the Norav PC ECG 1200 software.
INI .ini File with a .ini extension that is a companion to an RDT file, and usually generated through software that requires a matlab license.
These files are only necessary for those who want to analyze ECG data with the Berger algorithm.
See below for more information on the Berger Algorithm.
HL7aECG .xml File with a .xml extension conforms to the HL7aECG schema.
GE MUSE rhythm strip .txt File with a .txt extension was exported by the GE MUSE system.
ZIP Archive .zip A zip file that is a collection of any of the other supported file types.
For more information, go to the Storing Multiple Files section of this wiki page.
Note

Unless affiliated with the Prose ICD project, most users will not have access to Norav RDT files.

If you have an interest in using the Norav files, please contact us.

Uploading a Single File

Include a subject ID for each file that you upload in the subject ID box.

Storage Tab
Storage Tab

The Gadget will automatically convert RDT files to the WFDB format (and vice versa) right after you upload it.

If a subject has an associated ini file, the Gadget will be able to analyze it via the Berger algorithm.

If you are uploading an ini and an rdt file on their own, please be sure to specify the same subject id for both. For more information on the Berger Algorithm, see below.

Note

Do not attempt to upload two different files with the same extension for the same subject ID. The Gadget will only recognize one of these files and you will not be able to visualize or analyze the other.

If you have multiple, distinct ECGs for the same entity, assign them distinct subject IDs.

Storing Multiple Files via Zip Technology

Through the use of a single zip archive file, you have the ability to upload multiple ECG files at the same time.

Uploading a Zip File

The Gadget supports batch uploading via zip archive file. Zip files should contain the following:

  • Files you want to upload. Include any file that is supported by the ECG Gadget (see above for supported file types) EXCEPT other zip files.

  • A .CSV file that contains a subject ID/filename pair for each file (column A is the subject ID associated with the file, column B is the file name including the extension).
    The .CSV file must have the same name as the zip file. You may use the same subject ID more than once, but not on the same file type more than once (for example, two RDT files cannot have the same subject ID, but an RDT and an INI file can).
    Without a CSV file, the Gadget will assume that the subject ID is the same as the filename minus extension.

Example of .CSV file
Example of .CSV file

Once the Gadget accepts a zip file, it will extract and convert the contents automatically.

Also, do not place a subject id in the Subject ID text box if you are uploading a zip file.

Zip Creation Utility

You are free to create your own ECG Gadget .zip files with any archive tool you wish. However, if you desire assistance, we've included a Java-based utility that will do this for you. To use it, follow these steps:

1) Place all the files you want the ECG Gadget to store in a specific directory on your hard drive.

2) Click the Zip Creation Utility link in the Store tab.

3) You may be prompted to Open or Save a file. If so, select open.

4) You may then be prompted to Allow or Deny access. If so, select Allow.

5) A dialog box containing your file system will appear. You will not see any files, just folders. Click on the directory where your files are stored and click Open (Choose if using a Macintosh).

Zip Creation Utility
Zip Creation Utility

6) You will see a confirmation message with the name of the zip file the tool generated. This zip file should now be in the directory you specified containing all the ECG gadget compliant files plus the .CSV summary file.

Important Note

By default, the zip tool assumes that the name of each file minus its extension is its associated subject's ID.

If you want to change Subject IDs, open the .CSV summary file and change subject IDs in the first column. Then, save the .CSV file and add it to the zip file the using a zip utility (if prompted, choose to overwrite the old .CSV file within the zip).

Step Three: Visualize/Annotate

Subject List

The Visualize/Annotate Tab allows you to view and annotate the waveform of the ECG files you've uploaded in graphical format.

In the Visualize/Annotate tab, you will see all subjects you have uploaded in the main window, along with radio buttons in the side panel to choose which lead to see. You will see the length, number of leads, frequency, and number of points that the graph contains for each subject, along with the subject's ID (in blue font).

Visualize/Annotate Tab
Visualize/Annotate Tab

Visualizing ECG Data

Simply click on the subject you want to see and the Gadget will render a graph of the ECG output.

Visualization of waveform with all three Leads
Visualization of waveform with all three Leads

Note: At the present time, the ECG Gadget's visualization tool is only able to display the first three leads of an ECG file.

Click the close link when you are done viewing the graph and you will return to the subject list.

Annotate ECG Data

To annotate the graph of the ECG waveform, follow these steps:

1) Select a specific lead in the radio button on the left hand side.

2) Use the mini-graph below the main one to zoom in on a particular part of the graph if you wish. You can do this by narrowing the left and right sides of the graph.

3) Click the Annotation Button:

Annotation Button
Annotation Button

4) Enter the time and millivolts point that you wish to annotate.

5) Click the lookup button to see if there are any existing annotations for that point. If there are none, the fields below should be blank.

6) Enter an ontology from the Minnesota code database in the Ontology box. The tool should autocomplete for you.

Selecting an ontology
Selecting an ontology

7) The description of the annotation should autopopulate in the Annotation box

Ontology description populated
Ontology description populated

8) Click Save to save the annotation.

9) The annotation should be assigned a letter and it should appear in a list to the right of the visualization graph.

Step Four: Analyze

Available Analysis Algorithms

In the Analyze tab, you will have the opportunity to analyze the ECG data with one of two algorithms.

  • The "Chesnokov Algorithm," developed by Dr. Yuriy Chesnokov for Physionet's Computers in Cardiology Challenge.
    You can find more information about this algorithm in a paper by Chesnokov et al at the Physionet website.

Analyzing ECG Data

In the Analyze tab, you will see a list of all the subjects that you have uploaded, along with the algorithms you can use to analyze them. B stands for Berger and C stands for Chesnokov. All subjects should qualify for Chesnokov algorithm analysis, but only those subjects with a properly formatted INI file will qualify for Berger analysis.

Analyze Tab
Analyze Tab

To analyze a subject, click the checkbox corresponding to the algorithm(s) you want to use in the left-side panel. Then click the checkboxes for each subject to analyze in the main panel and click the Analyze button (The checkbox next to the Analyze button will select/deselect all subjects).

This will start the analysis process for each of the subjects you selected. You should see a confirmation box informing you that the Gadget is analyzing the data.

Analyzing the same subject more than once

You do have the ability to analyze the same subject more than once. If a subject has already been analyzed, the Gadget will re-execute the analysis algorithm and overwrite the previous results.

The overwriting should not be a concern since both algorithms produce the same results every time as long as the data they're analyzing is the same. Unless you've uploaded a different ECG file for the same subject, you should receive the same results every time you analyze a subject.

Step Five: View Analysis Results

Contents of View Analysis Results Tab

Every subject/algorithm combination with analysis data will appear on the View Analysis Results tab.

View Analysis Results tab
View Analysis Results tab

Viewing Files

Click the checkbox next to the each subject/algorithm pair you wish to see and click the View button.

You will be prompted to open or download an Excel file. The file has a separate sheet for the Berger and the Chesnokov algorithm results, and contains data for every subject you chose.

Chesnokov Results File Example

Example of Chesnokov results
Example of Chesnokov results

Berger Results File Example

Example of Berger results
Example of Berger results

Analysis Results Field Descriptions

Chesnokov Results Fields
Field Description
File Analyzed Path and name of the file the algorithm analyzed
Length Time of the entire data set
Lead The lead analyzed in this row
Total Beat Count Number of heartbeats found by the algorithm
QT Corrected Corrected QT Interval; computed by dividing QTMean by the square root of the RRMean; QTmean/sqrt(RRmean)
QTVI_log Log of the QTVI; computed by the log of the QTVariance divided by the QTmean squared over the RRVariance divided by the RRmean squared.
QTIntervalCount Number of intervals found by the algorithm
QTMean Mean QT Interval
QTVariance Statistical variance in the QT Interval
QTStandardDeviation Standard Deviation in QT Interval


Berger Results Fields
Field Description
FileName Name of file it analyzed
StageName Legacy term, probably equals "stst"
meanHRbpm Mean Heart Rate per minute
perckept Percentage kept in the period
percPVC Percentage ectopic in the epoch
QTVI_log The QT Variability Index; log ratio between the QT interval and heart rate variabilities. Same formula that Chesnokov uses.
QTVInumer*1000 The QT Variability Index’s numerator multiplied by 1000
QTVIdenom*1000 The QT Variability Index’s denominator multiplied by 1000
QTV_msecsqu The QT Variability in milliseconds squared
HRV_bpmsqu The Heart Rate Variability in beats per minute squared
QTintmean_sec Mean qt interval in seconds
HRmean_bpm Mean heart rate in beats per minute
QTRRslope Slope of the QT versus RR plot
QTRRintercept Y intercept of the QT versus RR plot
QTRR_r2 R2 of the QT versus RR plot
meancoh Mean spectral coherence of QT and HR; the coherence provides a measure between zero and unity of the degree of linear interaction between heart rate and QT interval fluctuations as a function of the frequency of those fluctuations
VLFPow Very Low Frequency Power
LFPow Low Frequency Power
HFPow High Frequency Power
TotPow_clinical_use Total Power for Clinical Use; the sum of Very Low Frequency Power, Low Frequency Power and High Frequency Power
TotPow_mathematical legacy field, please ignore
LFdivHFPow Low Frequency Power divided by High Frequency Power
LFdivHFplLF HRV Low Frequency Power divided by ( High Frequency Power + Low Frequency Power )
RMSSD_msec Root Mean Square Successive Difference in milliseconds
pNN50 A time domain measure of heart rate variability; pNN50 = (NN50 count) / (total NN count)
meanNN_msec Mean NN in milliseconds
SDNN_msec Standard deviation NN in milliseconds
total_RRvariance_msec Total RR variance in milliseconds
SDNN_RST_msec Standard Deviation of the RST wave in milliseconds*
template1H constant QT template used in detection
nowtemplatemsec duration of the QT template
Qbeginmsec Starting Q of the wave
tempinitmsec Starting T of the wave
tempendmsec Ending T of the wave
sdRLTESQTintmsec St. Dev. of QT intervals
avgNssvthoseelim average noise (normalized-epsilon) value of the bad QT beats
avgNssthosekept average noise (normalized-epsilon) value of the good QT beats
maxgap_sec the longest time gap, in seconds, between good QT beats
epochsizsecs Entire length of the epoch in seconds
length(rwave) the number of detected Rwaves in the epoch
ORIGbegindatapt Starting point of the analysis in the epoch, in data point units
DataFileType The type of data file



IT Staff: Obtaining ECG Gadget Source Code and Hosting the ECG Gadget on Your Own

IT staff and administrators: Click here for instructions on how to obtain the ECG Gadget source code and/or deploy and host the ECG Gadget on your organization's web server.

Personal tools
Project Infrastructures