Relative Survival Rate Calculation

Relative Survival Rate Calculator .relative-survival-calculator-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; } .rsc-input-group { margin-bottom: 20px; } .rsc-label { display: block; margin-bottom: 8px; font-weight: 600; color: #333; } .rsc-input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .rsc-btn { background-color: #2c7a7b; color: white; padding: 15px 30px; border: none; border-radius: 4px; cursor: pointer; font-size: 18px; font-weight: bold; width: 100%; transition: background-color 0.3s; } .rsc-btn:hover { background-color: #234e52; } .rsc-result { margin-top: 25px; padding: 20px; background-color: #ffffff; border-left: 5px solid #2c7a7b; box-shadow: 0 2px 4px rgba(0,0,0,0.1); display: none; } .rsc-result-title { font-size: 18px; color: #555; margin-bottom: 10px; } .rsc-result-value { font-size: 32px; font-weight: bold; color: #2c7a7b; } .rsc-content { margin-top: 40px; line-height: 1.6; color: #333; } .rsc-content h2 { color: #2c7a7b; margin-top: 30px; } .rsc-content p { margin-bottom: 15px; } .rsc-content ul { margin-bottom: 15px; padding-left: 20px; } .rsc-content li { margin-bottom: 8px; } .rsc-error { color: #e53e3e; margin-top: 10px; font-weight: bold; display: none; }

Relative Survival Rate Calculator

The actual percentage of patients in the study group who survived the specific time interval.
The percentage of the general population (same age/sex) expected to survive the same interval.
Relative Survival Rate:
Interpretation:

Understanding Relative Survival Rate

The Relative Survival Rate is a standard metric used in epidemiology and oncology to estimate the probability of cancer survival after adjusting for normal life expectancy. Unlike the observed survival rate, which looks at all causes of death, the relative survival rate attempts to isolate the excess mortality caused by the specific disease.

Why Calculate Relative Survival?

When analyzing survival statistics for a specific disease, researchers need to account for the fact that people die from other causes (heart disease, accidents, old age). This is particularly important when studying diseases that affect older populations.

Relative survival provides a more accurate picture of the disease's prognosis by comparing the survival of patients to that of the general population with similar demographic characteristics (age, sex, year, and race).

The Formula

The calculation uses a ratio of two percentages:

Relative Survival (%) = (Observed Survival Rate ÷ Expected Survival Rate) × 100
  • Observed Survival Rate: The percentage of patients in the study cohort who are still alive after a specific period (e.g., 5 years).
  • Expected Survival Rate: The percentage of people in the general population of the same age and sex who are expected to be alive after that same period, derived from life tables.

Calculation Example

Consider a clinical study of prostate cancer patients with the following data:

  • Observed Survival: 85% of the patients were alive 5 years after diagnosis.
  • Expected Survival: Based on actuarial life tables for men of the same age, 92% were expected to survive 5 years naturally.

Calculation: (85 ÷ 92) × 100 = 92.39%

This means that patients with this specific cancer have 92.39% of the survival probability compared to the general population. It isolates the cancer-related survival from other causes of death.

Interpreting the Results

A relative survival rate of 100% suggests that the mortality of the patient group is identical to that of the general population, implying the disease has no effect on lifespan during that interval. A rate lower than 100% indicates excess mortality due to the disease.

function calculateRelativeSurvival() { // Get input values var observedInput = document.getElementById("observedSurvival").value; var expectedInput = document.getElementById("expectedSurvival").value; var errorDiv = document.getElementById("rscError"); var resultDiv = document.getElementById("rscResult"); var resultValue = document.getElementById("relativeSurvivalValue"); var interpretationSpan = document.getElementById("rscInterpretation"); // Clear previous results and errors errorDiv.style.display = "none"; errorDiv.innerHTML = ""; resultDiv.style.display = "none"; // Validate inputs if (observedInput === "" || expectedInput === "") { errorDiv.innerHTML = "Please enter both Observed and Expected survival rates."; errorDiv.style.display = "block"; return; } var observed = parseFloat(observedInput); var expected = parseFloat(expectedInput); // Logic check for valid numbers if (isNaN(observed) || isNaN(expected)) { errorDiv.innerHTML = "Please enter valid numeric values."; errorDiv.style.display = "block"; return; } // Logic check for range if (observed 100 || expected 100) { errorDiv.innerHTML = "Survival rates must be between 0 and 100."; errorDiv.style.display = "block"; return; } // Prevent division by zero if (expected === 0) { errorDiv.innerHTML = "Expected survival rate cannot be zero."; errorDiv.style.display = "block"; return; } // Calculate Relative Survival var relativeSurvival = (observed / expected) * 100; // Display Result resultValue.innerHTML = relativeSurvival.toFixed(2) + "%"; // Generate dynamic interpretation var interpretationText = ""; if (relativeSurvival >= 100) { interpretationText = "The patient cohort has the same (or better) survival probability as the general population."; } else if (relativeSurvival >= 90) { interpretationText = "The survival probability is very close to the general population."; } else if (relativeSurvival >= 50) { interpretationText = "The disease has a moderate impact on survival compared to the general population."; } else { interpretationText = "The disease has a significant impact on survival compared to the general population."; } interpretationSpan.innerHTML = interpretationText; resultDiv.style.display = "block"; }

Leave a Comment