Computer-Based Systems as Freezers

H. Dominic Covvey, National Institutes of Health Informatics


Have you ever sat back, thought about it, and realized how mistaken it might be to judge systems primarily based on functionality? Yeah, I know that any system, like an EMR, needs certain basic functionality so that it’s usable ‘out-of-the-box’, but is there a functionality ‘sweet spot’ and are there other, more important characteristics for approving systems – for example, by a provincial eHealth organization – or on which to base system selection by a practice?

Let’s think about that from a scientific perspective.

First of all, human health and disease are incredibly complex matters. We are made up of many components and the genetics that determine them, and don’t forget our minds, our social environments and so on. But, ‘life’ means that these components combine into a whole that’s greater than the parts and from which emerge, consciousness, sensitivities, concerns, perceptions of pain, fear, etc. When something goes wrong with the human, what goes awry can be and often is complex and highly variable and often progressive or cascading downward. In a sense, human health is metastable (like a pencil balanced on its eraser…relatively easy to topple). The health system we have created must parallel, be congruent with, model and respond to the human’s complexity in health and disease. So, the health system is also complex…even more so because it needs to respond to many different individuals and the external environment.

Now think about a liquid, like water. Liquid water can take on many forms, fit many containers, and flow – it has many arrangements (fancy phrase: its entropy is high). But, ice is frozen water, and, if the temperature is kept cold, it won’t change…it just sits there and we have to add a fair amount of energy (heat) to get it into a state where it can change: flow, etc.

Next, think about the health system. It has to be ‘fluid’ to respond to many individual, highly variable challenges, like my care when I have some weird malady with co-morbidities and I end up in the ER unconscious. The health system must also be able to incorporate new tools like fMRI or gene replacement therapy, face new situations like reduced provincial funding, handle new diseases like H1N1 or SARS. Because of the nature of human health and disease, the health system must be and remain fluid – able to take on many possible (some unpredictable) ‘arrangements’ if it is to be responsive and effective. So the health system, like the human, must, to a degree, be metastable, able to vary, be adaptive, change, evolve, organically without the need to put in a lot of energy. It’s almost as if it is alive.

“We may be delivering high-tech, solid state freezers that remove essential, enabling flexibility!”

Some parts of the health system (especially at the micro level) can be relatively rigid, of course, like a procedure for capturing an image, the process of admitting a patient, or the series of investigations to determine a specific diagnosis. But, overall it must be fluid.

Is there a danger that we could ‘freeze’ the health system, inhibiting its ability to be dynamically responsive? Yes!


Unfortunately, today’s computer-based systems can ‘freeze’ healthcare processes and make them even more difficult to change than the manual systems that preceded them! Systems freeze processes because writing and changing the programs used to manage processes requires a lot of effort and cost. In fact, more functionality can mean even more system stuff that requires a lot of energy or effort to change to track needs.

Does it have to be this way? Well, not really, but creating computer-based systems that are evolvable and methodologies that are sufficiently ‘agile’ is still not easy and we’re not yet there when it comes to at least most products.

We do have some things that help: flexible screen formatters, ad hoc query systems and report generators, some of the aspects of database systems, and so on. But, even long-ago-defined Software Engineering [1] capabilities that enable evolvable systems, like Active Data Dictionaries (that enable restructuring of databases without requiring reprogramming retrieval code), Declarative Workflow Engines (that enable changes to processes without impacting system code) [2], and new flexible software architectures (like Service Oriented Architecture – SOA [3]) are not used in most of our systems. These need to be paired with people who are steeped in these technologies and expert in their application. Ditto, methodologies. For example, when it comes to development, we must avail ourselves of methodologies like Agile Development [4], Agile Project Management, Agile Budgeting and Complexity Management – more about those later.

So, even with, and sometimes because of, rich functionality, we may be delivering high-tech, solid state freezers that remove essential, enabling flexibility!

What can we do? I’d suggest the following: reduce the laser-focus on functionality and dramatically raise the emphasis on requirements for systems that are sufficiently adaptive and evolvable to serve as organic enablers of a responsive health system that satisfies human needs. What can I do? Maybe present some of the innovative concepts and explain them. What can you do? Enter this conversation and provide your feedback in the comments below.


  1. H. D. Covvey, D.D. Cowan, Lessons of Software Engineering for eHealth System Developers – Ten Not-so-Easy Pieces, Healthcare Information and Communications Canada, pp. 50-53, May 2012.
  2. H. D. Covvey, D.D. Cowan, et al., A Framework for Adaptive Workflow (Model Human Behavior – Don’t Constrain It!), CS Technical Report CS-2012-06, University of Waterloo, 2012.
  3. Agile Software Development:
  4. E. Bertino, L. Martino, F. Paci, and A. Squicciarini. Security for Web Services and Service-Oriented Architectures. Springer, 2010.


Dominic Covvey (FACMI, FHIMSS, FCIPS, SMIEEE, ITCP) is an Adjunct Professor at the University of Waterloo and the University of Ontario Institute of Technology. He is also the President and Director of the National Institutes of Health Informatics. He was the Founding Director of the Waterloo Institute for Health Informatics Research at the University of Waterloo (2003-2010). His research is in the representation and analysis of healthcare workflow, the definition of competencies and curricula in Health Informatics and the design of the Electronic Health Record.

Tagged with: , , ,
Posted in Dominic Covvey
%d bloggers like this: