Skip to main content

Develop SOA solutions for healthcare organizations using business-driven development

Jean Wang (hjwang@us.ibm.com), Business Architect, IBM, Software Group
Jean Wang is a business architect and solutions scientist in IBM for IBM Healthcare and Life Sciences Strategic Initiatives. Jean has worked in life sciences and information technology industries and in academia in functional areas of scientific research and development, software development, education, and consulting. She is currently focusing on bridging the gap between business and IT and enabling business process transformations in Healthcare and Life Sciences industry to Service Oriented enterprise. She holds a Ph.D. degree in Chemistry.

Summary:  A SOA solution using a business-driven development approach will help you integrate healthcare business processes to achieve your business goals, while saving time and costs. This article illustrates the step-by-step process, tools and technical artifacts that are involved in implementing an SOA using business-driven development in a typical healthcare industry IT scenario.

Date:  15 Sep 2006
Level:  Introductory
Activity:  2680 views

Introduction

The healthcare industry represents perhaps the most challenging industry for IT solution implementation. This is due to the nature of the healthcare industry's complicated business processes, sophisticated medical data, heterogeneous components, and fragmented software systems. The business of delivering quality medical services requires that solutions be well aligned with the organization's business goals, and that their IT systems are highly integrated and flexible to dynamic business changes. A Service Oriented Architecture (SOA) will generally be a perfect way to meet these challenges. The question remains, however, how does an organization realize the full adoption and deployment.

This article demonstrates how to use a business-driven development approach to develop high-quality SOA solutions for integrating healthcare business processes to achieve business goals with reduction on time and cost. It will help business analysts, healthcare domain and subject matter experts, line-of-business and project managers, and healthcare IT professionals to realize their roles in an integrated and collaborated environment in developing and implementing SOA solutions.


Healthcare industry challenges

Improving operational efficiency and reducing cost, while also improving the quality of care is a global healthcare challenge. The healthcare market has become more complicated, and business needs and processes have changed significantly since the inception of generally accepted practices used today. Most healthcare organizations have disparate IT systems and components that do not talk to each other. For example, patient data in the inpatient system cannot be accessed by the doctors in the ambulatory care system, the nurse station cannot efficiently obtain comprehensive patient data from an outpatient clinic, almost all departments work as silos that do not intend to work with other departments. This leads to problems with disparate patient payment systems, and health insurance claims stored in several legacy claim systems that cannot be accessed and shared easily. This type of environment severely hinders the productivity and efficiency of the healthcare organizations to delivery quality services to patients. To overcome these challenges, developing and implementing solutions based on a Service Oriented Architecture (SOA) is required. The healthcare industry has been very slow to adopt information technologies that can revolutionize quality, productivity and performance in many other industries. The cause of this phenomenon is the huge gap between the domains of business and IT. The business processes of healthcare are among the most complicated ones, and it is not a simple task to build a clear two-way communication between healthcare professionals and IT gurus.


Business-driven development: What is it and why is it needed?

Business-driven development (BDD) is an end-to-end software development approach that is driven by business needs. BDD enables rapid development and deployment of flexible solutions that meet the business requirements with reduced cost. It is a vehicle that brings SOA to reality.

It might help to look at some of the IBM development tools that are used in this process, and the roles they serve:

  • Requirements management (IBM Rational® RequisitePro)
  • Business process modeling (IBM WebSphere® Business Modeler)
  • Architecture design and development (Rational Software Architect, Rational Application Developer)
  • Process integration (WebSphere Integration Developer and runtime environment)
  • Testing (Rational testing tools)
  • Monitoring (WebSphere Business Monitor)

Figure 1 shows a typical BDD lifecycle, and includes the major IBM tools and how they are aligned with IBM's vision of the SOA Foundation:


Figure 1. BDD with IBM software supports SOA
BDD with IBM software supports SOA


Business-driven development is a role-based business process for developing SOA solutions. It collects requirements and captures business processes by the business analyst. The resulting process models and the artifacts can then be taken to the downstream IT development and implementation by the architect for system design, to the Java developer for development, to the integration developer for process choreography and deployment, and to the Quality Assurance Engineer for testing. The integrated IBM software platform enables each role in a collaborated environment as captured in Figure 2.


Figure 2. A process of business-driven development with major roles enabled with IBM software
A process of business-driven development with major roles enabled with IBM software


It should be noted that this article only demonstrates the major software tools from IBM that can be used in the SOA lifecycle.

Let's take a look at a business case to see how business-driven development plays a role in solving some of the issues we mentioned earlier.


The business scenario - ambulatory care process

A hospital in New York wanted to transform their ambulatory care process from a paper-based medical record system to an electronic medical record (EMR) system. This would help them to improve patient care, provide operational efficiencies and ultimately, increase profitability. However, several barriers made it difficult for the steering committee to decide to implement EMR. By developing the business case using business process management in BDD as an entry point, the EMR proposal was accepted unanimously by the steering committee.

The following sections will demonstrate how to use the BDD approach to develop an SOA solution using a process Visit Preparation in ambulatory care.

The process of Visit Preparation in a hospital ambulatory care unit prior the patient sees the doctor starts from receiving patient at the front desk, registering him, verifying insurance or payment information, retrieving the patient's medical record, and ends at assigning a practitioner to the patient.


Managing requirements and optimizing the business process

Managing requirements

A hospital I talked to two years ago indicated that as the result of its major initiative of Health Information Systems (HIS), it already had a complete HIS in place that provided an integrated information system accessible by doctors, nurses, pharmacists, and administrators. One year later, when talking to an IT manager of this hospital, to my surprise, I was told that they were going to re-do the entire system because the system they put in place earlier did not support their business needs. Unfortunately, according a report by the Standish Group, if you have four IT projects going on, three of them will ultimately end up to a similar fate. Only 28 percent of software projects succeed where American companies spend annually upwards of $275 billion on about 200 thousand application software projects. Please see the Resources section for more information.

To ensure the information system to be developed meets the business requirements of the organization, BDD starts by capturing requirements and analyzing business process before investing in code development. In the ambulatory care case study, we conducted interviews with all the stakeholders and documented the expectations and challenges, identified issues and opportunities. IBM Rational® RequisitePro was used to capture and organize this information around business objectives, business issues and opportunities (non-functional requirements), business use cases, and system use cases. Using RequisitePro the requirements were colleted in a structured manner, analyzed, and prioritized. Each requirement was mapped to the business objectives of the organization, as shown in Figure 3 and Figure 4. At the same time they were also mapped to technical features and in turn transparently linked to products and solutions, as seen in Figure 5. For example, the requirement of automating doctors' and nurses' tasks to reduce manual data handover was mapped to support the business goal of improving operational efficiency, which is assigned a high priority, and at the same time mapped to require the technical features of collaboration, then transparently linked to an IBM solution of Workplace Collaboration Services. RequisitePro provided decision makers a logic and inter-related view, and most importantly, traceability of the requirements, seen in Figure 6.


Figure 3. Business requirements captured in Rational RequisitePro with priorities, status, and other important attributes
Business requirements captured in Rational RequisitePro with priorities, status, and other important attributes



Figure 4. Requirements are mapped to technical features
Requirements are mapped to technical features



Figure 5. Customer requirements are linked to assets
Customer requirements are linked to assets



Figure 6. Trace from business objectives to non-functional requirements, IT capabilities and assets in RequisitePro
Trace from business objectives to non-functional requirements, IT capabilities and assets in RequisitePro


The advantage of using RequisitePro to conduct formal requirements management at the early phase of a project is to enable the line-of-business, managers, domain experts and IT people to consolidate and clearly communicate their business views. Furthermore it guides the next step system design and development in the collaborated environment to reduce the project risk. A study by Mansurov and Probert indicated that if the time spent in requirement management phase is increased from three percent to 20 percent, the overall time-to-market of a software product will be reduced by 30 to 50 percent, as shown in Figure 7.


Figure 7. Better requirement management reduces the time-to-market of a product
Better requirement management reduces the time-to-market of a product


Model business processes for process redesign

Analyzing business processes is the key to designing a SOA solution that truly meets business goals. WebSphere Business Modeler helps capture and analyze business processes.

First of all, the existing paper-based ambulatory care process ("as-is" process) was captured and simulated in WebSphere Business Modeler shown in Figure 8. Then the simulation result was analyzed to identify bottlenecks, services, and define performance measures. The process analysis revealed, for example, that retrieving paper medical records in the medical records department was the most time consuming and least cost-effective process. By moving to EMR, this step can be eliminated. In addition, verifying insurance was identified as a service that can be provided by insurance companies. Furthermore, by using a single sign-on clinical collaborative portal solution as a center platform for a comprehensive view of patient record and history, the doctor will save time on non-value added tasks and be able to spend more time with the patient. Based on analyzing the existing paper-based process and the business requirements, the redesigned EMR process ("to-be" process) was proposed, as you can see in Figure 9. Finally, the simulation results of "as-is" and "to-be" processes were compared, as shown in Figure 10. As you can see, the EMR process in Figure 8 and Table 1 is much more efficient than the paper process, for example, the time for visit preparation reduced from 30 minutes to less than six minutes, shownin Figure 10.


Figure 8. Existing paper-based ambulatory care process captured in WebSphere Business Modeler
Existing paper-based ambulatory care process captured in WebSphere Business Modeler



Figure 9. Proposed EMR-based ambulatory care process in WebSphere Business Modeler
Proposed EMR-based ambulatory care process in WebSphere Business Modeler



Figure 10. Comparison of process duration of paper process vs. EMR process of visit preparation
Comparison of process duration of paper process vs. EMR process of visit preparation



Table 1. Simulation result comparison of paper and EMR processes
CriteriaPaperEMR
Cycle Time30 min5.6 min
Cycle Cost$12.47$0.79
Chances of Missing Record50%0%
Resource Cost of Medical Record$12.47$0
Resource Cost of Front Desk$4.80$0.77

Once all stakeholders are satisfied with the proposed IT solution, the business model can be handed over to the IT department for the downstream IT construction and implementation.

Model business process for runtime execution

In addition to capturing the business process for analysis, anther benefit of process modeling is simplifying the system design and development. WebSphere Business Modeler allows clear hand-off from business to IT through converting business specifications to IT ones. First of all, the process model will be converted to Unified Modeling Language (UML) during the step of software/solution architecture design. This will be done by IT Architect using Rational Software Architect and then developers will use Rational Application Developer for code development. Secondly, the process model will be translated into Business Process Executable Language (BPEL) and handed over to an Integration Specialist for process choreography. In addition, the key performance index (KPI) defined in the model can be used at run time to monitor the process using WebSphere Business Monitor for further process improvement.

In order for the to-be process model be used for the later stage IT workup, additional work needs to be done to prepare the artifacts using advanced features in the Modeler.

  • Build conditions for branch outputs. These conditions are needed when translating the business model to BPEL flow, which can be used by the integration developer for process choreography. Without these conditions defined, the BPEL flow will not be complete, and will be translated with errors.
  • Business items need to be defined at a more detailed level with attributes. When the process model is carried into Rational Software Architect and Rational Application Developer, the business Items, such as Patient Medical Record, will be translated into the corresponding Java™ objects with attributes. What composed the Patient Medical Record should be defined by the expert of subject in the Modeler, so this information can be passed correctly to the software architect for him to understand business at technical level and establish the relationship of these objects using UML.
  • Resources need to be defined at a more detailed level. When the process model is carried into Rational Software Architect and Rational Application Developer, the resources, such as individual resources and bulk resources in Modeler, will be translated into corresponding Java objects with attributes. Therefore, it is a good practice to define the attributes of these objects at the business level in the modeler as much as possible. For example, the attributes of a Front Desk Personnel in an ambulatory care environment should be provided by the subject-matter expert in the modeler, so that this information can be passed to the software architect who focuses on the design of the system.
  • Services are the repeated business tasks or shared components in the business process. They need to be identified at the business process level in the modeler, so that when the model is hand off to IT architects and developers, they can construct the corresponding software/solution using Web services technology.
  • If it is desired to use WebSphere Business Monitor for monitoring the process after the deployment, business performance metrics and/or key performance index (KPI) need to be identified and defined in the Modeler by creating a Business Measures model.
  • When the process is ready to be given to the developers for process integration in WebSphere Integration Developer (WID), the process needs to be exported using the WebSphere Business Modeler Export wizard. If the process contains Business Measures, the export type selection needs to be WebSphere Business Monitor (from BPEL process). If the process does not contain Business Measures, the selection needs to be WebSphere Business Modeler project (.zip).

Transform a business process model into UML for architectural design and application development

Once the process model is verified and validated at the business level, it can be taken to IT to jump-start the system design and development. The process model is imported into Rational Software Architect as a read-only format retaining the original structure, but all the elements are translated into UML equivalents. For example, Processes are translated into Business Use Cases, a Role performing business tasks is translated into an Actor with operations, an individual resource is translated into a Java class, a Business Item is translated into a Business Entity that is represented by a Java class with attributes. Rational Software Architect also provides integrated Requirement perspective to enable the architect to review and link the business requirements established earlier in RequisitePro. Architects can also apply patterns provided in Rational Software Architect to the scenario. This type of mapping between business and IT provides a vehicle for the architects to understand domain specific knowledge in the language they are familiar with, eliminating informal hallway conversations that often result in misalignment between business and IT. Designing good architecture to support business objectives becomes much easier this way. Figure 11 shows the UML class diagram built in Rational Software Architect that is based on the patient Visit Preparation business process. Figure 12 shows the integrated view of the business model, requirements, and a business use case UML diagram in Rational Software Architect.

Once the architectural design is finalized, the Java developers can use Rational Application Developer for fast construction of reusable assets such as services, Web contents, and databases. For creating reusable assets, the developer can apply EJB Transformation in Rational Software Architect and generate Enterprise Java™ Beans (EJBs) that can be distributed and re-used. Since the code skeleton is generated already, the developers can focus on developing the key logic to perform the specific business operations. This significantly improves the productivity and quality of the software, yet reduces the testing effort later on. In the patient Visit Preparation process, the "Verify Insurance" identified in the business process as a repeated task (service) was transformed to an "Insurance System" Session Bean as a Web Service. The patient "Address" business entity was transformed to an Entity Bean. For constructing Web contents, developers can drag-and-drop the "Patient" Java Bean, for which the characters have been defined in the business model earlier, so that a JSP page for entering and submitting patient data was created with ease, as shown in Figure 13. In addition, since the attributes of business entities such as Patient Visit Note were defined at business level and transformed into Entity Beans, the corresponding database tables can be generated automatically, as you can see in Figure 14.


Figure 11. Class diagram in Rational Software Architect for Visit Preparation business process based on business process
Class diagram in Rational Software Architect for Visit Preparation business process based on business process



Figure 12. Requirements and business process are integrated in Rational Software Architect with the business use case UML diagram
Requirements and business process are integrated in Rational Software Architect with the business use case UML diagram



Figure 13. JSP can be generated with ease by drag-and-drop the Java Bean to the page
JSP can be generated with ease by drag-and-drop the Java Bean to the page



Figure 14. Database schema can be generated in Rational Software Architect based on business entities defined in the model
Database schema can be generated in Rational Software Architect based on business entities defined in the model

Convert the business model into BPEL for process choreography

Two other artifacts of the business process model are Business Process Executable Language (BPEL) and Web Services Definition Language (WSDL). They can be produced simply by exporting the business model by selecting the export type WebSphere Business Monitor (from BPEL process) in the export wizard. The resulting file packages containing BPEL and WSDL captured all the process information and can be given to an Integration Specialist to choreograph the process using WID.

WID in one hand takes the BPEL artifact from WebSphere Business Modeler, and in another hand takes in the artifact such as services created in Rational Software Architect and Rational Application Developer. Using WID, the Integration Developer assembles the pieces (services) into an integrated solution, and then deploys it to the runtime environment WebSphere Process Server (WPS). Figure 15 shows the BPEL and WSDL files for the process VisitPreparation generated from the business process model. Figure 16 shows the same process represented by BPEL flow in WID.

The integrated process Visit Preparation was deployed and executed on WPS as shown in Figure 17.


Figure 15. Exported BPEL and WSDL files for Visit Preparation process
Exported BPEL and WSDL files for Visit Preparation process

Figure 16. Visit Preparation process flow in WID for process choreography
Visit Preparation process flow in WID for process choreography

Figure 17. Process deployed to run-time environment
Process deployed to run-time environment

Test the solution with Rational testing tools

With BDD, test engineers can conduct testing activities using Rational testing tools before the completion of the software development. Rational testing tools are integrated with requirement management tool RequisitePro to allow Test Engineers to understand business requirements, and create test plans and test cases ahead of time based on the use cases captured and made available to them in the tool. Once the software is ready to be tested, they execute the tests against the requirements to ensure the solution really was developed to align with business objectives. In this example, Rational Test Manager was used to create the test plan and test cases for Visit Preparation process, shown in Figure 18. Rational Manual Tester was used to perform and manage the manual tests, seen in Figure 19. Test engineers can also use Rational Performance Tester to assess and verify Web service performance and determine how the service will perform under various usage loads.


Figure 18. Test case were created and executed in Rational Test Manager
Test case were created and executed in Rational Test Manager



Figure 19. Manual testing was conducted using Rational Manual Tester
Manual testing was conducted using Rational Manual Tester


Monitor for continued process improvement

The performance of business processes are affected by many factors. Organizations want to be able to monitor the processes to find problems when they occur and collect intelligent data for process optimization.

WebSphere Business Monitor enables this real-time process monitoring and colleting feedback for continued process improvement. The connection from business model to monitor is the Business Measure model component built-in in WebSphere Business Modeler. The Business Measure model allows you to define performance metrics, counters, stopwatches, and triggers for a process, and use them to further define KPIs. The artifact of Business Measure model will then be exported in the format of XMI and used for WebSphere Business Monitor. As shown in Figure 20, the KPIs defined for the Visit Preparation process include Patient Waiting Time, Time for Verifying Insurance, and Number of Patient Received. The runtime data will be collected on WebSphere Process Server, then calculated and visually displayed to WB Monitor in a WebSphere Portal environment. The process owners such as doctors and operational managers can look at the monitor dashboard for the real-time performance of the process and take actions accordingly.


Figure 20. KPIs defined in WebSphere Business Modeler for Visit Preparation process
KPIs defined in WebSphere Business Modeler for Visit Prepartion process

Summary

Business-driven development is the key methodology in delivering healthcare solutions based on a Service-Oriented Architecture. By using a real-time example, this article outlined the fundamental principles for applying BDD during such an implementation. It illustrated the tooling capabilities with emphasis on how these tools are interlocking to each other in the lifecycle of BDD to achieve SOA. Beginning from requirements and business processes with the interconnecting IBM development platform, and moving forward to system design and development, integration, testing, and monitoring, it demonstrated how the business connects to IT, drives the IT implementation, ensures the solutions meet the business objectives to improve responsiveness of the business with reduction of investment on time and effort.


References

1. The Standish Group, "CHAOS Chronicles II 2001," CHAOS Chronicles II 2001, vol. Volume II 2001

2. N.N. Mansurov and R.L. Probert, "Improving time-to-market using SDL tools and techniques," Computer Networks, vol. 35, pp. 667-691, 2001


Resources

Learn

Get products and technologies

About the author

Jean Wang is a business architect and solutions scientist in IBM for IBM Healthcare and Life Sciences Strategic Initiatives. Jean has worked in life sciences and information technology industries and in academia in functional areas of scientific research and development, software development, education, and consulting. She is currently focusing on bridging the gap between business and IT and enabling business process transformations in Healthcare and Life Sciences industry to Service Oriented enterprise. She holds a Ph.D. degree in Chemistry.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=SOA and Web services, WebSphere
ArticleID=160076
ArticleTitle=Develop SOA solutions for healthcare organizations using business-driven development
publish-date=09152006
author1-email=hjwang@us.ibm.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers