2013-12-04

Why Doctors Make Great Object-Oriented Software Designers

Building health care apps means knowing complex systems both biological and bureaucratic. Here’s how a company called Modernizing Medicine is meeting the challenge.



One day an entrepreneur named Daniel Cane found himself in the office of Dr. Michael Sherling, marveling at the lack of technology. Dr. Sherling, a dermatologist, told Cane he saw up to 50 patients a day, only to spend hours afterwards dealing with paperwork. Some patients have medical charts as long and complex as novels, but mysteriously there were no intuitive, modern software tools designed to help.

The pair decided to start a company to tackle the problem and immediately hit an impasse: What doctors actually do all day can be exceedingly complex, making the process of spec’ing an app nearly impossible.

Cane, who was previously a founder at Blackboard, figured he’d study the challenges of the medical milieu with Sherling in order to build the application. “The way you solve that traditionally in software is that you embed yourself in the domain, but to become an expert in medicine takes years,” Cane says. “It was never going to be as efficient as for me to turn [Dr. Sherling] into an engineer.”

Why Doctors Make Great Software Designers

Cane noticed that medicine lent itself easily to an object-oriented design. Diseases are “objects” with various attributes like findings and morphologies, and they have relationships with other diseases, like objects in a data model. The appearance of a disease in a particular patient, with his or her unique pathologies, was akin to an “instance” of that object.

Cane first taught Sherling basic design patterns and JavaScript and later moved on to XML. “We have this saying in medicine: See one, do one, teach one,” says Sherling. “Whatever procedure or surgery you are about to do in medical school, you see one first, then you do one yourself, and then you teach it to somebody else. I saw how Dan coded and he would start me off. Now we have three dermatologists and I teach them how to do it.”

Their company, called Modernizing Medicine, now has 17 on-staff physicians with specialities like ophthalmology, orthopedics, and plastic surgery. “In a lot of software design, you are at least one or two times removed from the customer,” says Sherling. “Our customers are our developers. You need to be able to practice medicine in order to design the product. You will have ideas from talking to patients in clinic which you will express in code the next day.”

One of those developers is Dr. Elana Oberstein. She’s a rheumatologist who specializes in the autoimmune disease lupus. Oberstein has been practicing medicine for 15 years, but only coding for 10 weeks. Two days a week, she works at Modernizing Medicine, helping to build an iPad application called the Electronic Medical Assistant (EMA), which helps doctors to document examinations, order labs, and prescribe more quickly. There’s a different version of the product for each medical speciality. Oberstein is working on a new version for rheumatology. She extends a complex XML schema and uses JavaScript to render parts of it in a humanly readable form. The rest of the week, Oberstein treats patients in her private practice.

“The extent of my tech world was using an iPhone and an iPad,” says Oberstein. “I was extremely apprehensive. I thought it would maybe be more efficient for me to sit next to a coder and just tell them ‘Well, a lupus patient presents with a rash and joint pain...’ but then I said, you know what? I can do a lot of extensive procedures on a human body. This can't be that difficult. I'm shocked really by how quickly I have been able to pick things up.”

The company’s physicians work in scrum teams on XML schemas related to their speciality and also on rendering parts of that schema for different parts of a doctor’s workflow, for example as a medical note or a bill, using the JavaScript implementation Rhino.

Last week, Oberstein worked on the schema for counseling, encoding the information which will be used to generate an educational printout for lupus patients on their disease, medication, therapeutic interventions, and lab data. The physicians learn what a branch is, how to merge code using Subversion, how to use Eclipse, and how to write and execute unit and integration tests. A team of traditional developers works on platforms, tools, and services that are used by the medical team.

How Apps Can Address Major Medical Inefficiencies

The first goal of Modernizing Medicine was simply to improve efficiency, but building an application which even matched the efficiency of paper was a challenge. In fact, the problem of switching to electronic health records (EHR) was the reason that Oberstein is now working at Modernizing Medicine.

“My office, which is five physicians, tried to go electronic with one of the EHR systems out there,” she says.“I usually see 40 or 50 patients a day. With the system that we instituted, I went down to seeing 17 patients a day. It was so cumbersome. My patient care started to suffer. We aborted the mission. We went back to our patient charts. I had heard about Modernizing Medicine from another physician and I thought this has to be done for rheumatology.”

Sherling estimates that two-thirds of doctors using Modernizing Medicine’s EMA are at least as fast as paper, but while efficiency was essential, the company’s true objective is to improve medical outcomes by using the data that its users generate.

“We have a lot of patients with chronic diseases who have charts as long as novels, really 300 pages long, and there's really no fast way to consume the chart,” says Sherling. “Doctors will look at the last note to try and get a sense before the patient walks into the room and the patient will ask them about something that happened four or five visits ago and we won't remember. So we created something called EMA Outcomes, which allows us to longitudinally view the peaks and valleys of treatment on one chart, almost like a stock. I can zoom in and see for the times when the patient's disease got worse, what were the treatments given that didn't work, or when they got better, what worked.”

By pooling the treatment and outcome data of doctors all across the country, Modernizing Medicine will eventually be able to determine which treatments yield the best results in the real world. Pharmaceutical companies run randomized controlled trials, the gold standard in medicine, to determine the efficacy of new drugs, but they are expensive and only test on a small number of patients.

“What our doctors will be able to do is create a platform where every private practice in the United States is a lab,“ says Sherling. ”We can figure out what works and what doesn't work by combining our experiences in an unbiased and objective way. We have more patients than academic medical centers do.” Eighteen percent of all dermatologists in the U.S. now use EMA and those dermatologists treat 150,000 patients with psoriasis alone.

None of this would be possible without the company’s physician-coders. Cane is now convinced that every software company should train domain experts as programmers.

“There is a misperception that a gifted engineer can build anything, but there's always something missing,” says his cofounder Sherling. “That's even true for me as a dermatologist. I need a rheumatologist to build rheumatology."

[Image: Flickr user Sean]