I was recently browsing in the computer (nerd) section of the bookstore and ran across an old Joel Spolsky edited book: The Best Software Writing I. Even though it’s been about four years, good writing is good writing, and there is still a lot of insightful material there.
One of the pieces that struck a cord for me was Adam Bosworth’s ISCOC04 Talk (fortunately posted on his Weblog). He was promoting the use of simple user and programmer models (KISS — simple and sloppy for him) over complex ones for Internet development. I think his jeremiad is just as relevant to the current state of EMR and interoperability. Please read the whole thing, but for me the statement that get’s to the point is this:
That software which is flexible, simple, sloppy, tolerant, and altogether forgiving of human foibles and weaknesses turns out to be actually the most steel cored, able to survive and grow while that software which is demanding, abstract, rich but systematized, turns out to collapse in on itself in a slow and grim implosion.
Why is it that when I read “demanding, abstract, rich but systematized” the first thing that comes to mind is HL7? I’m not suggesting that some sort of open ad hoc system is the solution to The EMR-Medical Devices Mess. But it’s painfully obvious that what has been built so far closely resemble “great creaking rotten oak trees”.
The challenge for the future of Healthcare interoperability is really no different than that of the Internet as a whole (emphasis mine):
It is in the content and the software’s ability to find and filter content and in the software’s ability to enable people to collaborate and communicate about content (and each other).
I would contend that the same is true for medical device interoperability. Rigid (and often times proprietary) systems are what keep devices from being able to communicate with one another. IHE has created a process to try to bridge this gap, but the complexity of becoming a member, creating an IHE profile, and having it certified is a also a significant barrier.
Understanding how and why some software systems have grown and succeeded while others have failed may give us some insights. Flexible, Simple, Sloppy, Tolerant may be a dream, but it also might not be a bad place to start looking for future innovations.
… we have heard people say that it is too hard to build consistent standards and to define interoperable ways to move the information. It is not! … When we all make this vision real for health care, suddenly everyone will figure out how to deliver the information about medicines and prescriptions, about labs, about EKGs and CAT scans, and about diagnoses in ways that are standard enough to work.
Also see the Bosworth AMIA May07 Speech (pdf) for how this vision evolved, at least for Google’s PHR.
UPDATE (2/9/09): Here’s a related article: The Truth About Health IT Standards – There’s No Good Reason to Delay Data Liquidity and Information Sharing that furthers this vision:
We don’t have to wait for new standards to make data accessible—we can do a ton now without standards. What we need more than anything else is for people to demand that their personal health data are separated from the software applications that are used to collect and store the data.
UPDATE (4/17/09): John Zaleski’s Medical Device Open Source Frameworks post is also related.
Use of an open-source framework approach is probably as good as any. As a management model, I don’t see it as being that much different from the way traditional standards have been developed. Open-source just provides a more ad-hoc method for building consensus. Less bureaucracy is a good thing though. It may also allow for the introduction and sharing of more innovative solutions. In any case, I like visions.
USB plug-n-play (plug-n-pray to some) may be a reasonable connectivity goal, but it does not deal at all with system interoperability. Sure, you can connect a device to one or more monolithic (and stable) operating systems, but what about the plethora of applications software and other devices? This just emphasizes the need to get out of the “data port” (and even “device driver”) mind-set when envisioning communication requirements and solutions.