Hannu Virkanen and
are with the University of
JEE and .NET are the two major frameworks competing in the enterprise software development space. A debate on their similarities and differences has been running since the beginning of their coexistence. Are these comparisons relevant for what is needed in building new healthcare specific IT services? The answer can be found through some recent proposals for modern software infrastructure in healthcare. This article sheds some light on the possibilities of such competing technology families and the offerings of software infrastructure suppliers in relation to the needs set by the healthcare industry.
The Battle of Software Technology Infrastructures
The two major technology platforms in modern IT infrastructure development are JEE (Java Enterprise Edition – formerly known as J2EE) and Microsoft .NET. Both of them are software frameworks to create enterprise-level IT solutions, the kind of solutions that are needed in modernising and creating new software to solve emerging and complex challenges of healthcare. The comparisons bet we en these technologies have been made throughout their existence (the first official versions of J2EE and .NET were released in 1999 and 2002, respectively).
There are considerable resources available on the subject: comparisons made by vendors themselves, impartial sources as well as some scientific debate (try Google: JEE or J2EE vs. .NET). The typical criteria of these technology showdowns include architectural layers, data access, GUI, connectivity, support for standards, performance or cost effectiveness.
Neither side has been knocked out by the other due to advantages derived from any specific features. The architecture and tech nical advancements of both platforms are mainly created by the necessities stated by the direction of the information technology industry.
It is also clear that such competition benefits the customers by requiring constant evolution and innovation on both sides. Indeed, any recent developments in one platform are closely followed on the other side; the same sort of solutions have at least been ‘inspired’ by the other (see Figure 1).
What has, however, not been studied to the same extent is how health care industry-specific needs are supported by these solutions. As a result, there is a need to consider emerging health care application models and standards and see how vendors en dorse such developments building on these two technology families.
The Criteria for Software Platforms in Healthcare
are several major health care IT development efforts to improve the
availability of patient information and care processes. IT infrastructures of
hospitals and healthcare facilities are facing increasing pressures for
adaptability and connectivity. Many national and regional initiatives aim to
enable health information sharing across enterprise and application boundaries,
for example national health IT projects in England, France, Germany and
Finland. Another im portant trend, which also sets requirements for information
sharing are citizen-centric, business to consumer services such as personal
health management and personal health records. Even established non-healthcare
players are emerging in this space with products such as Google Health and
Microsoft HealthVault. Such initiatives for service providers and consumers are
typically targeted by enterprise solutions built using JEE/.NET-technologies.
A central goal in these initiatives is interoperability between applications or services. The interoperability is often based on existing but still evolving specifications such as HL7 or DICOM and IHE integration profiles. “Based on” here means that the standards cannot usually be deployed as-is, but have to be localised to their target environment to meet requirements of national legislation, different models of providing health services, or different views on patient privacy and reimbursement, to mention a few. The differences can be found not only on the process level, but also in implementation details such as patient identification, different code sets for drugs or coding of examination results. These differences make it hard to achieve ‘plug and play’ interoperability.
In many cases, standards concerning health and healthcare IT are provided on the level of frameworks or in terms of guidelines which need further refinement for local application. Furthermore, standards continue to be developed in rapid annual or even busier release cycles. Such a situation does not provide concrete foundations for tool support or other productivity features in enterprise software development. It also hinders the possibility for software infrastructure vendors (such as the ones developing .NET/JEE) to provide support for healthcare- specific standards. In any case, core .NET/JEE products are independent of any particular business domain, and only provide basic infrastructure components on top of which vertical solutions or frameworks for domains such as healthcare can be built.
Web Services and SOA are Closing the Technology Gaps
Most IT standardisation efforts are moving towards a common technology base and approach in developing interoperability solutions and modular systems, namely Web Services and SOA (Service-oriented architecture). These two, the platform independent technology for systems to communicate (Web Services) and architectural guidelines for creating flexible and interoperable solutions (SOA) have been the focus of development oftechnology frameworks and implementing readily available extensions upon them. It is indeed here where IT infrastructure building blocks, such as .NET and JEE frameworks, can provide subs tantial assistance. The platforms offer xml or SOAP tools to handle the basic messaging which can be extended with WS*- specifications to increase Web Services capabilities to handle issues such as messaging security, transaction, reliability etc.
Furthermore, there is a growing foundation of experience and support for these common toolsets as the technology base for system-to-system communication becomes increasingly homogenous between different fields of business. In addition, SOA-oriented integration infrastructure offerings such as Enterprise Service Buses (ESBs) provide even further abstraction and connectivity capabilities.
It is also important to consider how healthcare specific needs are increasingly supported in the software infrastructure space by vendors such as Microsoft and Oracle and by foundations such as Apache and Eclipse.
These organisations offer implementations and support for the JEE and .NET technology families and seek to provide solutions for standardized interoperability.
It is important to note that not all such examples are directly related to the JEE/.NET platforms themselves, but extend these technological foundations to support architectural and higher abstraction level frameworks. They indicate that specific needs of healthcare IT have been taken into account by organisations which have a culture to support the productivity features of enterprise IT solution development. In addition, the commitment of leading software vendors is needed for standards to be accepted as ‘de facto’ through a large number of real-life implementations.
We specifically take consideration of three aspects of support for healthcare software development: architectural frameworks, application components and tool support for standards based interoperability. To do this, we discuss a representative sample of offerings initiated from JEE and .NET bases.
few years ago, Microsoft released Connected Healthcare Framework (CHF) - a high
level architectural framework to establish the direction for aligning
enterprise-level systems and services to create functional and interoperable
healthcare information systems. The requisite infrastructure was also
illustrated using the current SOA/ESB-paradigm. Several different guideline
documents were released as a result of this initiative, which was strongly
influenced by development work across the world.
Another interesting development is related to Microsoft’s involvement in the national NHS projects for eHealth in the UK. This has resulted in Microsoft Health Common User Interface (CUI) - a set of guidelines and a toolkit for creating user interfaces for health care applications.
Microsoft has been busy on the healthcare product side as well, acquiring solutions like Azyxxi, a software platform designed to access health related information from a variety of sources in the healthcare enterprise. The acquisition has recently led to the release of Amalga – a product family with solutions, among others, for Hospital Information Systems (HIS), Radiology Information System (RIS) and Picture Archiving and Communication System (PACS).
Healthcare IT standards such as HL7 and IHE are supported by Microsoft with various product and reference implementations (on .NET-technology, BizTalk Server etc.) and also through the release of technology oriented guidelines.
the Java side, one of the products worth mentioning is Oracle’s Healthcare Transaction
Base (HTB), which is a JEE/J2EE based platform for healthcare application
development, integration and data storage. The data model used is based on HL7
version 3 standardized data model: RIM. On the other hand, many Java-related
efforts in healthcare have been more collaborative and open source oriented,
such as the Open Healthcare Framework (OHF) in the Java-friendly Eclipse foundation.
The initiative has developed (or has plans) for open source implementations of several healthcare interoperability standards to be used as-is or as a basis for product deployments. The work list includes implementations of several HL7 and IHE specifications.
Another similar project using Java as a technology base is the recently launched Open eHealth Foundation which also plans to release open source implementations based on existing standards. Forthcoming implementations will be using results of existing open source projects for security, single-sign-on, enterprise service bus, SOA governance and registry/ repository. The resulting services and components will extend Java/JEE projects such as Open ESB, Glassfish, Open SSO and Mural.
…and Mixing the Two
From a technology point of view, one of the most interesting examples is the OpenMRS (Open Medical Record System) initiative, which provides an open source framework for medical records systems in developing countries. The system implementations are principally developed as Java Web Applications running in an Apache Tomcat environment. However, the demo application available at the OpenMRS site uses Microsoft Office Infopath XML as a format to download and edit medical information for a test patient.
This example is a good demonstration of the possibilities of tying together applications from so-called opposite worlds with an intermediate interoperable format (usually a suitable XML language). Our own experience from various integration and development projects also underlines that Java and .NET technologies can be (and are) increasingly designed to be used side by side.
It is thus evident that the healthcare sector is receiving special attention from providers of JEE and .NET technologies. Still, the killer application that would provide a competitive edge to gain significant market share is missing on both sides. National electronic health record initiatives or local implementation projects are making more or less steady progress using various tools that are available – using, mixing and matching different web services tools, message queues, integration engines and technology infrastructures, though as yet often without using healthcare-specific offerings built atop the latter. The crux of the struggle in software infrastructure has moved from base technology towards support for healthcare standards, interoperability and management of the exploding amount of health-related knowledge and patient information (genetics, constant monitoring, data-intensive investigations etc.). Combined with strong professionalism, the ‘perceived uniqueness’ of processes, information and service models on national or provider levels, and an incoherent and heterogeneous marketplace, healthcare is certainly not an easy area to conquer for infrastructure suppliers.
Forget (Most of the) Basic Software Infrastructure
The properties and basic philosophies of .NET and JEE platforms are similar; indeed it is hard to tell them apart purely by their properties. If there is no straighftorward reason – such as a management decision to have a homogenous Microsoft or Java environment - it is a good suggestion to see what kind of healthcare-specific offerings are available built on top of these environments. In other words, is there readily-built support for your case of healthcare specific needs, and after that, for which platforms? Is there a need to start using healthcare specific frameworks which provide design guidance, or do you need readily-made components or systems, or just support for standards-based interoperability?
As indicated above, IT infrastructure providers have recently begun to take serious notice of healthcare specific needs and models, and the number of offerings will surely rise as standardization and industry-wide solution models emerge.
Many healthcare projects are continuously struggling with interoperability problems. The easiest way to avoid compatibility problems is to avoid the need for interoperability between systems i.e. deploying one system everywhere. But in most cases, connected healthcare service models, the complexity of hospital environments, the long line of legacy systems to be supported and proprietary processes developed independently in isolated healthcare organisations, make this naïvely efficient solution unreasonable.
By using platform independent web services as a technology to communicate between applications, it is not necessary to exclusively select either of the technology families. The interoperability solutions or application service contracts are built as if users are unsure which platform the opposite side of the communication is using; indeed, increasingly, this issue does not matter. The solutions will probably be less high-performance than those based on proprietary technology and tightlycoupled application packages, but there is an inbuilt readiness for the day when communications have to cross platform or organisational boundaries.
Using web service and SOA models also enables users to seek solutions from third parties, not constrained by the JEE/.NET families. Smaller scale technology vendors such as Intersystems or WebMethods have also accessed markets in the healthcare sector. Their solutions remain as viable as any other as long as they maintain support services and competitive connectivity features on their platforms. The technology platform choices remain crucial for application or component developers, but the main challenges have shifted from intra- to inter-application concerns such as interoperability and management of enterprise IT portfolios. And for health IT management, this is progress.