This could lead to excellence (or serious injury)

I was at the dentist last week for my bi-annual cleaning and checkup. Ultimately everything was fine, but during the exam the hygienist pulled out a new method of taking X-ray images of my teeth. It was digital (and it was the good kind of digital). I still needed the heavy lead sheet on my chest, the X-ray gun was still there, and I still needed to clench the image receiver between my teeth (but with a wire trailing out to a computer somewhere else in the building). However, there was no film to change after each exposure. So, the hygienist would take a picture, then just reposition the receiver in my mouth before taking the next one.

On my way out, I caught a glimpse of the images from my teeth on a laptop that the dentist had brought in with him. They looked like any other film-based X-ray I've had of my teeth. This got me to thinking: If there is now a digital image, why couldn't a program be written to analyze the image and make recommendations when warranted?

Two months ago I had an opthamologist appointment. During that examination, a digital picture of the inner parts of my eyes was taken and analyzed by the doctor. Here again, why couldn't a program analyze the image and point out potential problem areas that are seen? As a corollary, would people be willing to trust an algorithm with diagnosing or detecting cavities, degenerative eye diseases, or something more monumental like cancer?

I suspect that biggest criticism against using computers for diagnostics through digital images would be a question of trust. With all the known problems with software and bugs that can be found or that aren't found until they cause a catastrophic failure (see Fatal Defect by Ivars Peterson for some scary stories), would you ever trust a software diagnosis? Doctors can get things wrong, too. For something serious, would you trust two or three or four different doctors that could reach a consensus after separately examining the evidence? I would.

Imagine if there were two or three or four different diagnostic algorithms available to "look over" the digital images and put forth a diagnosis. Would that make such a diagnosis any more trustworthy? This would be something more than just redundant systems running the same code on separate processors and comparing the answers. Different algorithms, created by different programmers with appropriate medical consultation (also different from the medical consultants used by any of the other development teams), will take different approaches to diagnosis of the same data. If all four or three of four yield the same diagnosis, would you trust that outcome?

The above scenario of multiple diagnostic programs running at the same time in analysis of the same data set is an obvious parallel execution. (You knew I'd get around to it eventually, right?) With more cores, why not envision 8 or 16 different algorithms all processing at the same time to come up with a diagnosis from digital images. I doubt you could afford to consult with 16 different specialists, especially in a timely manner. Automating analysis, certainly for more benign conditions, could be a boon to health care.

I don't think I even need to mention emergency situations where time-critical and correct diagnoses are the difference between life and death (e.g., automobile accidents, natural disasters, battlefields). 

Not to worry, there won't be computer programs taking on cases like you see on House, M.D. any time soon (though that would make a neat sub-plot for next season, especially with what we've seen of IBM's Watson project). If and whenever such pilot programs come to be, they will be monitored heavily by human doctors to oversee the process and check the results. Even so, I'd be comfortable if my doctors consulted computer-generated recommendations about what my X-rays or MRI scans might reveal about my health. On Parallel Programming Talk #102, we heard about parallel computations constrtucting a digital model of a patient's colon that doctors could examine. Why not add an analysis step to look for common problems and give the doctors a list of potential spots to focus in on?

Of course, the next step would be an even more automated healthcare experience. Would you be willing to let a robot handle the examination? Thinking about the appartus with a camera that was pushed up near my eye during the exam, I'm not sure if I'm ready to allow a robot make the positioning decisions and movements of something that close to such a vital organ. Also, even though I'm sure my head could be immobilized sufficiently, I wouldn't want a robot drilling out and filling a cavity. (And don't get me started about letting a robot handle the not-good kind of digital examination.)

Leaving aside Dr. "Bones" McCoy from Star Trek, I think we should be heading in the direction of automating health diagnostics. We'll still need doctors and specialists around forever. Medical research on new diseases and new techniques for treatment, as well as consulting on diagnostic software, will be critical to the industry and for instilling trust in the software. Parallel computation should be able to take over some of the more mundane and routine parts of a doctor's job and be able to do it quickly, efficiently, and extensively enough to become a trusted part of health care.
For more complete information about compiler optimizations, see our Optimization Notice.
Categories: