The massive coronavirus IT blunder with a funny side

Journalist Liam Thorp, who writes for the Liverpool Echo in England, recently published an amusing story that he subtitled, “Hilarious mix-up may have highlighted a potential issue with the vaccine roll-out.”

As you can imagine, medical mix-ups rarely end well, especially when they involve calculations that determine drug doses.

But, fortunately for Liam, who describes himself, in a deadpan but gently witty and guaranteed-to-make-you-smile video, as “a bit on the chunky side,” this mixup ended with a little bit of embarrassment for his doctor but a lot of happy laughter all round.

Nevertheless, as with most IT-related “tall stories”, there are some serious lessons we can learn from this one, so here goes.

Your vaccination is waiting

Liam received a text message (SMS) inviting him for his first coronavirus vaccine shot on account of his “excess weight.”

Presuambly, Liam could have simply grabbed the opportunity and gone in for the jab, but his social conscience led him to think that if he had, as he suspected, been offered vaccination by mistake, he’d be jumping the queue ahead of those who really ought to get the chance ahead of him.

That’s because the UK is currently delivering vaccines in what it thinks is order of medical priority – for example, although you might not have been surprised to read that Her Majesty the Queen was in one of the first groups to be vaccinated, the reason was down to her age (she’s 94), not because she’s the face on all our coins and stamps.

Liam, however, says he is 32 years old with no underlying health problems that he’s aware of, and certainly nothing on record that ought to have shoved him to the front of the queue.

A massive mistake

The mystery was unravelled the next day when his GP phoned to explain to Liam that it was, indeed, all a massive mistake.

The UK health system is using a formula known as BMI, short for Body Mass Index, as a crude guide to calculate whether patients on its books are considered “severely obese”.

BMI, it seems, was concocted some time in the early 1800s by an astronomer and mathematician who was looking for a simple rule-of-thumb to indicate objectively whether someone was undernourished, doing about right, or overweight.

It’s very basic: you take your body mass and divide it by the square of your height.

For global consistency, BMI always uses kilograms and metres, which were the units chosen by its Belgian inventor, Lambert Adolphe Jacques Quetelet.

Square your height

Why, or even if, this is a useful metric is unclear – and some current mathematicians and medical professionals do indeed consider BMI to be an inexplicable oversimplification.

Clearly, dividing mass directly by height wouldn’t work, because the volume of a cube isn’t proportional to its height.

But the volume of a cube isn’t proportional to the square of its height, either: as the name “cube” itself suggests, its volume is the cube (the third power) of its height.

It’s the same for round objects.

If you ever studied mathematics at school you will probably remember being compelled to learn the formulas for the circumference and area of a circle, and perhaps for the surface area and volume of a sphere.

You may not remember the formulas themselves, but you are sure to remember being told to remember them:

  For a circle or sphere of radius r:

  Circumference of circle:  2πr        (said aloud as: two pi R)
  Circumference of sphere:  2πr      
  Area of circle:           πr2        (said aloud as: pi R squared)
  Surface area of sphere:   4πr2       (said aloud as: four pi R squared)
  Volume of sphere:         (4πr3)/3   (said aloud as: four-thirds pi R cubed)

Areas increase in a quadratic way (i.e. by squaring), and volumes in a cubic way (i.e. by cubing).

As you grow, however, you don’t increase in size at the same rate in every dimension.

Unlike a cube, you don’t end up as wide as you are tall, you’re not as deep as you are wide, and your legs are a totally different shape and size to your torso, so presumably cubing your height in the BMI formula would be little better than squaring it, tending to overestimate your volume rather than to underestimate it.

But it’s still not obvious why BMI divides by the square of your height, given that you aren’t flat, either – unlike a square, which does have a width and a height, yet has a depth of zero and therefore no volume at all.

Modern BMI alternatives suggest using your height raised to the power 2.5, thus slotting in somewhere beween squaring and cubing, in order to maintain the simplicity of the calculation, given that height and body mass are easy to measure with basic equipment. Other 21st-century proposals suggest using a mobile phone app to estimate your volume more reliably using silhouettes derived from photos snapped from various angles.

Nevertheless, BMI is what the UK health service is using to decide whether your body mass is sufficiently high, given how tall you are, to put you at greater than normal risk from COVID-19.

If your BMI is above a pre-decided value, you’re offered you a chance in the vaccination queue that you might not have have got based on other factors alone, such as your age.

And here’s the thing: Liam Thorp’s BMI was computed as 28,000, which was above the threshold needed to qualify him for early vaccination.

We’re assuming that somewhere there was some programming code like this:

   local current_limit = 40

   if compute_BMI(patientrecord) >= current_limit then

What apparently didn’t exist was code, say, like this:

   local current_limit        = 40
   local largest_likely_bmi   = 200
   local huge_fudge_factor    = 12

   local bmi = compute_BMI(patientrecord)

   if bmi >= (largest_likely_bmi * huge_fudge_factor) then
       log_anomaly(patientrecord,"WEIRD BMI")
   elseif bmi >= current_limit then

As far as we can tell, the largest reliably known BMI on record is a shade over 200, which was recorded by a Saudi Arabian man who reached a body mass of just over 600kg.

He has apparently now got down to just 68kg, a good match for his height, but given that he was the second heaviest person in history at his peak weight, and the heaviest living person at that time, it’s a good bet that there is no one currently alive who has a BMI more than 200.

So Liam’s BMI measurement of 28,000 wasn’t just inaccurate, it was wildly, unbelievably, bizarrely and perhaps even dangerously wrong, given that there was at least one automated system that depended on it to make active decisions about his health care.

What happened?

Apparently, Liam’s height is pretty lofty (for those who aren’t Dutch, at least), at 1.88m.

We can therefore figure out how heavy he’d need to be in order to hit a BMI of 28,000:

   Let Liam's alleged body mass be M kg

   M kg / (1.88m x 1.88m)     = 28000 kg/m2
   M kg / 3.53m2              = 28000 kg/m2
   M kg                       = 98963 kg

In comparison, the locomotives that pull cars and trucks through the Channel Tunnel weigh in at about 130,000kg, or 130 tons.

In the UK (and, surprisingly perhaps, also in many other Commonwealth countries that gave up the imperial system decades before Britain), Liam’s height is typically described in vernacular speech as six foot two inches, or 6’2″ if written down including its units.

And measurements such as height and and mass should never be recorded without their units, or they simply don’t make sense, because height and mass are, by definition, not dimensionless numbers.

Your body mass, for example, simply can’t be 72, or 144. (Or 10/4 in the UK’s curiously confusing system of stones and pounds, where there are 14 pounds in a stone, who knew?)

Body mass has to be recorded as something like 72kg, or 144lb, or 10st4lb, so that the numbers make sense in real life.

It seems that Liam’s 6’2″ had ended up entered as 6.2…

…and the field it was entered into assumed that the units were centimetres.

As far as we can tell, even the shortest person on earth is ten times taller than that.

So Liam’s height was as improbable when it was entered as his computed BMI was when the vaccination scheduling system sent him his appointment.

What to do?

  • Don’t jump the vaccination queue just because you can. An obvious mistake needs correcting, not exploiting. Likewise, if you find your bank has wrongly credited you with $98,963 that you jolly well know isn’t really yours, don’t rush out and spend it before they realise. You will almost certainly end up having to pay it back.
  • Don’t leave out the units. Numbers that measure things are meaningless without their units. Don’t make assumptions, especially for measurements where various different units are in common local use, such as feet/metres, kilograms/pounds, knots/mph/kph, or different sorts of dollar. If you are creating a user interface, do your best to help the user get the entries in correct units, even if it requires a little more effort or typing.
  • Don’t ignore absurdities. In Liam’s case, his doctor did exactly the right thing and intervened in person to resolve the error. When programming, don’t blindly accept suspicious data. At the same time, don’t simply ignore it either, but get it checked out.

Of course, the last point above is vital in cybersecurity.

Many a malware attack has succeeded where it ought to have failed because a warning was written off as, “Probably just the sysdamins doing some tests.

And many an otherwise obvious phishing attack has succeeded because, “The web filter never blocked it so I decided to take that as a free pass from the IT department to go to the site anyway.

To recite a carpentry metaphor we have used before: in cybersecurity, it pays to measure twice, cut once.