Service Oriented Architecture (SOA) is the latest concept buzzing in software and IT circles. SOA is the next evolutionary step in systems development. Properly implemented, it builds upon existing architecture while it better addresses efficient reuse of business functionality inside and outside the organization. At its core, SOA is about providing true interoperability that reflects real-world use cases.
Most organizations do not realize the dream of enterprise-wide systems, but instead rely upon a portfolio of independent systems. Often these systems have duplicate data and functionality. The goal of SOA is to select and encapsulate certain pieces of functionality as services that can be made available across the organization. With this being the goal, the organization can shift their focus from individual, often file-based interfaces, to creating service-oriented applications. These new applications not only create a truly interoperable environment, but they also more accurately reflect the actual business functions in a healthcare environment.
Most industries, including healthcare, are faced with the dilemma of providing operational systems, supporting the revenue management and any administrative features. For healthcare, the operational could be capturing the insurance payment for a claim as defined by the remittance advice. The revenue piece could be the posting of that payment to the proper account and recognizing the affect on the aging balance. The administration piece could be the security that makes sure the person entering the transaction has the proper authority to do so. It is not unusual, nor is it bad, for this to be done in three different systems. SOA allows the different systems to know what has happened and to interact when changes are made.
SOA is different from legacy systems integration in that it requires system design and management principles that support reuse and sharing of system resources across the organization. It does this without requiring re-engineering the existing systems. With SOA, existing processes are combined with new capabilities to build a library of services. These services then become the solution. The goal is to create shared services that reflect actual business processes. SOA strengthens interoperability while reducing the need to synchronize data between isolated systems. Properly implemented, the organization has readily available services regardless of the originating system, department, location or desktop.
Let's examine a relatively simple transaction and how the SOA approach applies. A clinic has a new patient coming in for a visit. A list of items to be done includes:
* Examining if the patient exist
* Verifying patient eligibility
* Adding the patient to the Master Patient Index
* Examining the Doctors schedule
* Creating the appointment
* Accessing public records
* Creating an EHR visit
We have potentially accessed three to seven different systems depending on the functionality of the base applications. Many healthcare environments either do not perform all the functionality or do it with a series of point-to-point file-based interfaces. Still others do it by entering the data into multiple systems. Manually entering data into multiple systems is essentially human-interoperability because it is up to a person to coordinate and control the interfaces.
As the number of systems increases, standard interface formats, such as Health Level 7 (HL7), and central data interface engines are adopted by larger healthcare organizations. Internet-based communication allows organizations to exchange data with external organizations, such as payors.
Although data is passed among systems, the file exchange approach falls short of supporting true data interoperability. File exchanges can work, but they have multiple inherent problems:
* Multiple points of failure - creating the file, configuring where the file should go, security to write the file, confirmed delivery of the file, file reader services, configuration of picking up the file and reading the file are just a sample of the issues that have to be solved. Not that these are not solvable problems, they all are. With each point of functionality comes an increased probability that something can break.
* Increased cost - Using all of the multiple points of failure mentioned above, each step requires additional development, testing and maintenance. All of these combined equals increased cost and elongated time lines.
* Finger pointing - Any time a file is create and security is needed to create the file, we have a blending of development teams with infrastructure teams. Management never wins when both of these technical groups are pointing fingers saying it is the others fault.
With SOA, IT processing is organized and represented as a collection of services. Each service is made available to the entire organization through a standard protocol. All departments that maintain or use the same data use the same service. This makes any redundancies transparent to users. Applications supporting a specific workflow will reference the same service. Each service communicates with the systems to which it is related. Users no longer need to switch between systems to complete a workflow. Data is naturally synchronized between systems. Services aligned in this manner enable true interoperability among the healthcare organization's processes and people.
As SOA is further adopted by the healthcare industry, collections of services, as well as specific services, will be available for use by a healthcare organization's internal and external resources. This is possible because the origin of the service is transparent. Imagine adding a patient in one application and having that patient synchronized in all other systems without specific point-to-point interfaces and files being generated.
Integrating data and interoperability are key requirements in evolving healthcare technology, and healthcare is behind the curve in adoption and investing in these technologies. Healthcare adopting these technologies and getting the right information in the right place at the right time can result in the following benefits:
* Greater claim accuracy
* Reduced medical errors
* More accurate diagnosis
* Increased access for patients
* Reduced payment cycles
SOA takes on greater significance with the emergence of Healthcare Information Networks (HINs). A HIN is collaboration among the government, hospitals, specialty labs and pharmacies and payors to provide a network of data exchange that builds shared information, data repositories, applications and interfaces. The collective applications efficiently and accurately exchange key information across a spectrum of healthcare. Existing HINs are currently accomplishing the following:
* Exchange of patients' electronic medical record between providers to get key information like medical history, allergies, persistent problems, medications and active treatments
* Referral exchanges
* Electronic patient eligibility for a visit or procedure
* Electronic claim filing and payment
* Electronic ordering and monitoring of prescriptions
* A consolidated repository of key healthcare information for disease control
* A consolidated repository of data to support government-funded programs and benefits of those programs
* A portal for the patient, providers and payors accessing patient data
There is little debate regarding the benefits of implementing HINs. There is debate about the cost and the ROI of HIN investment. Part of the ROI equation is the cost of supporting the legacy applications and their participation in the network. If every time a new hospital, clinic, pharmacy, or government program was introduced a new point-to-point interface had to be introduced, it would not be feasible to build a HIN that has sustainable momentum. The cost of having to build a sequence of point-to-point interfaces for every system involved in the network would be unsustainable to all the practices and the software providers who support them.
When using SOA for HIN integration, the cost of integration can be reduced significantly and a sustainable community value is created. To accomplish this goal, SOA services facing the HIN must accomplish the following:
* Simplify and reduce the interface points to create data interoperability in the network
* Address the architecture, infrastructure, software, and related business functions as a cohesive unit
* Have services deployed internally and externally to support the needs of the organization and the HIN
* Support legacy systems
* Support current and evolving data standards
* Be tested for scalability so larger external organization can use it
SOA is the direction IT is moving. SOA gets our focus off of a single application and what it needs to do and onto how this application fits into a bigger world. Whether that world is the organization or beyond, SOA enables the applications key components to become exposed to all who need them. Healthcare, which as an industry has can achieve great benefits from this kind of interoperability, is behind others in achieving it. Healthcare IT managers, and the software companies that support them, need to evaluate how they are incorporating SOA in their design plans.