ECGrid Toolkit User Guide

From CVRG Wiki

(Redirected from ECG Gadget User Guide)
Jump to: navigation, search

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


ECGrid Toolkit Description

The ECGrid Toolkit 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 the QT Screening algorithm (more on this algorithm below).

System Requirements

The ECGrid Toolkit works best with the following software:

Software Type Vendor/Name Recommended Version
Operating System Windows XP, Vista & 7
Mac OSX 10.5.8
Web Browser Google Chrome 14
Apple Safari 5.0.6 & 5.1
Opera 11.51
Microsoft Internet Explorer 6, 7, 8 & 9
Mozilla Firefox 3.6, 6.0.2 & 7.0
Runtime Environment Java 6.0

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

Toolkit Demonstration

To access a demonstration of the ECGrid Toolkit 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.

ECGrid Toolkit Workflow


The first thing you will see when accessing the ECGrid Toolkit 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 list of Usage Instruction links (to this Wiki) should appear.

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


File Storage

Currently, files uploaded to the ECGrid Toolkit 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 ECGrid Toolkit 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 ECGrid Toolkit 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.
CSV .csv File with a .csv extension that is a collection of raw x-y coordinates for one or more leads. Generated using digitization tools such as Engauge or WinDig.
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.

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.


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 ECGrid Toolkit (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 ECGrid Toolkit .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 ECGrid Toolkit 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 ECGrid Toolkit 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).


To download data that you previously uploaded, follow these steps:

1) Click on the Download menu, to open the Download window.

2) Select the files you want to download by checking their individual checkboxes or the Check/Uncheck All checkbox.

Check All
Check All

3) Click the Download Data Files Button.

4) You will be prompted to save a zip file locally.

Download Prompt
Download Prompt

5) Open the zip file and the files you selected will be inside.


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 Toolkit will render a graph of the ECG output.

  • Firefox has been found to experience issues loading large sets of data. You may be prompted about a JavaScript message. Check the box for "Don't ask me again" and this issue will disappear.
Visualization of waveform with all three Leads
Visualization of waveform with all three Leads

Note: The ECGrid Toolkit's visualization tool is able to display all 12 leads but only the first three leads are selected in this example.

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

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.

Annotation display on the graph.
Annotation display on the graph.


Available Analysis Algorithms

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

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.

Analyze Tab
Analyze Tab

To analyze a subject, click the checkbox corresponding to the algorithm(s) you want to use next to the Analyze button. Then click the checkboxes for each subject to analyze in the list and click the Analyze button (The algorithm checkboxs will hide all subjects which cannot be analyzed with that algorithm).

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.

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 QT Screening(Chesnokov algorithm) results and the QRSscore Algorithm, and contains data for every subject you chose.

QT Screening Algorithm Results File Example

Example of QT Screening (Chesnokov) results
Example of QT Screening (Chesnokov) results

Analysis Results Field Descriptions

QT Screening 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
Ectopic Beat Count Number of irregular 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.
RR IntervalCount Number of RR intervals found by the algorithm
RR Mean Mean RR Interval
RR Variance Statistical variance in the RR Interval
RR Standard Deviation Standard Deviation in QT Interval
QT IntervalCount Number of QT intervals found by the algorithm
QT Mean Mean QT Interval
QT Variance Statistical variance in the QT Interval
QT Standard Deviation Standard Deviation in QT Interval

IT Staff: Obtaining ECGrid Toolkit Source Code and Hosting the ECGrid Toolkit on Your Own

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

Integration of Globus Connect as a transfer method for Waveform

Create Globus Account

  1. Create a globus account (
  2. Look for a confirmation email and click to validate your email address
  3. Sign into your account
  4. Click 'Manage Identities' under your account name (top of page)
  5. Click the 'Add Single Sign On' link to associate your InCommon (Hopkins) and/or Google account with your Globus account
    1. Allows for Single Sign On in the future, using InCommon and/or Google credentials
    2. You will be redirected to the login page of the InCommon provider(Hopkins of Google) and then returned to Globus setup.

Get Globus Connect Personal

  1. Click ‘Transfer Files’ under 'Manage Data’ (top of page)
  2. Click the ‘Get Globus Connect Personal’ link
  3. A screen will pop-up where you enter a name for your computer (e.g. my_laptop) and click a button to generate a PKI for your computer
    1. Record the name and this key (e.g. "your_Globus_user#my_laptop" and "6ac2f871-cf3c-47af-8532-6e42fa64f3b5").
  4. Then you install Globus Connect Personal on your respective OS by clicking the respective button
  5. During the install you will be prompted for the setup key that you generated
  6. Once you’ve installed the local client, you can return to the ‘Transfer Files’ screen

Adding an Endpoint

  1. Click ‘Manage Endpoints’ at the top of the subscreen
  2. Click ‘add an endpoint’ link.
    1. This will allow you to setup a connection for the Waveform Globus Server.
  3. In the screen that appears, enter a name for the Globus Server (e.g., gcmu-02)
  4. Under Identity Providers, click the drop-down menu and select ‘MyProxy’
  5. In the fields that appear, enter the following:
    1. Hostname:
    2. Server DN: /C=US/O=Globus Consortium/OU=Globus Connect Service/CN=5f91b9c2-d2c2-11e2-9841-123139404f2e
  6. Under Servers, leave GridFTP for the Server Type
  7. In the other fields, enter the following:
    1. Server Domain:
    2. Server Port: 2811
    3. Subject DN: /C=US/O=Globus Consortium/OU=Globus Connect Service/CN=5f91b9c2-d2c2-11e2-9841-123139404f2e
  8. Click the ‘Create Endpoint’ button and your endpoint list should update with an entry for the Globus Server

File Tranfer Setup

  1. Now that you have your local client and the connection set up for the Server, click ‘Transfer Files’ at the top of the screen.
  2. On one side of the screen that appears, you will type the name of your local client (e.g., <your_Globus_user>#my_laptop) in the Endpoint field
    1. A file listing of your home directory should appear if the Globus Connect Personal client is running
  3. On the other side, you will type the name of the Globus Server (e.g., <your_Globus_user>#gcmu-02) in the Endpoint field
    1. You will be prompted for a username and password
    2. Username: cvrgglobusproc
    3. I’ll send you the passphrase in a separate e-mail
    4. Click Authenticate and you should see the home directory for that account on the server
Personal tools
Project Infrastructures