← VT1 and VT2 from any CPET file

Ventilatory thresholds · CORTEX

VT1 and VT2 from a CORTEX export

Export the test from CORTEX's software and hand Oxynet the file. Oxynet reads the CORTEX layouts it was built on, with English, German and French headers, and returns VT1 and VT2 located by models trained on tests that experts labelled.

Which CORTEX exports

  • CORTEX export opening with a 'CPET Results' banner.

  • CORTEX export with German headers ('Messzeit').

  • CORTEX export, 'Patient' header variant.

  • CORTEX export with French headers ('Marqueur').

  • MetaSoft Studio export.

    Excel-2003 SpreadsheetML (.xml)

  • 'Metabolic Edit' workbook with its tables side by side.

    Workbook

The format is detected automatically. The parser was built on exports from specific software versions, and another version may lay the file out differently: the reliable test is one real file. If yours is refused, send one de-identified export.

What Oxynet deals with in the file

Send the export unchanged. These are the things that go wrong when a file is converted by hand, and the parser handles them itself:

  • MetaSoft Studio's Excel-2003 workbook (SpreadsheetML, .xml), read directly: the breath-by-breath table is found inside it, with the work rate in watts.
  • Oxygen uptake and carbon dioxide output written in L/min, converted to mL/min.
  • Header variants in English, German ('Messzeit') and French ('Marqueur'), and a layout headed 'Patient'.
  • The 'Metabolic Edit' workbook with its tables side by side: a clock that restarts at each stage is rebuilt into one time axis, decimal separators lost in the export are repaired, and respiratory rate, which the workbook does not carry, is derived from inspiratory and expiratory time.

Three ways to run it

In an AI assistant

Connect Oxynet once, attach the CORTEX export and ask for VT1 and VT2. The assistant hands the file to Oxynet and explains what comes back; Oxynet's models locate the thresholds.

In Claude, Oxynet is in the connector directory. For ChatGPT, Claude Code, Gemini CLI and other clients, see connecting an assistant. Either way you need a free API key.

In the browser

Drop the CORTEX export on app.oxynet.net. No account is needed. The app shows what the file contains, then offers thresholds, oscillation and substrate analysis, with the intensity domains drawn on the chart.

From code

Upload the file to the REST API and ask for the vt analysis; the answer is JSON. The quick start has the calls in curl and Python. A free key covers research and testing.

Before you upload

On a free key, upload only de-identified data: remove names, dates of birth and record numbers from the file and the filename. Blank those cells rather than deleting rows or columns, so the layout stays as the software wrote it. Oxynet is research software, not a medical device, and its results are not a diagnosis (terms).

What comes back

Ventilatory thresholdsVT1 and VT2, each as a time from the start of the test and an oxygen uptake in mL/min, with the model and version that produced them.
Intensity domainsModerate, heavy and severe, second by second, drawn in the web app. The thresholds are where they cross.
CPET metricsPeak VO2, VE and RER, O2 pulse, the VE/VCO2 slope, test phases and classical landmarks.
Substrate useFat and carbohydrate oxidation, FATMAX, the crossover and gross efficiency.
Signal qualityWhether the gas analysis, the sampling and the clock can support a measurement at all.
Oscillatory ventilationBeta. Developed on one heart failure cohort; its transportability to other populations is untested.

No result carries a confidence score. The agreement with expert raters is published; nothing is calibrated against clinical outcomes. Every analysis and its limits are in the analysis catalogue.

CORTEX is a trademark of its owner, named here only to describe the files Oxynet reads. Oxynet is not affiliated with or endorsed by CORTEX.