Clinical Autocomplete / Autosuggest - how not to do it

Continuing the discussion from An Open Clinical Terminology?:

I’ve not seen this in any secondary care systems, although my hospital career was largely on paper (2000 - 2012) and then on Allscripts when I did locum work in ED (up till 2018). So perhaps some of the newer systems can do this.

If Clinical Autosuggest / Autocomplete could be implemented well it would be very useful. However it’s also possible to implement it so badly that it is annoying and creates clinical risk.

TPP SystmOne Case Study

TPP SystmOne attempts to auto-suggest Read codes, the feature is switchable and I switch it off because the autosuggestions are frankly terrible. It seems to be triggered by short strings of words and not context-sensitive in any way.

I have a moderate collection of screenshots of the worst SystmOne autosuggestions:

Here the user has typed ‘daily’ and has (presumably inadvertently) accepted the autosuggested Read code YA291|Daily variation in respiratory disorder - most GPs are not touch typists and therefore would be typing away looking at the keyboard, not at the screen. This behaviour of SystmOne is clinically risky. I’ve also seen this happen with a the phrase PRN (PRN means pro re nata which means to take a medicine ‘as required’) being replaced with Prune Belly Syndrome (but I don’t have the screenshot)

Here, the user typed the very common word ‘but’, in a sentence. SystmOne suggests X77Mq|Tear film break-up time (a rare test used in ophthalmology). Clever.

User types ‘ear wax’. SystmOne suggests two very very unusual read codes related to ear wax, but nothing actually useful.

If you type ‘works as’ then SystmOne will suggest X7676|Works as a prostitute. Most patients for whom I type ‘works as…’ do not work as prostitutes. I’m not sure why SystmOne considers it so likely.

This is the pièce de résistance. (Apols for the moiré, I don’t always have permissions to install screenshotting software so am often using my phone camera). We frequently use ‘pt’ as an abbreviation for ‘the patient’. No autosuggestion is needed at all. But here SystmOne has suggested a range of codes which happen to contain the text pt. Unfortunately they are all related to unusual sexual arrangements and (I guess) STI risk. If you inadvertently add these to a record it is not at all funny.

The reasons this feature is so bad are:

  1. There has been no attempt to ‘curate’ the selection of codes that are suggested (eg suggesting more common codes first). So even though my patients mainly work as things other than ‘prostitute’, these aren;t suggested because there’s no Read code for those other ones, only ‘prostitute’. Brainlessly tying the feature to a clinical terminology like this is dumb.

  2. It’s too easy to inadvertently select the suggested code. Addition of a code to the record needs to have some form of incontrovertibly positive selection step by the operator.

  3. There is no context-sensitivity to what else you’ve typed. I get that adding contextual awareness would be a much bigger computing challenge, in fact it would need to be running real-time Natural Language processing on the text, and autosuggesting using machine learning (I can’t bring myself to use the phrase ‘AI’)

  4. There’s no attempt to suggest according to:

  • the codes an individual practitioner uses frequently/recently
  • codes used frequently at a GP practice
  • The codes used frequently at national level (don’t tell me they don’t know this at TPP)
  • the codes that are recommended good practice (eg are used in QOF, or are mentioned in national guidance)
  • ‘preferred terms’ as opposed to synonyms
  • suppression of the more hilarious, salacious or extraordinary Read codes to avoid the above situations.