PEDAL CPET Data Manager
Systole is a desktop application for cardiopulmonary exercise testing (CPET) data management. It predicts peak VO₂ using 8 validated normative equations, generates clinical reports with automated interpretation, creates individualized exercise prescriptions, and exports data to the PEDAL REDCap database. All data stays on your local machine — nothing is transmitted over the internet.
Systole is distributed as a desktop application for macOS and Windows. Download the latest build from the public releases page:
Download page: github.com/hansenje/systole-releases/releases
The newest version is always at the top of the page — download that one unless you were told otherwise. Anything labelled Pre-release is a test build; production sites should install the newest release without that label.
.dmg, open it,
and drag Systole into your Applications folder. The
build is signed and notarized by Apple, so it opens without Gatekeeper
warnings..exe installer
and run it.Staying up to date: Systole checks for a newer release about once a day. When one is available, a green banner appears at the top of the app with a Download link that opens this same releases page — so once you're installed, you rarely need to find it by hand. To check on demand, use Settings → Software Updates → Check for Updates Now. Systole never downloads or installs an update on its own.
A fresh install of Systole opens in Demo mode with a bundled fictional database (7 patients, 12 tests, BxB and non-BxB samples). Use it to explore every feature without risk to real data. To switch to your real data, go to Settings → Application Mode and select Clinical. Systole restarts; the two databases stay completely separate and you can flip between them at any time.

Systole is licensed per site. Your key comes from the coordinating center — paste it into Settings → License and click Verify & Apply. Until a valid key is entered, an amber banner appears at the top of the window; after a short grace period, creating tests, importing, and exporting are disabled (everything already in the database stays readable). The key is checked entirely on your machine — no internet connection is involved, then or ever.
Before exporting any data to REDCap, configure these:
Site ID (Data Management tab → Site
Configuration) — Enter the PEDAL Site ID assigned by the coordinating
center (e.g., 6082) and click Save Site
ID. This becomes the prefix for all REDCap record IDs.
Protocol Mappings (Data Management tab → Protocol Mappings) — Map your lab's protocol names (as they appear in Breeze exports) to the corresponding REDCap numeric codes. Click Scan Database to auto-detect protocol names from imported tests, then assign the correct code to each. Unmapped protocols are highlighted in red and will block REDCap export.
Default Normative References (Settings tab) — Choose which prediction equation to apply by default based on patient age group and exercise modality. For example, you might set Blanchard as the default for pediatric cycle ergometry and Wasserman for adult cycle. These defaults are applied automatically during bulk import and when no reference has been explicitly selected.
MedGraphics Connection (Settings tab, optional) — If your CPET system uses BreezeSuite MedGraphics on SQL Server, configure direct database access here. Once saved, MedGraphics import buttons appear on the Records tab and bulk import bar.
From the Records tab:
Import a Breeze file — Click
Import, select one or more .sum files
exported from your CPET system. Systole parses the file, creates a
patient record (or matches to an existing patient by MRN), and populates
all CPET fields automatically.
Bulk import — Go to the Data
Management tab, click Select Files or
Select Folder, and choose .sum or
.pedal files. Systole processes them sequentially, matching
patients by MRN and flagging ambiguous matches or duplicate tests in the
Review sub-tab for manual resolution.
MedGraphics direct import (desktop app, after configuring the connection in Settings) — Click MedGraphics on the Records sub-tab bar to pick recent tests directly from the BreezeSuite database, or use the MedGraphics button next to Select Files / Select Folder for bulk import.
Manual entry — Click + New Patient to create a patient, then + New Test to start a blank test. Enter demographics and CPET data on the Exercise tab.
Switch to the Exercise tab. The top summary bar shows patient demographics and key values. Below that, CPET data is organized in four columns: Rest, Anaerobic Threshold, Peak, and Recovery.
If the test has breath-by-breath data, switch to the BxB tab (between Exercise and Reference) to see the Wasserman 9-Panel Plot and a time-down data table:
Note: The 9-panel plots and Exercise tab summary both use rolling averages computed from every breath (no resampling), so peak VO₂ and AT values will match. The time-down table resamples to fixed intervals (e.g., every 10 seconds for 30s averaging) for readability, so its displayed values are interpolated and may differ slightly from the Exercise tab summary.
Switch to the Reference tab to see predicted values from all 8 normative equations in a summary table. Each row shows:
Select the Report radio button on the equation that best fits your patient. Click any row to see the full detail panel with all predicted variables. Click the i button to view the equation formula and citation.
Choosing an equation: Click "Show Cross-Equation Comparison" in the detail panel to compare all datasets. In general:
Switch to the Report tab. Systole auto-generates a structured clinical impression based on the observed CPET values and the selected normative reference. The impression includes:
Below the impression, six narrative fields let you document:
If more than one test exists for the patient, historical trend charts appear showing peak VO₂, AT, heart rate, and VE/VCO₂ slope over time.
Switch to the Prescription tab. Peak HR and resting HR are pulled automatically from the Exercise tab.
Mark the test as complete by clicking the Verify button in the demographics summary bar. This locks the test to prevent accidental edits and snapshots the currently selected normative reference into the test record. (Click Amend later if changes are needed.)
Export to REDCap:
SITE-PEDALID-VISIT) are generated automatically — and
upload the file to your PEDAL REDCap project using its Data Import
Tool.See Exporting to REDCap — Step by Step for the full walkthrough.
| Concept | What It Means |
|---|---|
| PEDAL ID | Auto-assigned patient identifier, combined with Site ID and visit
number to form the REDCap record_id
(SITE-PEDALID-VISIT, e.g., 396-4567-1) |
| Test Status | New tests start as Preliminary. Click Verify when finalized. Historical tests are imported from legacy data. |
| .pedal file | Systole's native file format. Contains all data for a single test — demographics, CPET values, prescription, and report narratives. |
| .sum file | Export format from Breeze CPET software. Systole reads these directly. |
| Review Queue | When bulk importing, ambiguous patient matches and potential duplicate tests appear here for manual resolution. |
| Protocol Mapping | Your lab's protocol names must be mapped to REDCap numeric codes before export. Configure on the Data Management tab. |
| Demo / Clinical Mode | Two completely separate databases. Demo holds bundled fictional data for safe exploration; Clinical holds your real patient data. Toggle in Settings → Application Mode. |
| BxB tab | Dedicated tab for breath-by-breath data: 9-panel Wasserman plot, AT line, exercise window markers, time-down data table. Appears only when a test has BxB data. |