Why Doctors Hate Their Computers and What Should Programmers Do to Return Love Instead of Hate

In the recent issue of the New Yorker magazine, Dr. Atul Gawande describes how he, being on the staff of the hospital system, “Partners HealthCare,” reacted to the hospital software upgrade.

Sixteen hours of mandatory training to go from a homegrown system to a modern which Atul did not like at all. (I invite the reader to consult the article but I will summarize the complaints here for you.) Then I will propose the solution explaining which best practices can be used to improve the software for mutual satisfaction of doctors, patients, nurses, and the software designers.

Atul weaves a story of suffering but I will put it into a table. It is coming a little below.
But before we continue, I will quote the main argument of Atul: “If our phones can be smart, why can’t the hospital software.” His answer is: our phones are for consumers but the hospital systems are for nurses, doctors, and patients. There are many more stakeholders. So what? – So that the many stakeholders who need the hospital software cannot agree on what is important. What is good for the nurses may be bad for the doctors.


Can you see the logical flaw in this argument?

Here is a hint: our phones have many more stakeholders, by the orders of magnitude. And they make everybody quite happy. But the real answer is that our phones are created by the leaders in software development and artificial intelligence, Apple and Google. And our enterprise software does not reach that level, to put it mildly. So, here is the table of what software developers should be thinking about.

What’s bad How to make it good
Much dreaded training Training should not be required. People use their phones, people use Skype, and all that is without training. (OK, I am exaggerating but training requirements should be minimal. Get a person from the street. If he cannot make sense of the software, go back to the drawing board)
The software is not intuitive Don’t go through the standard menus, sometimes many menus. Go directly to the answer. Kind of, “OK, software, add a patient record!” should take you there.
“Field required” alerts The software should be more flexible. At the very least, put decision engines behind. Better yet, it should learn from daily operations and become smarter. This is AI for you, in action.
Doctors look at the screens not at the patients To some degree, we are all guilty looking at our phones. But the phones compensate by having flexible smart screens that think for the doctors and give them intelligent alerts. AI again.
Software does not have reasonable defaults. To quote from Atul, “I am entering a Pap smear. It asks, who did it? Why doesn’t it know by default that I did it?” The idea of smart defaults is used in today’s modern computing tools, such as Spark and TensorFlow. Developers should learn from them.
The software does not allow enthusiasts to improve it. It is the age of APIs. The software should allow adding to it by publishing API, that is, Application Programmer Interfaces, for power users to build upon. These can be later integrated into the software.
Too many structured menus to go through. Convert these to search. Search is the new killer app!
Doctors hire assistants to walk with them and fill out forms. Add a voice interface for doctors to use. Many people today are happily (or unhappily, but) talking to their phones. Do the same!
A change in one part of the system breaks many other parts of the system. This is a well-known problem in software engineering. It is called ‘monolithic’ programming. To improve, break your system into ‘microservices’ – independent subsystems. These microservices are developed and tested by different teams who publish what other teams can expect of their system. But errors don’t cascade anymore.

Now, where do I get my information and my ideas? I teach these ideas daily, that’s my job. And I am happy to see how my students begin to apply the AI and best software practices. We have recently worked with one of the top healthcare services providers, creating a course on scalable and stable software development practices.

Google is giving away a lot of knowledge and software in artificial intelligence, they are ‘democratizing artificial intelligence’ as they put it. I will describe it in another article and then update this one with the link. Meanwhile, your comments are welcome.

Explanation of the cartoon: Hadoop was the first popular big-data tool, and its logo was an elephant. This is our cartoonist’s take on big data in health care.

Leave a Reply

Your email address will not be published. Required fields are marked *