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

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

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
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

Figure 4. Requirements are mapped to technical features

Figure 5. Customer requirements are linked to assets

Figure 6. 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

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

Figure 9. 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

Table 1. Simulation result comparison of paper and EMR processes
| Criteria | Paper | EMR |
|---|---|---|
| Cycle Time | 30 min | 5.6 min |
| Cycle Cost | $12.47 | $0.79 |
| Chances of Missing Record | 50% | 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

Figure 12. 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

Figure 14. 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

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

Figure 17. 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

Figure 19. 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

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.
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
Learn
-
The IBM SOA Web site offers an overview of
SOA and how IBM can help you to get there.
-
Visit the
developerWorks SOA and Web services zone to learn more about SOA.
-
See "Key principles for business-driven development" (developerWorks, October 2005) and
"Business-driven development" (developerWorks, December 2005) for more about business-driven development.
-
Learn more about WebSphere Business Integration at
New to WebSphere Business Integration.
Get products and technologies
-
You can start practice BDD for SOA development by downloading free trial Rational and WebSphere software from
The developerWorks download site.
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)





