Kara Bliley
Gina Lee
Allison Powers
Advisor: Tina V. Hartert, M.D., M.P.H.
Quantification of Respiratory Waveform Variations in Pulse
Oximetry Tracings
Background
AC
DC
•Readings are based on pulsatile absorption
•Arterial blood assumed to be the only pulsatile absorbance between light source and photodetector
Pulse oximetry:
Background
• Pulse oximetry is the measure of “functional O2 saturation” which is defined as the percentage of oxyhemoglobin (O2Hb) relative to the total amount of Hb available for binding:
CO-oximeter: fractional SaO2
O2Hb
O2Hb + Hb + COHb + MetHbx 100%
O2Hb
O2Hb + Hbx 100%
Pulse oximeter: functional SaO2
Background
• Pulsus Paradoxus:
– Defined as an abnormally large decline in systemic arterial pressure during inspiration (>10mmHg)
– Observed in severe asthma, heart failure, and forced respiratory effort
Background
How is pulsus paradoxus found?
Normal Tracing
Tracing Exemplifying Pulsus Paradoxus
•Waveform allows for recognition of pulsus paradoxus
•Pulsus paradoxus is normally determined manually using a blood pressure cuff
timeF
unct
iona
l O2
satu
rati
on
Objective
• To develop an algorithm to quantify pulsus paradoxus
Normal arterial pressure trace: Pulsus paradoxus:
Fun
ctio
nal O
2 sa
tura
tion
time
Methods: Digitizing Data
• Entered the data using a digitizer• About six complete cycles of data entered for
each tracing• Number of data sets: 3 normal, 7 abnormal
MATLAB code
• load data2.txt;• l2 = length(data2);• [time2 pulse2] = textread('data2.txt', '%f %f',l2);• N2 = length(pulse2); t2 = time2;• T2 = t2(N2)/N2; • figure(2); subplot(2,1,1); plot(t2,pulse2)• title('PULSE OXIMETRY 2'); xlabel('TIME,seconds');
ylabel('%sat');• pulse2dt = detrend(pulse2); %removes average value• PULSE2 = T2*fft(pulse2dt); magpulse2 = abs(PULSE2(1:N2/2));• fd2 = 1/(N2*T2); f2 = (0:N2/2-1)*fd2;• subplot(2,1,2); plot(f2,magpulse2); grid• AXIS([0 2 min(magpulse2) max(magpulse2)])• title(‘MAGNITUDE SPECTRUM'); xlabel('FREQUENCY, HZ');
ylabel('MAGNITUDE')
Tracing and Frequency Spectrum
0 10 20 30 40 50 60 700
2
4
6
8
10
12PULSE OXIMETRY 2
TIME,seconds
%sa
t
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
10
20
30
40
FREQUENCY, HZ
MA
GN
ITU
DE
More MATLAB code
load data2.txt;l2 = length(data2);[time2 pulse2] = textread('data2.txt', '%f %f',l2);N2 = length(pulse2); t2 = time2;T2 = t2(N2)/N2; pulse2dt = detrend(pulse2); %removes average valuePULSE2 = T2*fft(pulse2dt); magpulse2 = abs(PULSE2(1:N2/2));fd2 = 1/(N2*T2); f2 = (0:N2/2-1)*fd2;cumsum(magpulse2);k2 = max(cumsum(magpulse2))
k2 = 568.4633
• The cumulative sum of the magnitude spectrum over all frequencies is calculated. It is the “new pulsus paradoxus.”
Correlation of DataNew PP vs. Original PP
y = 0.0685x - 15.048
R2 = 0.6189
0
5
10
15
20
25
30
35
0 200 400 600 800
New PP
Ori
gin
al
PP
Original PP vs. New PP
Conclusion: Clinical Application
• Based on the correlation of our data with the established pulsus paradoxus values, we conclude that our method is an accurate way to quantitate the pulsus paradoxus, and thus the severity of the disease.
• Note: While developing our method, we were blinded to the diagnoses. The established pulsus paradoxus values were not made known to us until after we had results.
Current Status
• Work has been completed. More tracings need to be digitized. Further statistical tests will need to be done to verify the method used.
Current Work
• We will be completing final steps of project (final presentation, web page, paper, etc…)
Work Completed
• Mathematical analysis has been completed.
Future Work
• Digitizing more tracings
• Preparation for final presentation and write-up
Future Direction
• Further studies to validate the algorithm derived from method
• Design a method to be able to quantify pulsus paradoxus value in real time
Acknowledgements
• VUMC Intensive Care Unit Staff• Patrick Norris• Dr. Shiavi• Dr. Paul Harris
• Figures used throughout presentation were obtained from presentations given by our advisor
References