Having been away for much of the last few weeks, it is good to be home again contemplating summer projects. As always, there are lots of things to choose from.
Like most people, I was shocked by the announcement of Swift , Apple’s new programming language, at the June 2nd developers conference. While working on my web application over the past year, I had, at one point, considered the possibility of creating a mobile app. That thought was quickly squelched when I took a closer look at Objective-C. Objective-C is C plus a few additions. However, I found it to be counterintuitive and full of surprises. I don’t’ have an issue with C-family languages. I am using PHP now, used C back in the 80s, and found C# to be wonderful, so my reaction to Objective –C was unexpected. My dreams of a mobile app, which were quite tentative to begin with, came to an abrupt halt. Swift has me daydreaming again.
Apple has released a free iBook on the language that provides a good introduction with basic programming examples. The language is clean and simple, and anyone with knowledge of any modern programming language will pick it up quickly. To me it seems like a cross between C# and Python. One feature I particularly like is the ability of functions to return multiple values. I went through the iBook in a few days, and signed up to become an Apple developer yesterday. Suddenly, I have the beginnings of a mobile strategy.
HealthKit was another surprise. The ability to securely store and share health data among apps is intriguing. As such, it provides the basics of a platform for building modular health care apps. I already have a few ideas for experimenting with clinical productivity software.
A thought about EHR design
Frequently, I hear clinicians complain about how difficult it is to get a sense of the patient from reading the notes in EHR systems. EHR systems collect a lot of data, but since the “chart” is a virtual construct created by accessing groups of database tables, the sense of continuity that one expects has to be created by the EHR designer. The number of complaints seems to suggest that this is easier said than done.
While reviewing articles for inclusion on the EHR Design resource page, I read Electronic Health Record Functionality Needed to Better Support Primary Care, by Krist et al., which contained what struck me as an excellent design suggestion for clinical care systems. The authors noted:
A more fundamental deficiency for supporting coordination is EHRs’ focus on information documentation rather than extraction. Clinicians need a dashboard that synthesizes and prioritizes information across clinicians and settings to clearly show what has happened to a patient or what is happening within a panel of patients. A patient dashboard might show the sequence of clinicians that have seen the patient, changes in medications and diagnoses, and results from tests and procedures. A panel dashboard might show urgent messages or a list of patients seen in an acute care facility or admitted to the hospital.
While the authors are arguing for dashboards, I think the larger issue of how to make temporal sequences explicit is more interesting. By explicit I mean making temporal information a type of internal information that other software components can access. Currently, temporal information in EHR systems is handled mostly by using timestamps on data elements. An internal temporal model would make such actions as clinical decision support easier to implement. Of course, adding a temporal model is more difficult than relying on timestamps, but interesting problems is what makes software design fun.
While in college, I was intrigued by philosophy, metaphysics, in particular. My ardor cooled once I realized so much of what was being offered as deep thought seemed to be nonsense and double talk. My love turned into mild contempt, until I came across Bertrand Russell.
Now, many years later, I still find Russell to be helpful in cutting through nonsense. While at the beach two weeks ago, I had occasion to read, On Denoting—Russell’s answer to philosophical ramblings passed off as deep thought. No, I am not about to wax eloquent about logical positivism, Wittgenstein, and such. Russell drew a very clear and helpful line between statements that map onto things that exist in the real-world and those that do not. For example, the sentence, “The present king of France is bald,” has a clear meaning, but it does not denote anything because there is no such being as the “present king of France. “
Unfortunately, in any natural language, it is possible to make statements that have meaning but no denotation. In a problem list where the term “heart failure” appears, but the patient simply has swollen ankles and no alteration in myocardial function (saw this type of bogus diagnosis many times), we see a meaningful term without denotation. How does one assess data quality when the data are complete and yet denote nothing? There is a lesson here for validating EHR data, which I will discuss in a future post.
Your friendly neighborhood workflow maven
Anyone who reads this blog will quickly notice that I am a big fan of workflow technology and process-aware systems. However, when it comes to workflow in health care, I cannot think of anyone who has done more to get the word out than Chuck Webster. Last week, he wrote a series of blog posts that act as the perfect introduction to the benefits of workflow technology in health care. Here is an excerpt from the first post.
Why is workflow tech important to health IT? Because it can do what is missing, but sorely needed, in traditional health IT, including electronic health records (EHRs). Most EHRs and health IT systems essentially hard-code workflow. By “hard code” I mean that any series of tasks is implicitly represented by Java and C# and MUMPS if-then and case statements. Changes to workflow require changes to underlying code. This requires programmers who understand Java and C# and MUMPS. Changes cause errors. I’m reminded of the old joke, how many programmers does it take to change a light bulb? Just one, but in the morning the stove and the toilet are broken. Traditional health IT relies on frozen representations of workflow that are opaque, fragile, and difficult to manage across information system and organizational boundaries.
If you have time, the series is definitely worth reading. Here is the link to the first post, Five Guest Blog Posts On EHR & HIT Workflow, Usability, Safety, Interoperability and Population Health.
Everyone, it seems, is offering advice on my web application/startup, which is a good thing. The project is still on schedule, and the first beta-testing will probably occur in October.
See you next week…