Today we talk about the path by which The DigitalElf Project’s biggest piece of work came into existence: Auto-TeaCH. Firstly we talk about why.

Motivation

A typical radiology department is a radiological pathology banquet, with more food than the radiologist in training can consume. The problem is that the cases are hidden - time constraints and diversions prevent the systematic logging of teaching cases and one remains unaware of great cases seen by colleagues.

The proportion of studies that are abnormal has fallen in advanced imaging modalities over recent decades, reflecting a more investigation-led style of medicine, and the wider availability of imaging. The trainee is faced with a double-whammy of more studies and more refined diagnoses than ever before, more diluted with normals.

A decade ago a trainee could wait to catch pathology as it passed by. Today a more active search is needed. This had been a growing vague feeling in David Rosewarne’s (DR’s) gut in the five years or so leading up to the pandemic.

First trimester - it was an ugly embryo

DR had been playing around with python and programming in the pandemic after talking about healthcare IT with his friend Roger Marlow (RM), who is an IT professional. We had both taken some interest in Natural Language Processing (NLP). RM had many years experience of using regular expressions in his code. This is covered in the article for Day 6. DR was hearing about the applications of AI in text processing and the pair of us were looking at the use of cloud services for processing medical text (Comprehend Medical from Amazon Web Services).

DR had a few simple ideas about how regular expressions might be used to identify reports that made a positive mention of named pathology so that these could be used by trainees. He wrote a python program that was able to take a list of named pathologies and produce a spreadsheet list of study accession numbers for trainees to take away and use in the department. Looking back at the code, it was very ugly and naive in its implementation - but it did work.

So far so good, but then a bit of a pause. Both RM and DR moved their focus to other things for a bit.

Second trimester - taking form in pandas

DR’s IT repertoire slowly advanced as a result of small amounts of regular practice and he got experience in the use of pandas (see Day 5). It became apparent that the pandas library would be the tool for the next stab at the problem. Reports and their associated metadata are exported from Radiology Information Systems as .csv files. To python pandas this is like bamboo for panda bears, and was the basis of the next approach. We got cracking again and wrote a proof of concept system on Jupyter notebook that trainees could get cases out of with a text based REPL (read-evaluate-print loop) interface. A step forward, but hardly a software package.

Third trimester - a web app

Auto-TeaCH reaches a recognisable software form that is seen out there in the wild. The basic core NLP algorithms are pretty much unchanged from the second trimester, but these are embedded in a web framework that deals with the administration of users and organisations, and protects the data in a password-protected secure environment. Some carefully chosen user functionality has arisen organically out of regular discussions between DR and RM. The contractions are about to start…

Delivery

The system is now out there and live in test form. The next step is to see whether the radiology community sees in Auto-TeaCH a solution to any of their education needs. Whether ‘Yea’ or ‘nay’, both of us have learnt a great deal on the development of the system technically as individuals, and collectively as a microproject team. A large software outfit would have struggled to put together a project plan in the time that the two of us have done the whole project. Pinging WhatsApp messages have allowed rapid editing and re-releasing. Our roles have been complemetary, but the vision shared. That’s the magic of microprojects - productive tiny teams.

Feel free to approach us if you are interested: Either David or Roger - we are not fussy.