Friday 4 August 2017

less than dead

I'm a sloppily pedantic person. I like things to be 'correct' and 'just so' but almost every time I look back over a previous post I find egregious errors.  Cue confiteor: I've neglected to include the Latin name for some organism, I've used its when it's is correct and the other way round. I've omitted the accents from Irish and french words.  This is particularly wearing because blogspot / blogger's recognises é as a completely different character to e and so if I want to see if I've written something about Aimé Bonpland I have to search both Aimé and Aime in case I missed the accent aigu. With magisterial inconsistency blogspot-search treats Aime and aime as equivalent.  Thanks be that I'm not an apostophe nazi because Unicode 'right single quote' [in HTML you write that as ’] is actually the preferred option over 'apostrophe' [']. If you're writing code you can't allow slack-arsed errors to creep in by cut&pasting “ when you mean "  Here's a list of  unicode possible quotie symbols [in hexadecimal!]
U+0022 = " quotes
U+0027 = ' apostrophe
U+0060 = ` grave
U+00B4 = ´ acute
U+2018 = ‘ left single
U+2019 = ’ right single
U+201C = “ left double
U+201D = ” right double
and because 80% of  my readers are french
U+00AB = «  guillemets en chevrons gauches
U+00BB = » guillemets droits
I'm glad I have that on record for myself. But nobody died because I popped an apostrophe in the wrong place unless Hauptsturmbannführer Apostroph has an apoplectic fit while reading The Blob from his fastness in Paraguay.  Things are different in Apple-land and sometimes you see characters like � [U+FFFD] in HTML docs on the web where your browser can't read the writer's symbols - almost always because of a problem with accents or special characters like > < / \ | & which are often 'reserved characters' in coding languages. HTML tags use <bold>to make thing bold</bold> for example. Technical details.

It's more difficult, because errors matter, if you're programming for the Health Service Executive HSE: you can't afford to write sloppy code there because some unfortunate's life might depend on it. About six years ago, the HSE moved into the 21stC by digitising all their X-rays, CAT scans, ultrasounds, MRIs etc. rather than depending on developing large sheets of photographic paper and holding them up to the light. This has obvious advantages: you can make a back-up copy; a houseman in Donegal can look at the same digital image at the same time as the consultant in Dublin; you don't need a courier to take the X-ray to the receiving hospital. The system has an acronym [must be important] National Integrated Medical Imaging System (NIMIS) and seems to operate on two levels:
  • the radiology information system RIS which is the original definitive copy usually pored over by the clinical team before treatment is meted out
  • the export copy which goes to the picture archive and may be retrieved later and by a wider subset of interested parties
A picture on its own is worth bugger all, it must have context and interpretation, so each picture acquires 1000 words of relevant commentary. Seems they have embraced speech-recognition technology, so the busy consultant can dictate his comments and these are captured digitally and attached to the image. That's all modern and cool. The problem was that the speech-cog software captured ". . . the aorta is less than 50% occluded" as ". . . the aorta is < 50% occluded" which is entirely acceptable in the context: nobody is going think <50% is the beginning of an HTML tag. The problem arose when the original notes became an export copy. At that stage, because the coders were asleep at the switch, the < disappeared like the cheshire cat and the message became ". . . the aorta is 50% occluded".  Whoops.

Why that is most likely significant is because of threshold values. The medical commentator will have in mind the critical values - those that require intervention. < 50% means everything is okay because 50% is the alert threshold; bald 50% is nay-kay and may precipitate intervention - a stent; more X-rays to give you cancer; another €1500 of tax-money for a confirmatory CAT scan.

There are several worrying things about this:
  • that is should happen at all in the export copy transfer
  • that the coding company's QC didn't pick it up
  • that the system has been running for 6 years and nobody on the ground noticed the anomaly
  • that there are now likely to be other errors (less overt and so harder to find and that much more insidious). Up to this week we were totally confident that the coders were worthy of their hire. Part of the confidence lies in the fact that the HSE paid them a shed-load of money. Could we have that money back please and could a few heads roll?
Richard Corbridge the HSE's Chief Information Officer has resigned "Corbridge’s decision to leave has nothing to do with the news that thousands of patients may need medical tests re-done because of a computer error."

I was a crap coder. I never mastered hashes aka associative arrays: they just wrecked my head so my iterative loops ran slower; I used <horror>GOTO</horror> statements; I was always forgetting the line-end ";". But I was a careful coder, I never believed that what I had written was delivering the correct output: I checked chunks of code with a calculator; I stress-tested it with non-numeric inputs; I asked if the outputs were reasonable. I have also hacked at other people's code when it mattered and found that it wasn't delivering the correct answer. I am proud to be on a select list of 385 people who found a glitch in PHYLIP.

Good news for the potentially 25,000 affected patients. After all which would you rather be?
less than dead

No comments:

Post a Comment