Wednesday, 5 May 2010

Conquest/ClearCanvas Radiologist Work list

imageI recently had an article explaining how I wrote a small app that integrates with Conquest and Clearcanvas which allows radiologist to work off a common work list. I have been actively developing the system and managed to make some nice progress. Our Radiologists are currently using the system to load balance Tele-Radiology cases from our remote branches.

The system is effectively allowing 3 doctors to share cases that where previously reported by only 1. This has been a huge hit as we are currently short staffed with 2 radiologists off sick. The workload is now easily handled by the 3 doctors in-between their normal work. This has saved our practice from hiring a temp radiologist to fill in the gap.

I have managed to improve the system to a stage were we have following features:

1.) Locking of studies being viewed by another radiologist

Studies that are locked appear in the list with a little lock and are slightly greyed out. If a radiologist tries to open the image they are given an error message.image

2.) Ability to mark cases as reported

Once a case is marked as reported it falls off the main list and can be found if a user select the show reported filter. Reported cases are shown with a little green tick.image

3.) Ability to search for studies (based on patient id)

There is a basic search facility for finding patients based on their patient ID.

4.) Display Series information

The series information is displayed once a study is selected.image

5.) Colour highlighting of studies based on time waiting

Cases that have been waiting for longer than 30min are shown in yellow and those waiting for longer are shown in red.


6.) Statistics

I created a small stats web page that uses Google charting API to display information about the number of cases for the day, number of cases per day for each branch and number of cases reported by which doctors workstation.



Some of the problems I have encountered:

One of the main problems I have encountered in the system is that the units sending the CR cases from the remote branches seem to send the study one image at a time to my conquest server. When conquest accepts the image and stores it in the database it is immediately displayed on the work list. This is a problem because there is no way I can figure out to display the total number of images in a study / series before it has all been received by the conquest server and some of the CR units appear to send the images out of sequence to the server. I have attempted to change the dicom association level, but this has had little effect. The solution that I came up to for this problem is to display the series information to the doctor and sort it by series number. The radiographers annotate on the first image in the series how many images are being sent. The radiologist can then look at the series information and the series number and determine when all the images have arrived.

How to do it yourself

This system is not rocket science. All you need to do is the following to get a system like this up and running:

  • Forward all cases to a conquest server and get it to auto-forward cases to clearcanvas workstations you want to report from.
  • Modify the conquest dicomstudies table to have 4 new fields. (bool is_reported, bool is_locked, text locked_by, text reported_b)
  • Create an application that can connect to the mysql database and pull the study information out.
  • Integrate with clearcanvas using the API.
  • And that is about it. It takes a bit of tweaking, but if I can do it then almost any half decent programmer can.