4-page Case Study - Posted 8/10/2006
Views: 734
Rate This Evidence:
Hosted Solution Offers a Better Option for Medical Practice Management and Billing
In 2000, AdvancedMD Software set out to deliver a medical practice management solution that spared customers from the costs and complexity of traditional client/server applications. AdvancedMD, the company’s hosted service, provides the tools that healthcare providers need to run their practices but does so for low startup costs and a predictable monthly fee. Web-based delivery and centralized system management speed new deployments, ensure superior availability, and eliminate the need for on-site technical expertise, while the use of an Asynchronous JavaScript and XML (AJAX) programming technique provides application responsiveness similar to that of a desktop application. Through its use of Microsoft® software to deliver its Web-based service, AdvancedMD Software—and its customers—are benefiting from low ownership costs, ease of management, rapid time-to-market, and superior uptime.
Situation
AdvancedMD Software provides hosted software solutions for the healthcare industry, including AdvancedMD, a medical practice management and billing solution, and AdvancedEMR, an electronic medical records (EMR) management solution. As of May 2006,
 | The tools provided in the Windows platform are a world apart from what you can get with Linux, and the amount of time and money saved by developing and managing with a richer tool set is huge. |  | | Troy Young, Vice President of Operations, AdvancedMD Software | |
|
the company had under contract roughly 4,400 healthcare providers, which encompass more than 10,000 users and 5 million active patients in all 50 U.S. states.
AdvancedMD Software was founded in 1999 by a reseller for an existing practice management system, who set out to deliver a better solution than the current client/server applications. Requirements for the new solution, many of which directly reflected the shortcomings of those client/server applications, included:
- Better support for providers that have multiple offices.
- Reduced deployment costs, whether the customer has one location or many.
- Ease of use for smaller medical offices, which typically do not have an IT person on staff.
- Ease of support for the vendor, including the ability to deploy software upgrades remotely.
- High levels of uptime because the solution is mission-critical to most medical practices.
- The ability to meet security and privacy requirements mandated by the Health Insurance Portability and Accountability Act (HIPAA).
AdvancedMD Software first considered building the new solution using Delphi technology, but that option would have resulted in many of the same deficiencies that existing client/server systems had. The company then looked at building a completely new client/server solution that could be managed and updated over the Internet but found that such a software development effort would have been too great.
“We needed the deployment and centralized management advantages of a Web-based solution without the inherent user-responsiveness issues,” says Troy Young, Vice President of Development at AdvancedMD Software. “People who regularly use our solutions must enter data hundreds or thousands of times per day, and the delays caused by continual roundtrips between the browser and a Web server to refresh the user interface would not have been acceptable.”
Solution
AdvancedMD, the company’s hosted practice management and billing solution, provides the tools that healthcare providers need to run their practices without posing many of the drawbacks of traditional client/server solutions. Economies of scale allow AdvancedMD Software to deliver the service with low startup costs and at a reasonable and predictable monthly fee, while Web-based delivery and centralized system management speed deployment, ensure superior availability, and eliminate the need for on-site technical expertise. The use of Asynchronous JavaScript and XML (AJAX), a newer Web programming model, provides application responsiveness that is more like that of a desktop application, ensuring that users are not continually waiting for their screens to refresh.
 | With tools like BizTalk Server, we can easily integrate with IT systems and data formats used by new customers and bring those customers online that much faster. |  | | Ken Meyers, Vice President of Operations, AdvancedMD Software | |
|
Because the AdvancedMD service is centrally hosted and delivered over the Web, it can easily span multiple offices. The only technology required at a customer location is a PC with a Web browser, eliminating the need for resident technical expertise or costly visits by a reseller or service provider. Because the service supports both practice management and billing, medical offices can easily do their own billing or outsource that function. Compared to client/server applications, AdvancedMD also helps ensure compliance with HIPAA security regulations more easily, which frees healthcare providers to focus on patients instead of technology issues.
Continued Growth
AdvancedMD Software finished development for the initial version of its hosted solution in April 2000 and started marketing the solution in September 2000. In the beginning, the service was hosted on two Web servers running the Microsoft® Windows® 2000 Server operating system with Internet Information Services (IIS) version 5.0, a database server running Microsoft SQL Server™ version 7.0, and a report server running Crystal Reports.
Sales were slow at first—due in part to the novelty at that time of a Web-based delivery model. In 2004, however, subscriber growth started to climb quickly and steadily, and AdvancedMD Software had to upgrade its hosting infrastructure to support that growth. Over a period of several months, the company doubled its hosting hardware and upgraded its database servers to the Windows Server™ 2003 operating system and SQL Server 2000.
Since that expansion, AdvancedMD Software has deployed additional Microsoft technologies to support new functionality in its service, including:
- Reporting. AdvancedMD Software has moved virtually all reporting—more than 100 standard reports—off Crystal Reports and onto SQL Server 2000 Reporting Services, which services more than 24,000 report requests per day. The company is currently upgrading to SQL Server 2005 Reporting Services and will use that component’s Report Builder feature to make it possible for customers to create their own reports.
- Integration. AdvancedMD Software used Microsoft BizTalk® Server 2002 to integrate its solution with insurance companies and more recently BizTalk Server 2006 to integrate its solution with a third-party claims-scrubbing application. The company is now migrating the insurance functions to BizTalk Server 2006, and is taking advantage of the ease of development, deployment, and management now available to expand the third-party interfacing capability of its offering.
- Proactive monitoring. AdvancedMD Software uses Microsoft Operations Manager 2005 to subject all the Windows-based servers in its data center—including hundreds of application and server elements—to highly refined levels of continual monitoring.
AdvancedMD Software is working to upgrade its remaining Web servers to Windows Server 2003 with IIS 6.0 over the next several months, and its database servers to SQL Server 2005 over a similar time frame. “With Microsoft software, we’re able to scale out each tier of our solution separately, as required to support business growth,” says Ken Meyers, Vice President of Operations at AdvancedMD Software. “And with Windows Server 2003 and SQL Server 2005, we expect to be able to support more customers and users per server, as well as take advantage of some tremendous new manageability features.”
 | The Microsoft licensing model for application service providers is a big plus, because we can fund our infrastructure growth out of cash flow. |  | | Ken Meyers, Vice President of Operations, AdvancedMD Software | |
|
HIPAA Support
For healthcare providers, the AdvancedMD service helps address many of the challenges associated with establishing and maintaining HIPAA compliance, including:
- Transaction sets. All transactions supported by the AdvancedMD service are in compliance with HIPAA-designated standard ANSI formats.
- Security and backup. Electronic data is stored in a world-class data center that has eight levels of security, including biometric access, bulletproof glass, 24-hour monitoring and patrol, locked server cages, and sophisticated firewalls. Secure Sockets Layer 128-bit encryption is used to safeguard data transfer, and users are automatically logged off after a period of time to prevent unauthorized access to patient data. AdvancedMD stores a record of all users logging on and off the system, as well as a record of all changes to patient data. Overall, the AdvancedMD managed Web solution addresses 32 of the 47 HIPAA Security requirements, whereas typical client/server applications address only 10 to 12 items.
- Privacy. Because access to patient data is based on administrative rights and user roles, that data is accessible only to authorized parties. The solution also provides a set of helpful tools for managing patient consent, including electronic form storage and automated reminders.
Benefits
Through its use of Microsoft software, AdvancedMD Software is realizing several key business benefits, including a low total cost of ownership (TCO), ease of management, and high availability. Many of those benefits are passed on to customers in the form of lower costs, the elimination of technical complexity, and service availability. Taken together, the advantages provided by AdvancedMD Software’s hosted solution have fostered a 98 percent customer retention rate and are helping the company sustain a 100 percent annual growth rate.
Low Total Cost of Ownership
Healthcare providers that use AdvancedMD will benefit from lower costs. Traditional client/server practice management solutions can cost U.S.$25,000 to $100,000 to acquire and set up, and can accrue additional costs for continued support and upgrades. In contrast, the AdvancedMD service costs $4,000 per practice to get started, and a $359 monthly subscription fee includes all maintenance, upgrades, and support.
AdvancedMD Software is able to deliver its solution at a reasonable cost because its own IT infrastructure costs remain low, even
 | Excluding scheduled maintenance each Tuesday evening, we have achieved an average uptime of better than 99.995 percent over the past three years. |  | | Ken Meyers, Vice President of Operations, AdvancedMD Software | |
|
through a period of rapid growth. “Thanks to our use of Windows, our cost model is spectacular,” says Meyers. “The Microsoft licensing model for application service providers is a big plus, because we can fund our infrastructure growth out of cash flow.”
Ease of Management
Ease of management is another key benefit for AdvancedMD users, who do not need to concern themselves with maintaining a technology solution in-house. The same benefit applies to AdvancedMD Software—just four people administer the company’s entire hosting infrastructure, even though the facility is located hundreds of miles away from corporate headquarters.
“Ease of management is another strong contributor to our low TCO,” says Young. “One reason we never looked seriously at Linux is because of its tool set. The tools provided in the Windows platform are a world apart from what you can get with Linux, and the amount of time and money saved by developing and managing with a richer tool set is huge. There’s no way we could have saved money with Linux.”
Rapid Time-to-Market
Because the AdvancedMD service has a Web-based delivery model, new customers can be up and running on the service in just a few days. AdvancedMD Software can just as easily expand its infrastructure to support its rapid growth by adding a few more cost-effective, industry-standard server computers to whichever tier of its hosted solution requires the added capacity. Similarly, with integrated server software from Microsoft, AdvancedMD Software can easily add the new functionality required to continue fueling its business growth.
“Over the past 12 to 18 months, we’ve seen tremendous growth in sales to large billing-service providers,” says Meyers. “With tools like BizTalk Server, we can easily integrate with IT systems and data formats used by new customers and bring those customers online that much faster. In addition, larger customers typically have more advanced reporting needs, and SQL Server Reporting Services provides everything we need to meet our customers’ reporting requirements.”
High Availability
Because of the superior reliability of its IT infrastructure, AdvancedMD Software is able to provide customers with virtually uninterrupted service. One of the keys to that level of uptime is Microsoft Operations Manager (MOM) 2005, which the company uses to continually monitor all Windows-based servers in its data center. If a server exhibits abnormal behavior, MOM automatically sends an e-mail alert or pages a system administrator. In this way, the company can detect potential issues before they turn into problems that can affect service levels.
“Excluding scheduled maintenance each Tuesday evening, we have achieved an average uptime of better than 99.995 percent over the past three years,” says Meyers.
(The remainder of this document describes the technical architecture of the solution and the challenges faced in building it.)
Architecture Synopsis
The AdvancedMD service is based on a scalable, multilayer logical architecture. The solution was initially developed with Microsoft Visual Basic® development system version 6.0 to run in an Active Server Pages (ASP) and Component Object Model (COM)
 |
| Figure 1. The AdvancedMD hosted solution employs a multitier logical architecture. |
environment. It is now being upgraded to run on the Microsoft .NET Framework using the Microsoft Visual Studio® 2005 development system, which provides a single, integrated development environment for all solution components, including BizTalk Server and SQL Server.
Figure 1 illustrates the logical architecture for the hosted AdvancedMD service.
Presentation Layer
Older Web pages for the AdvancedMD service are based on ASP and run on IIS 5.0, whereas all new Web development is based on the Microsoft ASP.NET classes in the Microsoft .NET Framework. (The .NET Framework is an integral component of Windows that provides a programming model and runtime for Web services, Web applications, and smart client applications.) Development of AdvancedEMR, the company’s other hosted solution, began in April 2005 and is based entirely on ASP.NET.
“We chose to move to ASP.NET for all of the obvious reasons, including compiled code versus interpreted script and an object-oriented programming model,” says Young. “As we freshen the user interface for AdvancedMD, we’re converting it to ASP.NET, which we estimate has made our developers twice as productive as they were with traditional ASP.”
Business Logic Layer
 | Moving from Visual Basic 6.0 to Visual C# should reduce the size our code base by roughly two-thirds. |  | | Troy Young, Vice President of Development, AdvancedMD Software | |
|
Because much of the business logic layer was developed several years ago, a good deal of that code is written in the Visual Basic 6.0 development language and runs in the COM+ environment. The company now is migrating that code to the Visual C#® language, which, like ASP.NET, is helping the company’s developers to be more productive.
“Lots of things that developers used to have to do over and over again—such as accessing the registry, building connection strings, and parsing XML—are handled automatically by the .NET Framework,” says Young. “I expect that, by the time we migrate the entire application to the .NET Framework, we’ll be able to eliminate one-third to one-half of the functions in our code library.”
In porting one heavily used shared module from Visual Basic 6.0 to Visual C#, developers were able to eliminate 26 of the 69 functions and subroutines in the module. Most of the remaining subroutines also were significantly reduced in terms of lines of code—for example, a GetGUID function that took 18 lines of Visual Basic code was replaced by one line of Visual C# code.
“Moving from Visual Basic 6.0 to Visual C# should reduce the size our code base by roughly two-thirds,” says Young. “The functionality of many subroutines is actually being enhanced during our move to Visual C#, so the smaller, more intuitive code actually does more. And because Visual C# code is more intuitive than Visual Basic code is, maintenance is easier and less error-prone. In the past, we had to make extensive use of Windows API calls, which are inherently difficult to work with. Today, those API calls have all been replaced with native .NET Framework methods. And Visual Studio 2005 gives us the ability to fully document our code within the code itself, so that method and parameter descriptions appear as tooltips, just like native objects.”
Data Access Layer
Data access for business logic components written in Visual Basic 6.0 is based on ActiveX® Data Objects (ADO), whereas components written in Visual C# use Microsoft ADO.NET for data access. Most database access is done through stored procedures, although some Structured Query Language (SQL) queries also are used.
Database Layer
With a solution front end based on AJAX, AdvancedMD has made extensive use of the support for XML in SQL Server 2000. “Our data is very hierarchical—a single XML document from a Web browser may have 60 data elements and be five levels deep,” says Young. “In the past, it took up to 30 seconds to return an XML data set to the browser, with most of that time spent serializing the data into XML by hand in the middle tier. By using SQLXML to have the database return an XML data set directly, the total time required was reduced to 2 seconds. We’re currently moving to SQL Server 2005 with our next release, which will provide further scalability and performance benefits. At that time, we’ll look closely at how we can benefit from the ability of SQL Server 2005 to store data directly in XML format.”
Reporting Layer
The AdvancedMD service includes more than 100 default reports, all of which are powered by SQL Server 2000 Reporting Services; only a handful of legacy custom reports remain on Crystal Reports. As part of its planned deployment of SQL Server 2005, the company plans to use the server application’s new Report Builder feature to allow customers to define their own reports—an important consideration for those larger customers that have more complex reporting needs.
Integration Layer
Integration with other systems is provided by BizTalk Server 2002 and BizTalk Server 2006. BizTalk Server 2002 receives payment
 | The effort to update the Linux servers is far greater than for those running Windows.… The Linux kernel itself may be free, but the time spent managing it can carry a high cost. |  | | Troy Young, Vice President of Development, AdvancedMD Software | |
|
data from insurance companies in flat file format, upon which a BizTalk Server application integration component (AIC) parses the flat file and writes the data to the database. Integration with a third-party claims-scrubbing application is handled by BizTalk Server 2006, which receives an XML document from the business logic tier, translates it to the proprietary flat file format used by the third-party application, and sends it to that system. Upon receiving a scrubbed claim back in flat file format, BizTalk Server converts the claim back to XML format and returns it to the business logic tier to be stored in the database.
AdvancedMD Software is in the process of migrating the insurance functions to BizTalk Server 2006 and adding more interfacing capabilities directly into its AdvancedMD application, which will improve the company’s ability to integrate with new customers in the future. “The Flat File Wizard in BizTalk Server 2006 will be very useful,” says Young. “We had been looking at buying or building such a tool on our own and were pleased to see it included with the tool set. In addition to the obvious performance and scalability benefits, one of the things we really like about BizTalk Server 2006 compared to earlier versions is that we can now use a single management interface.”
Physical Architecture
The physical architecture upon which the AdvancedMD service is hosted currently includes:
- 12 Web servers (which also host the business logic components) running Windows 2000 Server with IIS 5.0
- 5 reporting servers running Windows 2000 Server and SQL Server 2000 Reporting Services
- 3 reporting servers running Windows 2000 Server and Crystal Report
- 12 database servers running Windows Server 2003 and SQL Server 2000 (3 run SQL Server 2000 Enterprise Edition and the rest run SQL Server 2000 Standard Edition)
- 3 database backup servers running Windows Server 2003 and SQL Server 2000
- 2 integration servers (one running Windows 2000 Server and BizTalk Server 2002 and one running Windows Server 2003 and BizTalk Server 2006)
- 4 billing servers running Windows 2000 Server and Microsoft Office Access 2003 (used as a server-side component to produce formatted statements—to be replaced shortly with SQL Server Reporting Services)
- 2 domain controllers running Windows 2000 Server
- 1 blade administration server running Windows Server 2003
- 1 administration server running Windows 2000 Server, Microsoft Operations Manager 2005, and Windows Server Update Services
In addition to its 40-plus Windows-based servers, the company also has two Linux-based servers, which are used to host various network-monitoring and intrusion-detection tools and applications. Other network infrastructure components include a Nokia firewall, a Network Appliance storage area network, two F5 hardware load balancers, and numerous Cisco and HP routers and switches.
“As a result of our present upgrade to new versions of many Microsoft products, we expect to reduce the number of servers in our production environment considerably,” says Young. “For example, we expect to reduce the number of reporting and billing servers by about 50 percent as we consolidate all functionality on SQL Server 2005 Reporting Services.”
Technical Challenges
In developing its hosted solution, AdvancedMD faced several key technical challenges, including the delivery of good application responsiveness, superior uptime, and strong security. None proved to be too difficult to overcome, however.
Application Responsiveness
AdvancedMD needed the centralized deployment and management advantages of a Web-based solution but still had to deliver the responsiveness of a traditional desktop program. The company achieved this goal by using Asynchronous JavaScript and XML (AJAX) programming, in which a user interface (UI) written in JavaScript is downloaded from the Web server to the Web browser once at startup and then is managed and rendered in the browser. Data is passed between the browser and the Web server in XML format, eliminating the need for the Web servers to manage the UI and eliminating the delays associated with a roundtrip between the browser and server every time the UI must change. By shifting the UI workload from the Web server to the browser in this way, application responsiveness is improved and the load placed on the Web servers is reduced.
Superior Uptime
One critical requirement for the AdvancedMD service is uncompromised availability. To detect potential problems before they can affect end users, AdvancedMD Software continually monitors all Windows-based servers in its hosting environment using Microsoft Operations Manager 2005, including the base management pack that ships with MOM as well as the SQL Server 2000 management pack.
“With MOM, we’re able to detect and address potential issues before they affect our customers,” says Young. “For example, last week we had an issue with message queuing, and with MOM we were able to see that a queue was getting backed up and fix the problem before users knew that anything was wrong.”
Security Updates
To maintain strong security, AdvancedMD needs to be able to quickly and efficiently apply any needed software updates. The company does this through the use of Windows Server Update Services, which enables system administrators to download any updates from Microsoft once and push them out to all servers in a rapid yet controlled manner.
“Update management isn’t a problem, even though we’re in Salt Lake City and our data center is in California,” says Young. “Our weekly maintenance window is Tuesday evening. Because Microsoft now releases security updates on the first Tuesday of each month, we can usually apply any updates on the same day that they’re released.”
The application of security updates is handled far differently for the company’s two Linux-based servers. “The effort to update the Linux servers is far greater than for those running Windows, which is one of the reasons that our use of Linux is so limited,” says Young. “We run the open source Linux distribution, which means we don’t get any vendor support. As a result, the time it takes to update those servers only lets us do it twice per year. It takes one person four days to update the two servers—three days to track down all the required updates from the various open source projects, such as SSH, Apache, and so on, and one day to deploy them. In contrast, we can update our 12 Web servers in just two hours. The Linux kernel itself may be free, but the time spent managing it can carry a high cost.”
Microsoft Visual Studio 2005
Microsoft Visual Studio 2005 is the world’s most popular development environment for designing, developing, and testing next-generation Windows-based solutions and Web applications and services. By improving the development experience for Windows, the Web, mobile devices, and Microsoft Office, Visual Studio 2005 helps organizations deliver a variety of solutions more productively than ever before. Visual Studio Team System expands the product line with new software tools that enable greater communication and collaboration throughout the development life cycle. With Visual Studio 2005, businesses can deliver modern service-oriented solutions more efficiently.
For more information about Visual Studio 2005, go to:
msdn.microsoft.com/vstudio
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234 in the United States or (905) 568-9641 in Canada. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to: www.microsoft.com
For more information about AdvancedMD Software products and services, visit the Web site at:
www.advancedmd.com
© 2006 Microsoft Corporation. All rights reserved.
This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Microsoft, ActiveX, BizTalk, Visual Basic, Visual C#, Visual Studio, the Visual Studio logo, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are property of their respective owners.