Algorithms - UVA-CAMA/NICUHDF5Viewer GitHub Wiki

BAP v2.2 and HDF5Viewer v4.3

Algorithm Display Name Version Prerequisites Description Result Name Inputs
QRS Detection: ECG I 2 Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead I result_qrs(1).qrs ECG I
QRS Detection: ECG II 2 Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead II result_qrs(2).qrs ECG II
QRS Detection: ECG III 2 Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead III result_qrs(3).qrs ECG III
Brady Detection <N 4 Identifies all times when HR < N (no duration threshold, no joining rules) (N is one of set [100, 90, 80, 70]) /Results/Brady<N HR
Apnea Detection 3 Will use any previously computed QRS Detection results The resp (chest impedance) waveform is used to calculate the probability of apnea using the William and Mary Algorithm. The algorithm outputs the continuous probability of apnea as well as discrete apnea events. All available ECG signals are used to filter the chest impedance signal to remove artifacts from the heartbeat. /Results/Apnea Resp waveform, at least one of ECG leads
Periodic Breathing 3 Apnea Detection v3 The periodic breathing algorithm grabs the results from the apnea algorithm and runs Mary Mohr's periodic breathing algorithm on it to calculate the probability of being in periodic breathing. Probabilities>0.6 (from Mohr's thesis) are tagged as periodic breathing events. /Results/PeriodicBreathing Apnea result
Brady Detection Pete 4 Pete Nagraj's bradycardia detection algorithm: Bradys are <100 for ECG HR for at least 4 seconds. Joining rule for Bradys is 4 seconds /Results/Brady<100-Pete HR
Desat Detection Pete 4 Pete Nagraj's desat detection algorithm: <80% for at least 10 seconds. If two of those events happen within 10 seconds of each other, join them together as one event /Results/Desat<80-Pete SpO2_pct
Brady Desat 4 Brady Detection <100 v2, Desat Detection <80 v2 Brady Desat Algorithm with a 30 second threshold. Any Brady within 30 seconds of any desat (in either direction) will count. The tag begins at the start of the earliest event and ends at last endpoint of any of the tags in the merged event. /Results/BradyDesat Brady <100, Desat <80
Brady Desat Pete 4 Brady Detection Pete v2, Desat Detection Pete v2 Identical to the above brady desat algorithm, but the Brady Pete and Desat Pete tags are used as inputs. /Results/BradyDesatPete Brady Pete, Desat Pete
ABD 3 Apnea Detection v3, Brady Detection <100 v2, Desat Detection <80 v2 ABD Algorithm using Hoshik Lee's thresholds as described in "A new algorithm for detecting central apnea in neonates," Hoshik Lee et al 2012 Physiol. Meas. /Results/ABD Apnea, Brady<100, Desat<80
Data Available: Pulse 4 Determine when pulse signal (heart rate from the pulse oximeter) exists. Tag periods of continuous data, excluding impossible flat periods. /Results/DataAvailable:Pulse Pulse
Data Available: HR 4 Determine when HR signal (heart rate from ecg) exists. Tag periods of continuous data, excluding impossible flat periods. /Results/DataAvailable:HR HR
Data Available: SPO2_pct 4 Determine when spo2% signal exists. Tag periods of continuous data, excluding impossible flat periods. /Results/DataAvailable:SPO2_pct SpO2_pct
Data Available: Resp 3 Determine when chest impedance waveform exists. Tag periods of continuous data, excluding impossible flat periods. /Results/DataAvailable:Resp Resp Waveform
Data Available: ECG I 3 Determine when ECG lead I signal exists. Tag periods of continuous data. /Results/DataAvailable:ECGI ECG I
Data Available: ECG II 3 Determine when ECG lead II signal exists. Tag periods of continuous data. /Results/DataAvailable:ECGII ECG II
Data Available: ECG III 3 Determine when ECG lead III signal exists. Tag periods of continuous data. /Results/DataAvailable:ECGIII ECG III
Desat Detection <N 4 Run a desaturation detection algorithm which identifies any and all drops < the threshold N (N is one of set [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95]). (no duration threshold, no joining rules) /Results/Desat<N SPO2_pct
HR [Mean/Std/Skewness/Kurtosis] 3 Compute the every 10 minutes HR (from the ecg signal) statistics [mean / standard deviation / skewness / kurtosis /Results/HRMean; /Results/HRStd; /Results/HRSkewness; /Results/HRKurtosis; HR
Pulse [Mean/Std/Skewness/Kurtosis] 3 Compute the every 10 minutes pulse rate (from the pulse oximeter) statistics [mean / standard deviation / skewness / kurtosis /Results/PulseMean; /Results/PulseStd; /Results/PulseSkewness; /Results/PulseKurtosis; Pulse
SPO2_pct [Mean/Std/Skewness/Kurtosis] 3 Compute the every 10 minutes SpO2% statistics [mean / standard deviation / skewness / kurtosis /Results/SPO2_pctMean; /Results/SPO2_pctStd; /Results/SPO2_pctSkewness; /Results/SPO2_pctKurtosis; SPO2_pct
Max Cross Correlation HR SPO2_pct 3 Compute max cross correlation between HR (from the ecg signal) and SpO2% every 10 minutes, using the last 10 min of data (min xcorr & lags are also computed. All values are stored in tags.) /Results/MaxCrossCorrHR_SPO2_pct HR, SPO2_pct
Max Cross Correlation Pulse SPO2_pct 3 Compute max cross correlation between pulse rate (from the pulse oximeter) and SpO2% every 10 minutes, using the last 10 min of data (min xcorr & lags are also computed. All values are stored in tags.) /Results/MaxCrossCorrPulse_SPO2_pct Pulse, SPO2_pct
HCTSA FC_Surprise HR How Surprised 2 Highly comparative time-series analysis algorithm: /Results/HCTSA_FC_Surprise_HR_HowSurprised HR
HCTSA SB_MotifTwo HR Prob Increases 2 Highly comparative time-series analysis algorithm: probability of successive increases /Results/HCTSA_SB_MotifTwo_HR_ProbIncreases HR
HCTSA PH_Walker SPO2 Std Rand Walk 2 Highly comparative time-series analysis algorithm: standard deviation of random walk for SpO2% /Results/HCTSA_PH_Walker_SPO2_StdRandWalk SPO2_pct
HCTSA EX_MovingThreshold HR Avg Thresh 2 Highly comparative time-series analysis algorithm: moving average threshold for HR /Results/HCTSA_EX_MovingThreshold_HR_AvgThresh HR
HCTSA EX_MovingThreshold SPO2 Avg Thresh 2 Highly comparative time-series analysis algorithm: moving average threshold for SpO2% /Results/HCTSA_EX_MovingThreshold_SPO2_AvgThres SPO2_pct
HCTSA DN_cv HR Std Dist 2 Highly comparative time-series analysis algorithm: distribution of HR standard deviation /Results/HCTSA_DN_cv_HR_StdDist HR
HCTSA DN_Cumulants HR Skew Dist 2 Highly comparative time-series analysis algorithm: distribution of HR skewness /Results/HCTSA_DN_Cumulants_HR_SkewDist HR
HCTSA DN_Quantile HR Max Dist 2 Highly comparative time-series analysis algorithm: distribution of HR max /Results/HCTSA_DN_Quantile_HR_MaxDist HR
HCTSA SB_TransitionMatrix3 HR Sym Autocorr 2 Highly comparative time-series analysis algorithm: symbolic transforms HR autocorrelation /Results/HCTSA_SB_TransitionMatrix3_HR_SymAutocorr HR
HCTSA SB_MotifThree HR Sym Entropy 2 Highly comparative time-series analysis algorithm: symbolic transforms HR first differences of coarsely-grained series /Results/HCTSA_SB_MotifThree_HR_SymEntropy HR
HCTSA MF_arfit HR Wavelet Autoregress 2 Highly comparative time-series analysis algorithm: Wavelet HR wavelet autoregression model /Results/HCTSA_MF_arfit_HR_WaveletAutoregress HR
HCTSA SB_MotifThree HR Sym Diffs 2 Highly comparative time-series analysis algorithm: Symbolic transforms HR first differences of coarsely-grained series /Results/HCTSA_SB_MotifThree_HR_SymDiffs HR
HCTSA SY_StdNthDer HR 17thDeriv 2 Highly comparative time-series analysis algorithm: STD of 17th derivative of time series /Results/HCTSA_SY_StdNthDer_HR_17thDeriv HR
HCTSA DN_RemovePoints SPO2 Mean Dist 2 Highly comparative time-series analysis algorithm: Distribution SpO2 mean /Results/HCTSA_DN_RemovePoints_SPO2_MeanDist SPO2_pct
HCTSA SB_BinaryStats SPO2 Sym IQR 2 Highly comparative time-series analysis algorithm: Symbolic transforms SpO2 interquartile ranges /Results/HCTSA_SB_BinaryStats_SPO2_SymIQR SPO2_pct
HCTSA MF_arfit SPO2 Wavelet Autoregress 2 Highly comparative time-series analysis algorithm: Wavelet SpO2 wavelet autoregressive model /Results/HCTSA_MF_arfit_SPO2_WaveletAutoregress SPO2_pct
HCTSA SB_TransitionMatrix2 SPO2 Sym Eigen 2 Highly comparative time-series analysis algorithm: Symbolic transforms SpO2 eigenvalues of transition matrix at lag = 2 /Results/HCTSA_SB_TransitionMatrix2_SPO2_SymEigen SPO2_pct
HCTSA CO_AutoCorr SPO2 2 Highly comparative time-series analysis algorithm: Correlation SpO2 autocorrelation coefficient at lag = 4 /Results/HCTSA_CO_AutoCorr_SPO2 SPO2_pct
HCTSA SB_MotifThree SPO2 Sym Entropy 2 Highly comparative time-series analysis algorithm: Symbolic transforms SpO2 entropy /Results/HCTSA_SB_MotifThree_SPO2_SymEntropy SPO2_pct
HCTSA SB_TransitionMatrix1 SPO2 Sym Bin 2 Highly comparative time-series analysis algorithm: Symbolic transforms SpO2 eigenvalues of transition matrix at lag = 1 /Results/HCTSA_SB_TransitionMatrix1_SPO2_SymBin SPO2_pct
HCTSA ST_LocalExtrema SPO2 Stationarity Min 2 Highly comparative time-series analysis algorithm: Stationarity SpO2 ratio of minimum to range /Results/HCTSA_ST_LocalExtrema_SPO2_StationMin SPO2_pct
HCTSA ST_LocalExtrema HR Stationarity Min 2 Highly comparative time-series analysis algorithm: Stationarity HR of minimum to range /Results/HCTSA_ST_LocalExtrema_HR_StationMin HR
HCTSA CO_tc3 HR Correlaton Mean 2 Highly comparative time-series analysis algorithm: Correlation HR mean /Results/HCTSA_CO_tc3_HR_CorrMean HR
HCTSA CO_tc3 SPO2 Correlaton Mean 2 Highly comparative time-series analysis algorithm: Correlation SpO2% mean /Results/HCTSA_CO_tc3_SPO2_CorrMean SPO2_pct
Hyperoxemia Detection >N 1 Detect Hyperoxemia of SPO2_pct > N /Results/Hyperoxemia>N (N is one of [95,98]) SPO2_pct
Flat Detection Resp >10s 1 Find over 10 seconds flat signal in resp signal /Results/FlatResp>10s resp
  • The ABD algorithm has been updated to fix this issue here: https://github.com/UVA-CAMA/NICUHDF5Viewer/issues/26

  • Area calculation error (https://github.com/UVA-CAMA/NICUHDF5Viewer/issues/21) affected the bradycardia, desaturation, data available, and periodic breathing algorithms directly. These algorithms' version numbers will be updated in release 2.1. Since other algorithms are dependent on the results from these algorithms (though they may be unaffected by the area calculation), those other algorithms' version numbers will also be updated because the source algorithm has changed (i.e. the new algorithm looks for a root algorithm with a different version number). These secondarily affected algorithms in this circumstance are ABD and brady desat. The ABD algorithm had to be updated in another way (see above) for this release, so the algorithm version number is being incremented anyway. Brady desat needed its version number incremented because of the dat file filtering anyway.

  • The area calculation method has also been changed in data available to make more sense (before I set a threshold of 0.5 and used >= when given a binary data available array, which results in a weird area calculation). I changed it to a threshold of >0, which makes a lot more sense.

  • The dat file filtering has been added here https://github.com/UVA-CAMA/NICUHDF5Viewer/commit/2605d1c1abec8a574133f71fb113431c8f3fe382 and the algorithm version numbers were updated here: https://github.com/UVA-CAMA/NICUHDF5Viewer/commit/02c05ccf27b99ac5892c9195249e821bcdfbcdb0. Technically, these algorithms only would need to be re-run for .dat files, not for all file types, since dat files are the only ones that would be affected here. The only algorithms that would be in this group of only needing to be re-run for dat files would be the Hourly metrics and the cross-correlation metrics. However, I may recommend that everyone re-run anyway because it will make post-processing cleaner to ensure that all data has been processed using the latest algorithm version.

  • Important: duration=stop-start+T. For vital sign tags , T=1000ms at CWRU and UAB and T=1024ms at the other sites. For any apnea tags, T=250ms. For periodic breathing tags, T=20s=20000ms. For resp waveforms, T=5ms at CWRU, T=8ms at UAB and T=16ms at other sites. For ECG waveforms, T=5ms at CWRU, T=8ms at UAB and T=4ms at other sites.

All the Algorithms in BAP v2.0 and HDF5 Viewer v4.0

WARNING: an offset has been found in the "area" calculation for all algorithms using threshtags2.m. For an explanation of the error and a workaround, please see this issue here https://github.com/amedwards/NICUHDF5Viewer/issues/21

Algorithm Display Name Result Name Version Prerequisites Description
QRS Detection: ECG I result_qrs(1).qrs 2 Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead I
QRS Detection: ECG II result_qrs(2).qrs 2 Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead II
QRS Detection: ECG III result_qrs(3).qrs 2 Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead III
Brady Detection <100 /Results/Brady<100 2 Identifies all times when HR <100 (no duration threshold, no joining rules)
Apnea Detection /Results/Apnea 3 Will use any previously computed QRS Detection results The resp (chest impedance) waveform is used to calculate the probability of apnea using the William and Mary Algorithm. The algorithm outputs the continuous probability of apnea as well as discrete apnea events. All available ECG signals are used to filter the chest impedance signal to remove artifact from the hearbeat.
Periodic Breathing /Results/PeriodicBreathing 2 Apnea Detection v3 The periodic breathing algorithm grabs the results from the apnea algorithm and runs Mary Mohr's periodic breathing algorithm on it to calculate the probability of being in periodic breathing. Probabilities>0.6 (from Mohr's thesis) are tagged as periodic breathing events.
Brady Detection Pete /Results/Brady<100-Pete 2 Pete Nagraj's bradycardia detection algorithm: Bradys are <100 for ECG HR for at least 4 seconds. Joining rule for bradys is 4 seconds
Desat Detection Pete /Results/Desat<80-Pete 2 Pete Nagraj's desat detection algorithm: <80% for at least 10 seconds. If two of those events happen within 10 seconds of eachother, join them together as one event
Brady Desat /Results/BradyDesat 2 Brady Detection <100 v2, Desat Detection <80 v2 Brady Desat Algorithm with a 30 second threshold. Any brady within 30 seconds of any desat (in either direction) will count. The tag begins at the start of the earliest event and ends at last endpoint of any of the tags in the merged event.
Brady Desat Pete /Results/BradyDesatPete 2 Brady Detection Pete v2, Desat Detection Pete v2 Identical to the above brady desat algorithm, but the Brady Pete and Desat Pete tags are used as inputs.
ABD /Results/ABD 1 Apnea Detection v3, Brady Detection <100 v2, Desat Detection <80 v2 ABD Algorithm using Hoshik Lee's thresholds as described in "A new algorithm for detecting central apnea in neonates," Hoshik Lee et al 2012 Physiol. Meas.
Data Available: Pulse /Results/DataAvailable:Pulse 3 Determine when pulse signal (heart rate from the pulse oximeter) exists. Tag periods of continuous data.
Data Available: HR /Results/DataAvailable:HR 3 Determine when HR signal (heart rate from ecg) exists. Tag periods of continuous data.
Data Available: SPO2_pct /Results/DataAvailable:SPO2_pct 3 Determine when spo2% signal exists. Tag periods of continuous data.
Data Available: Resp /Results/DataAvailable:Resp 3 Determine when chest impedance waveform exists. Tag periods of continuous data.
Data Available: ECG I /Results/DataAvailable:ECGI 3 Determine when ECG lead I signal exists. Tag periods of continuous data.
Data Available: ECG II /Results/DataAvailable:ECGII 3 Determine when ECG lead II signal exists. Tag periods of continuous data.
Data Available: ECG III /Results/DataAvailable:ECGIII 3 Determine when ECG lead III signal exists. Tag periods of continuous data.
Desat Detection <75 /Results/Desat<75 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <76 /Results/Desat<76 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <77 /Results/Desat<77 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <78 /Results/Desat<78 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <79 /Results/Desat<79 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <80 /Results/Desat<80 2 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <81 /Results/Desat<81 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <82 /Results/Desat<82 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <83 /Results/Desat<83 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <84 /Results/Desat<84 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <85 /Results/Desat<85 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <86 /Results/Desat<86 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <87 /Results/Desat<87 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <88 /Results/Desat<88 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <89 /Results/Desat<89 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <90 /Results/Desat<90 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <91 /Results/Desat<91 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <92 /Results/Desat<92 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <93 /Results/Desat<93 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <94 /Results/Desat<94 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Desat Detection <95 /Results/Desat<95 1 Run a desaturation detection algorithm which identifies any and all drops < the threshold. (no duration threshold, no joining rules)
Hourly HR Mean /Results/HourlyHRMean 1 Compute the hourly HR (from the ecg signal) mean
Hourly Pulse Mean /Results/HourlyPulseMean 1 Compute the hourly pulse rate (from the pulse oximeter) mean
Hourly SPO2_pct Mean /Results/HourlySPO2_pctMean 1 Compute the hourly SpO2% mean
Hourly HR Std /Results/HourlyHRStd 1 Compute the hourly HR (from the ecg signal) std
Hourly Pulse Std /Results/HourlyPulseStd 1 Compute the hourly pulse rate (from the pulse oximeter) std
Hourly SPO2_pct Std /Results/HourlySPO2_pctStd 1 Compute the hourly SpO2% std
Hourly HR Skewness /Results/HourlyHRSkewness 1 Compute the hourly HR (from the ecg signal) skewness
Hourly Pulse Skewness /Results/HourlyPulseSkewness 1 Compute the hourly pulse rate (from the pulse oximeter) skewness
Hourly SPO2_pct Skewness /Results/HourlySPO2_pctSkewness 1 Compute the hourly SpO2% skewness
Hourly HR Kurtosis /Results/HourlyHRKurtosis 1 Compute the hourly HR (from the ecg signal) kurtosis
Hourly Pulse Kurtosis /Results/HourlyPulseKurtosis 1 Compute the hourly pulse rate (from the pulse oximeter) kurtosis
Hourly SPO2_pct Kurtosis /Results/HourlySPO2_pctKurtosis 1 Compute the hourly SpO2% kurtosis
Max Cross Correlation HR SPO2_pct /Results/MaxCrossCorrHR_SPO2_pct 1 Compute max cross correlation between HR (from the ecg signal) and SpO2% every 10 minutes, using the last 10 min of data (min xcorr & lags are also computed. All values are stored in tags.)
Max Cross Correlation Pulse SPO2_pct /Results/MaxCrossCorrPulse_SPO2_pct 1 Compute max cross correlation between pulse rate (from the pulse oximeter) and SpO2% every 10 minutes, using the last 10 min of data (min xcorr & lags are also computed. All values are stored in tags.)

Old Algorithm Table: A description of all the algorithms in BAP v1.1 and HDF5 Viewer v3.0

Algorithm Display Name Result Name Version Prerequisites Description
QRS Detection: ECG I result_qrs(1).qrs 1 none Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead I
QRS Detection: ECG II result_qrs(2).qrs 1 none Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead II
QRS Detection: ECG III result_qrs(3).qrs 1 none Physionet QRS detection algorithm: https://physionet.org/physiotools/physionet-cardiovascular-signal-toolbox/ using ECG Lead III
CU Artifact /Results/CUartifact 1 none Columbia University artifact detection algorithm created by Joe Isler. "HR is compared with PR and data are considered valid only if the difference between HR and lagged PR is > 1 standard deviation from 1h smoothed HR." - Joe Isler. (Boxcar smoothing for 1 hour). Periods of artifact are tagged.
WUSTL Artifact /Results/WUSTLartifact 1 none Epochs with a change greater than 3% between serial data points were judged to be contaminated with motion artifact and are tagged
Brady Detection /Results/Brady<100 1 none Identifies all times when HR <100 (no duration threshold, no joining rules)
Desat Detection /Results/Desat<80 1 none Identifies all times when SPO2% <80 (no duration threshold, no joining rules)
Apnea Detection with ECG Lead I /Results/Apnea-I 1 QRS Detection: ECG I The resp waveform is used to calculate the probability of apnea using the William and Mary Algorithm. If the ECG I signal is available, it uses the signal to filter out heartbeats from the chest impedance waveform.
Apnea Detection with ECG Lead II /Results/Apnea-II 1 QRS Detection: ECG II The resp waveform is used to calculate the probability of apnea using the William and Mary Algorithm. If the ECG II signal is available, it uses the signal to filter out heartbeats from the chest impedance waveform.
Apnea Detection with ECG Lead III /Results/Apnea-III 1 QRS Detection: ECG III The resp waveform is used to calculate the probability of apnea using the William and Mary Algorithm. If the ECG III signal is available, it uses the signal to filter out heartbeats from the chest impedance waveform.
Apnea Detection with No ECG Lead /Results/Apnea-NoECG 1 none The resp waveform is used to calculate the probability of apnea.
Periodic Breathing with ECG Lead I /Results/PeriodicBreathing-I 1 Apnea Detection with ECG Lead I The periodic breathing algorithm grabs the results from the apnea detection with ECG Lead I and runs Mary Mohr's periodic breathing algorithm on it to calculate the probability of being in periodic breathing. Probabilities>0.6 (from Mohr's thesis) are tagged as periodic breathing events.
Periodic Breathing with ECG Lead II /Results/PeriodicBreathing-II 1 Apnea Detection with ECG Lead II The periodic breathing algorithm grabs the results from the apnea detection with ECG Lead II and runs Mary Mohr's periodic breathing algorithm on it to calculate the probability of being in periodic breathing. Probabilities>0.6 (from Mohr's thesis) are tagged as periodic breathing events.
Periodic Breathing with ECG Lead III /Results/PeriodicBreathing-III 1 Apnea Detection with ECG Lead III The periodic breathing algorithm grabs the results from the apnea detection with ECG Lead III and runs Mary Mohr's periodic breathing algorithm on it to calculate the probability of being in periodic breathing. Probabilities>0.6 (from Mohr's thesis) are tagged as periodic breathing events.
Periodic Breathing with No ECG Lead /Results/PeriodicBreathing-NoECG 1 Apnea Detection with No ECG Lead The periodic breathing algorithm grabs the results from the apnea detection with No ECG Lead and runs Mary Mohr's periodic breathing algorithm on it to calculate the probability of being in periodic breathing. Probabilities>0.6 (from Mohr's thesis) are tagged as periodic breathing events.
Brady Detection Pete /Results/Brady<100-Pete 1 none Pete Nagraj's bradycardia detection algorithm: Bradys are <100 for ECG HR for at least 4 seconds. Joining rule for bradys is 4 seconds
Desat Detection Pete /Results/Desat<80-Pete 1 none Pete Nagraj's desat detection algorithm: <80% for at least 10 seconds. If two of those events happen within 10 seconds of eachother, join them together as one event
Brady Desat /Results/BradyDesat 1 Brady Detection, Desat Detection Brady Desat Algorithm with a 30 second threshold. Any brady within 30 seconds of any desat (in either direction) will count. The tag begins at the start of the earliest event and ends at last endpoint of any of the tags in the merged event.
Brady Desat Pete /Results/BradyDesatPete 1 Brady Detection Pete, Desat Detection Pete Identical to the above brady desat algorithm, but the Brady Pete and Desat Pete tags are used as inputs.
ABD Pete No ECG /Results/ABDPete-NoECG 2 Apnea Detection with No ECG Lead, Brady Detection Pete, Desat Detection Pete ABD Algorithm with a 30 second threshold. Used Pete's B and D tags along with Apnea-NoECG. The tag begins at the start of the earliest event and ends at last endpoint of any of the tags in the merged event. No order of Apnea, Brady, and Desat is enforced. Just any Apnea, Brady and Desat which all occur within a 30 second window around any of the A,B, and/or D events.
Save HR in Results /Results/HR 1 none Stores the HR vital sign in the results file. No tags are generated.
Data Available: Pulse /Results/DataAvailable:Pulse 1 none Determine when a pulse signal exists. Tag periods of continuous data.
Data Available: HR /Results/DataAvailable:HR 1 none Determine when a hr signal exists. Tag periods of continuous data.
Data Available: SPO2_pct /Results/DataAvailable:SPO2_pct 1 none Determine when a SpO2% signal exists. Tag periods of continuous data.
Data Available: Resp /Results/DataAvailable:Resp 1 none Determine when a resp signal exists. Tag periods of continuous data.
Data Available: ECG I /Results/DataAvailable:ECGI 1 none Determine when an ECGI signal exists. Tag periods of continuous data.
Data Available: ECG II /Results/DataAvailable:ECGII 1 none Determine when an ECGII signal exists. Tag periods of continuous data.
Data Available: ECG III /Results/DataAvailable:ECGIII 1 none Determine when an ECGIII signal exists. Tag periods of continuous data.