Electrocardiogram (ECG) interpretation requires an accurate assessment of the heart rate (HR). Standard ECG paper moves at a speed of 25 mm/sec. This means time can be measured by counting the grids on the paper.
The Three Primary Methods:
The 1500 Rule: Most accurate for regular rhythms. Count the number of small squares (1mm) between two consecutive R-waves (the peaks) and divide 1500 by that number.
The 300 Rule: A quick estimation tool for regular rhythms. Count the number of large squares (5mm) between two R-waves and divide 300 by that number.
The 6-Second Rule: The gold standard for irregular rhythms (like Atrial Fibrillation). Count the number of QRS complexes in a 6-second strip (30 large squares) and multiply by 10.
Reference Ranges:
Rate (BPM)
Classification
Below 60
Bradycardia
60 – 100
Normal Sinus Rhythm
Above 100
Tachycardia
function updateInputs() {
var method = document.getElementById('ecgMethod').value;
var label = document.getElementById('inputLabel');
var input = document.getElementById('ecgInputValue');
if (method === '1500') {
label.innerText = 'Number of Small Squares between R-R:';
input.placeholder = 'e.g. 20';
} else if (method === '300') {
label.innerText = 'Number of Large Squares between R-R:';
input.placeholder = 'e.g. 4';
} else if (method === '6second') {
label.innerText = 'Number of QRS Complexes in 6 seconds:';
input.placeholder = 'e.g. 8';
}
document.getElementById('ecgResultContainer').style.display = 'none';
}
function calculateECGRate() {
var method = document.getElementById('ecgMethod').value;
var val = parseFloat(document.getElementById('ecgInputValue').value);
var resultDiv = document.getElementById('ecgResultContainer');
var resultValue = document.getElementById('ecgResultValue');
var resultCategory = document.getElementById('ecgResultCategory');
if (isNaN(val) || val <= 0) {
alert('Please enter a valid positive number.');
return;
}
var bpm = 0;
if (method === '1500') {
bpm = 1500 / val;
} else if (method === '300') {
bpm = 300 / val;
} else if (method === '6second') {
bpm = val * 10;
}
var finalBpm = Math.round(bpm);
resultValue.innerText = finalBpm + " BPM";
var category = "";
var color = "";
if (finalBpm = 60 && finalBpm <= 100) {
category = "Normal Sinus Rhythm";
color = "#4caf50";
} else {
category = "Tachycardia";
color = "#f44336";
}
resultCategory.innerText = category;
resultCategory.style.color = color;
resultDiv.style.display = 'block';
}