calculateBaselineB2bVariability method
baseline b2b variability criteria
- Increased or marked > 25 bpm
- Normal or moderate 5 - 25 bpm
- Reduced or minimal 3 - 5 bpm
- Absent < 3 bpm
Implementation
void calculateBaselineB2bVariability(List<double> beats, int size) {
int? min = 0, max = 0;
List<int?> beatsBpm = List.filled(size, null, growable: false);
for (int j = 0; j < size; j++) {
if (beats[j] != 0) {
beatsBpm[j] = (SIXTY_THOUSAND_MS / beats[j]).truncate();
} else {
beatsBpm[j] = 0;
}
//System.out.println(beatsBpm[j]+" " + beats[j]);
}
min = beatsBpm[0];
for (int i = 0; i < size; i++) {
if (beatsBpm[i]! < min!) min = beatsBpm[i];
if (beatsBpm[i]! > max!) max = beatsBpm[i];
}
if (max! - min! > 0 && max - min >= 25) {
// 25 bpm ~ 2400 ms
baselineB2bVariability = "Increased or Marked";
} else if (max - min >= 5 && max - min < 25) // 5 bpm ~ 12000 ms
baselineB2bVariability = "Normal or Moderate";
else if (max - min >= 3 && max - min < 5) // 3 bpm ~ 20000 ms
baselineB2bVariability = "Reduced or Minimal";
else
baselineB2bVariability = "Absent";
}