Arte SheetsLearn. Try. Understand.

Healthcare

Calculate Clinical and Full Rockall Scores in a Spreadsheet

Practice validated category inputs, missing-data guards and separate pre-endoscopy and full Rockall totals using fictional data.

A scoring worksheet for fictional training cases

Rockall is a prognostic score for acute upper gastrointestinal bleeding. This spreadsheet exercise demonstrates its arithmetic; it does not diagnose bleeding or prescribe treatment, admission, discharge or intensive care. Suspected acute gastrointestinal bleeding requires urgent medical assessment, not completion of this example.

NICE CG141 recommends Blatchford at initial assessment and full Rockall after endoscopy. The clinical Rockall subtotal shown here is not a replacement for that initial-assessment pathway. Use clinician-assigned categories: the worksheet cannot determine diagnoses or assess comorbidity severity.

The exercise accepts completed ages from 16 upwards, matching the population scope of the cited NICE guidance. No patient-specific mortality percentage is produced. Original cohort outcome rates are not a guaranteed prognosis for an individual or a contemporary setting.

Assign one category per component

Enter age in B2. B3 through B6 contain category points, not measurements. Select the highest applicable comorbidity category once; do not add separate diagnoses together. Missing endoscopy findings must remain blank rather than being coded as zero.

InputAllowed points and definitions
B2: age, yearsBelow 60: 0; 60–79: 1; 80 or more: 2.
B3: shock category0: systolic BP at least 100 mmHg and pulse below 100/min; 1: BP at least 100 and pulse at least 100; 2: systolic BP below 100.
B4: comorbidity category0: no major comorbidity; 2: heart failure, ischaemic heart disease or another major comorbidity; 3: renal failure, liver failure or disseminated malignancy.
B5: endoscopic diagnosis0: Mallory–Weiss tear, or no lesion identified and no stigmata of recent haemorrhage; 1: other diagnoses; 2: upper-GI malignancy.
B6: major stigmata of recent haemorrhage0: none or dark spot only; 2: blood in upper GI tract, adherent clot, visible or spurting vessel.

Calculate the clinical subtotal separately

E2 calculates age points plus B3 and B4, with a range of 0–7. It remains available when B5 or B6 is blank. The numeric and category checks reject missing values, numeric text, fractions and unsupported point values.

The initial fictional case has age 68, shock category 1 and comorbidity category 0: 1+1+0=2. The formula checks encoded values, not whether the clinical classification was correct.

=IF(COUNT(B2:B4)<>3,"Complete numeric clinical inputs",IF(OR(B2<16,B2<>INT(B2)),"Use completed age of at least 16",IF(OR(AND(B3<>0,B3<>1,B3<>2),AND(B4<>0,B4<>2,B4<>3)),"Invalid clinical category",IF(B2<60,0,IF(B2<80,1,2))+B3+B4)))

Add the endoscopy components only when known

E3 adds B5 and B6 to E2, giving the full score on a 0–11 scale. With diagnosis category 1 and stigmata category 2, the initial result is 5. Blank endoscopy data produces an explicit message instead of a deceptively low full score.

For a fictional age of 82 with shock 2, comorbidity 3, diagnosis 1 and stigmata 2, the subtotal is 7 and full score is 10. Change diagnosis to 2 for the maximum full score of 11. A clean-base ulcer still belongs to diagnosis category 1; absence of stigmata does not make the diagnosis score zero.

=IF(NOT(ISNUMBER(E2)),E2,IF(COUNT(B5:B6)<>2,"Endoscopy inputs required",IF(OR(AND(B5<>0,B5<>1,B5<>2),AND(B6<>0,B6<>2)),"Invalid endoscopy category",E2+B5+B6)))

Experiment without converting scores into treatment instructions

Try ages 59, 60, 79 and 80 to inspect the two age thresholds. Clear B5: E2 should stay numeric while E3 asks for endoscopy inputs. Enter 1 in B4 or B6: those are not valid category scores and should be rejected.

This worksheet deliberately has no automatic low/intermediate/high treatment label. Interpretation requires the clinical picture and applicable guidance. A low total is not permission to ignore bleeding or choose discharge.

Try the example

Use the original values or change them to test your understanding.

Further reading