June 27th, 2025
The ValsalvaAnalyzer software includes functions to analyze continuous beat-to-beat electrocardiogram and blood pressure (BP) measurements recorded during the Valsalva maneuver (VM). The computed clinical biomarkers and estimated model outputs provide insight into sympathetic and parasympathetic regulation of heart rate and BP during the VM.
My research involves the development of methodologies for analysis of physiological data. My primary focus is on data collected to assess cardiovascular disease and the interaction of cardiovascular and hormonal systems. Recent advances integrate mechanistic modeling with data science to phenotype patients, build surrogate models and develop digital twins. This study develops a software that, in a reproducible way, can extract biomarkers from ECG and blood pressure signals measured during the Valsalva maneuver, a physiological test used to assess the function of the autonomic control system. As an applied mathematician, my primary contributions involve the development of computational methodologies using a range of programming languages, including MATLAB, C++, Fortran and R. Beyond the Valsalva analyzer, my research involves developing computational models that integrate imaging and hemodynamic data for vascular network analysis. The Valsalva analyzer provides an algorithm that, in a reproducible way, can extract all known heart rate and blood pressure biomarkers, and it uses a mathematical model to reveal sympathetic and parasympathetic signaling markers not directly measurable. The software can help clinicians diagnosing patients with autonomic dysfunction.
[Instructor] To begin, use a digital blood pressure cuff for continuous measurement of blood pressure from the index and middle fingers of the non-dominant hand. Position the hand at the heart's level to eliminate gravity's effects. Place the electrodes equidistant from the heart. Place the white ECG lead to the left and the black ECG lead to the right of the atrium and place the red ECG on the left side lower edge of the rib cage. After instrumentation, instruct the subject to perform the Valsalva maneuver by exhaling into a positive end expiratory pressure device connected to a manometer. Record stable signals for at least 30 seconds before and after the Valsalva maneuver. Perform the Valsalva maneuver by asking the subject to exhale for 15 seconds, maintaining a pressure of 40 millimeters of mercury. To export the signals from LabChart to MATLAB at 1000 hertz, select the portion of the signal to export using the mouse. In the export as MATLAB menu, select the channels containing HR, BP, ECG, and intrathoracic pressure if measured. Here, channels one to three. Select 32-bit floating point, up sample to the same rate, and uncomment comments and event markers. Click OK to export the .MAP file and cancel to stop the export. From the pop-up menu, select figure parameters, choose the software platform type, figure font size, marker size, and line width. Then click OK to accept the settings and proceed to patient selection. From the menu patient selection, select patients to analyze. Use the mouse to select any number of patients from the list and click OK to proceed to the next step. From the menu operation selection, select the operations to be performed in descending order. After selecting the operation step one, select the patient information. Click OK to proceed. In the pop-up menu, enter patient information, including patient ID, age, sex, height, and weight. Then click OK to proceed. A new pop-up menu appears. In this menu, enter channel orders for the ECG, HR, BP, and thoracic pressure signals. If thoracic pressure is not measured, enter zero. A figure displaying the ECG, heart rate and blood pressure panels as functions of time will appear on the screen. Select data to analyze, including approximately 30 seconds before and after the Valsalva maneuver. Position the crosshair and click once with the mouse at the start and a second time at the end. The selected data will appear in red in the figure. Click save and exit. Select step two, electrocardiogram or ECG, on the operation selection menu. Now the figure displays the ECG signal. To correct misplaced peaks, click yes on the pop-up menu. On the next menu, click OK and scroll to the right using the hand tool until the peaks that need correction are visible in the window. If a peak is missing, misplaced, or an extra peak is marked, scroll to the peak's location. Press enter on the keyboard to open a menu querying, "Do you want to correct RS points?" Click yes to correct points, or no to return to the operations menu. Next, a menu appears with the option, "Click on point to correct." Press OK and place the crosshair on the point that needs correction. The next menu will ask, "Add or remove point?" To add a point, click add. The point marked will appear in red or blue. The program will classify the point as R or S based on the exact click location. To remove a point, click remove and the marked point will be deleted. Press enter on the keyboard. On the prompt asking if you want to correct points, click no. If the number of R and S peaks is not identical and the user clicks no, a new menu will display the message, "The number of R and S peaks must be equal. Inspect data." Click OK and the code will return to the peak correction step. In the operation selection menu, select step three, heart rate. The figure displays the heart rate in the top panel and ECG in the bottom panel. If the heart rate signal does not have artifacts, click save and exit, returning to patient selection. If there are errors in the data, click correct heart rate. Scroll along the heart rate signal and locate artifacts. Press enter on the keyboard when viewing a region that needs correction. Click OK on the menu querying, "Click at points to connect." Align the crosshair over the first point before the artifact and click once with the mouse. Then align the crosshair over the first point after the artifact and click a second time with the mouse. A linear spline connects the two points. A menu appears on the screen asking, "Accept change?" Select yes, undo or add change. Now the figure displays the heart rate in the top panel and the ECG in the bottom panel. To continue, press save and exit. In the operation selection menu, select step four, respiration. The respiratory signal is generated from the magnitude of the QRS signal. Click on save and exit to store the figure. In the operation selection menu, select step five, blood pressure. Align the crosshair with a blood pressure peak and click once with the mouse. Then align the crosshair on the next peak to the right and click again. The figure appears, displaying automatically detected systolic and diastolic signals. A menu appears prompting, "Do you want to correct systolic points?" Press yes to proceed, or no to proceed to diastolic BP correction. Click on the last correct systolic BP value before the correction. Then add points where the blood pressure should be. Then click on the first correct point after the artifact and press enter. A dashed red curve will display the corrected systolic BP. Continue to the end of the signal by scrolling to the right. Click enter and continue correcting the diastolic BP. Diastolic BP correction starts with a menu asking, "Do you want to correct diastolic points?" Press yes to correct, or no to proceed. Press save and exit to return to patient selection. In the operation selection menu, select step six, VM phases. To mark the start of the Valsalva maneuver, align the crosshair with the breath hold onset and click once. Afterward, align the crosshair with the breath hold end and click once to mark the Valsalva maneuver end. A menu appears prompting, "Accept indices?" Select yes to complete the operation, and no to inspect the automated detection of phases delineated by vertical lines. In the operation selection menu, select step seven, clinical ratios. The figure depicts systolic blood pressure in the top panel, heart rate in the center panel, and the RR interval in the bottom panel. Inspect characteristic values annotated with circular markers. Click yes if all points are correct. Otherwise, click no for adjustments. A menu prompting, "Select points to move," appears on the screen. Choose one, multiple, or all points. Click OK to continue, or cancel to skip changes. Run step eight, model prediction nominal, to generate a figure with four panels. The left panels display time varying and systolic blood pressure at the top and intrathoracic pressure at the bottom, which serve as model inputs. The top right panels show measured heart rate and predicted heart rate and predicted sympathetic and parasympathetic signals at the bottom. The next steps, sensitivity analysis and optimization, do not require any user interaction. These steps take two to five minutes to run. They calibrate the mathematical model to data, estimating sympathetic and parasympathetic dynamics. After sensitivity analysis and optimization, select step 11, plot model predictions, to generate a menu querying, "Select model prediction to show." Choose to optimize to display the results of model predictions with the calibrated model. Results are shown using the same figure layout as in model prediction nominal. Click save and exit at the bottom right to proceed. Open the save data menu, which prompts, "Enter data summary file name." Enter the preferred file name in the text box. A second menu appears, prompting the user to choose a file format. Select .XLSX or a comma-separated file. The saved file includes patient information, clinical markers, and regression lines, and nominal or optimized parameter values. ECG signal corrections successfully eliminated the need for heart rate correction in all but one dataset, where subject eight exhibited irregular ECG patterns. Heart rate correction applied to subject eight resulted in a smooth heart rate signal, aligning with other subjects after adjustment. Respiration signals were derived from ECG data using the QRS complex magnitude, effectively predicting intrathoracic pressure changes. The software identified either QRS waves interchangeably for intrathoracic pressure calculations. BP correction was applied to address missing beats and incorrect peak detection due to sensor errors. During the Valsalva maneuver, heart rate fluctuations caused the software to miss peaks necessitating BP correction. Systolic and diastolic BP signals were corrected using piecewise linear spine interpolation, ensuring accurate BP waveform reconstruction. The software successfully identified Valsalva maneuver phases and clinical markers, but some required manual correction. Misplacements of maximum BP and minimum heart rate in early phase four were corrected, improving regression accuracy. Regression lines for early phases two and four were computed with R square values included for quality assessment.
View the full transcript and gain access to thousands of scientific videos
The ValsalvaAnalyzer software is designed to analyze continuous electrocardiogram and blood pressure measurements during the Valsalva maneuver. It provides insights into the autonomic regulation of heart rate and blood pressure through computed clinical biomarkers.