Introduction
touchECG is a digital resting ECG acquisition & management solution designed by Cardioline. The Windows based application facilitates the collection of diagnostic 12/15-lead ECGs.
An integration with ClinSpark and the ClinSpark Agent was designed based on touchECG version 3.51.13057.2.
This user guide is based on the touchECG version noted above. Newer versions of touchECG available from the vendor may not yet be compatible with the ClinSpark interface.
Pre-requisites
Cardioline touchECG compatibility was added with ClinSpark Agent version 1.4. However, we recommend using Agent version 23.1 or above (https://foundryhealth.atlassian.net/wiki/spaces/DOCS/pages/3700490299/ClinSpark+Agent?src=search).
Cardioline touchECG software must be installed in the PC ‘LocalAppData’ directory (example:
<User>\AppData\Local\Cardioline\touchECG
)
Overview
A quick walk-through video showing the basic configuration and use of touchECG.
https://vimeo.com/clinspark/touchecgAt about 5’10” into the video, it switches to a demo of advanced ECG review using a third-party proprietary add-in application called CalECG (see AMPS CalECG).
Advanced Use Cases
Demo Mode
Cardioline has designed touchECG with the ability to run in Demo mode, and thus it allows for working with simulated ECGs built into the application rather than requiring actual hardware or applying leads / procuring a simulator. Information about this can be reviewed in their service manual.
ClinSpark allows for Demo Mode to be set proactively for each invocation through global device configuration (via Devices > Configure). When set, the interface will have the user.config
XML file contain the HDPLUS_SN in each invocation to be hardcoded to 'DEMO'.
When enabled, this setting will be enforced across all studies and sites in the given ClinSpark environment, and may override any local user configurations where Demo mode is disabled.
Here is the setting:
Preventing ECG data being stored on a local or shared drive
This technical walkthrough view shows the configuration required to prevent ECG data being stored on local directories - the data is ingested into ClinSpark only.
https://vimeo.com/clinspark/touchecg-autodeleteFile Formats
Cardioline touchECG creates both PDF and SCP (data) files that are consumed by the interface. These files are processed locally first on acquisition PCs via the ClinSpark Agent, and also stored within timepoint details in ClinSpark.
SCP (Standard Communications Protocol)
SCP is a standardized ECG data file format that Cardioline uses for source records coming from touchECG. See also:
ClinSpark stores the source SCP files as part of each timepoint, similar to other ECG device interfaces.
These files can be directly accessed via Study > Data and selecting specific timepoint Item Group details.
Additionally, the files can also be accessed via the ECG > Review component audits, after a successful review has taken place.
As a standard approach to all ECG interfaces, ClinSpark represents these generically as ‘ECG Files’ in the application and provides the file with extension .ecg.
ClinSpark does not provide reference to the underlying data file format (SCP, XML, ISHNE, etc) of the ECG files themselves.
Note that SCP data file formats are not as common as XML, and contents cannot simply be opened by standard applications. Specific software systems that follow the published standards to open and read SCP file contents are capable of accessing the data within files. Customers with questions about the SCP ECG files should be directed at the vendor, Cardioline.
Data Workflow
Invoke device; Agent receives digitally signed JSON timepoint payload from the ClinSpark server
Timepoint contains a unique 'item group data id'
Agent attempts to locate the touchECG EXE; EXE path is built using 'LocalAppData' environment variable and appends Cardioline/touchECG/touchecg.exe
If EXE is not found, user is given a warning message and test ends
Agent attempts to find working results dir; path is built using 'AppData' environment variable and appends Local/touchECG/clinspark to it
Agent ensures an archive directory is present as a subdirectory of results using date timestamp and host name information
Agent creates an order text file that contains ID (randomization, lead-in, screening number), FIRSTNAME (mapped to study event and nominal timepoint), LASTNAME (study name), SEX (1=male, 2=female), BIRTHDATE (formatted yyyyMMdd), ACESSIONNUMBER (mapped to item group data id described above)
Agent creates user config XML file applying logic to configure the powerline filter, SCP path, PDF path, database path (directory where text and user config files are written)
When user order text and user config files are written, the touchECG executable is invoked in a separate thread, and it is passed as command line arguments -g -d <order file path>, -c <user config path>
The Agent then presents a modal to the user in ClinSpark that the order has been created, and it instructs the user to complete the test and press 'ok' when touchECG is closed.
The test is completed in touchECG software; users will end the workflow and return back to ClinSpark.
When the user presses 'ok' on the modal in ClinSpark, the Agent then begins the process to look for the result files; the result files must be named with the item group data id and be immediately followed with a suffix
If the files are not found in a given poll cycle, the Agent will attempt to look again; if it is determined that the EXE is no longer active and 8 seconds have elapsed, the Agent will give up polling and return an error message to the user
When the files are found, the SCP file is parsed and the intervals and interpretations are returned to the browser as JSON, and then the respective fields are set in the browser using JavaScript; the original SCP file is also saved with the ClinSpark form in the browser.
Manufacturer's Reference Material
Watch on YouTube
https://youtu.be/yTCK2qqSRFA
Service Manual
A copy of the touchECG version 3 service manual is embedded here for your convenience…
Known Issues & Limitations
Inconsistent QTc Values
A number of ClinSpark users have reported that they have experienced certain scenarios where the QTc value presented on the ECG tracing produced by touchECG software does not match the QTc value presented in ClinSpark forms (and in the “raw” SCP outputs provided by Cardioline).
In the examples IQVIA have encountered thus far, this in manifested as an “off by one” error (see below).
With regard to this issue, it’s important to understand that ClinSpark does not perform any transformation or modification to the source data provided by the Cardioline touchECG system. The ClinSpark integration simply reads these values from the SCP file and passes them into the ClinSpark form.
Also important, is that as the hardware and software vendor for the touchECG solution, Cardioline, is the “owner” of this issue. They have formally acknowledged it and expressed intent to release an update to resolve in a future touchECG software release. Any customers with questions about the root cause or further specifics on the discrepancy must reach out to Cardioline for further details.
IQVIA are only able to resolve this issue once Cardioline provides an update to their touchECG software. Once a fix is available from Cardioline, IQVIA will look to plan and schedule an updated release of the ClinSpark Agent that incorporates the changes necessary to support the fixes implemented by Cardioline. IQVIA will endeavor to make users of the Clinspark/Cardioline integration aware of the availability of these updates as appropriate.
Additional Reference Material
SCP-ECG V3.0: An enhanced standard communication protocol for computer-assisted electrocardiography
Standard Communications Protocol for Computer-Assisted Electrocardiography