Health/medical informatics is a 55 year old industry; in fact, some of the first applications written for computers in the 1950’s and 60’s were for managing healthcare data. Throughout that history, thousands of applications have been written, rewritten, and thrown away. What always remains, though, is data. Databases of healthcare information created decades ago are still available and some are still in use.
The traditional approach to healthcare software development, which continues to this day, has been application focused: a need was identified and a program was written to address that need. This stove-pipe (disintegrated) process continued for the wide variety of needs within the healthcare space to such an extent that today, on average, U.S. hospitals have more than forty distinct information systems, handling information for different departments and divisions, and fewer than 25 percent of these systems regularly share information with other systems. And, any information that is not shared needs to be recreated or duplicated in other systems, all of which require roughly the same patient, organization, prescription, charts, and other data.
With each application acting as a silo and without the information tools supporting integration of data, users are left to fend for themselves, resulting in lost information, difficulty finding what is needed, creation of “dirty� data, error-prone duplication of entry, and, perhaps worst of all, a system where the lack of information sharing for drugs or clinical information jeopardizes human lives.
Consider a typical healthcare organization with typical information management requirements: people (care providers, patients), organizations (clinics, hospitals, departments), relationships between people and organizations, characteristics and attributes of people and organizations, etc. If we cataloged the information management requirements, even for fairly diverse constituents in the healthcare industry, the majority of the requirements would be similar if not identical. What this means is that each application that manages patient data would duplicate that data and not work with a master database of patients. An application that managed drug inventory would duplicate patient data again just to track prescriptions. An application that managed schedules would duplicate patient data just to manage appointments.
The problems with the application-focused approach become clear in a practical operating environment. The typical healthcare user must interact with a number of different applications. For example, a private practice physician must interact with applications for scheduling to check on patient load, managing an electronic medical record, writing orders, dictating a transcription, reviewing claims submissions, patient emails, and continuing medical education. A nurse will have to maintain the schedule, handling the ICD/CPT coding, billing, intake and out-processing of patients, phone calls, medical record management, follow-ups, and her own continuing education. It is obvious that their jobs and responsibilities require that they access information that crosses the boundaries of each of these applications. And each time they have to move from one application to another (or from a paper-based way of doing things to the computer), they waste time in reentering information or retrieving duplicate information.
To integrate data and keep from duplicating functionality and information capture what is needed is a way to model and create common services instead of applications. Services in this context are referring to pieces of computer code that are small, reusable, and focused granules of functionality instead of large monolithic applications. For example, any application that needs to register a patient or edit patient demographics would use a common patient registration service; an application that needed to discover what prescriptions a patient have would use a common patient medications service; and, an application that needs access to a care provider’s credentials would use a centralized credentialing service. These are all examples of healthcare services that been written as computer code once and then reused across dozens of applications.
Modern patient-centric service-oriented applications will need to orchestrate and deliver end-to-end business processes across multiple users and channels by leveraging existing legacy systems. Such applications enable healthcare companies to convert existing IT assets into business Services and orchestrate these Services into business processes.