November 2008

"We're not in the healthcare business; we're in the information management business. We should start thinking as information managers dealing with healthcare information, and think about the tools we need to do it properly."

2015: Advancing Canada's Next Generation of Healthcare

Developing a reference implementation of the Canada Health Infoway pan-Canadian Electronic Health Record Solution (EHRS) standard can be a useful step in ensuring the successful and cost-effective development of full scale electronic health systems in the Provincial Ministries of Health across Canada. These jurisdictions could benefit from the knowledge gained and the artifacts created in this prototype environment. The reference implementation utilizes an Enterprise Service Bus (ESB) architecture and a Service Oriented Architecture (SOA) design approach to build a Health Information Access Layer (HIAL), as recommended by Canada Health Infoway. The system components and supporting technology developed will be released as open source. This set of technology could represent a starting point for prototyping an implementation in a production environment, for creating a standards development platform, for standards conformance testing, and/or as a test bed for evaluating alternative software components in a HIAL environment.

Mohawk Applied Research Centre for Health Informatics (MARC HI) at Mohawk College, along with public and private sector partners, is continuing to build a reference implementation of the pan-Canadian Infoway standard that demonstrates the ESB/SOA approach. This article summarizes the project to date and suggests future research areas that will reduce the cost, risk and time barriers to widespread adoption of eHealth systems in Canada.

An Overview

Developing an open source reference implementation of the Canadian EHRS can be a useful step in ensuring the successful and cost-effective development of full scale systems in the jurisdictions across Canada. A project to build a reference implementation of the pan-Canadian HIAL was undertaken at MARC HI to demonstrate the feasibility of an SOA design approach and to assist in the development of a pool of knowledge around the applicable technologies, including orchestration service products, database products and a virtual machine environment.

The reference implementation was built on the pan-Canadian EHR Infostructure standard which in turn is based on Health Level 7 version 3 (HL7v3), managed by Canada Health Infoway. The standard describes a reference information model (RIM) consisting of low-level data types, medical concepts and full healthcare interactions. The Canadian implementation is a restricted subset of this international standard. A number of countries have started to use this standard as a basis for electronic healthcare records. Within Canada, all conforming systems must support the standard and the implemented interactions to ensure jurisdiction to jurisdiction interoperability.

The goals of this reference implementation are to:

  • build a set of reference interactions that illustrate the process of making the EHRS operational
  • evaluate commercial and open source tools that can assist in the development process
  • develop tools and methodologies that will assist in the creation of full-scale production systems
  • disseminate information by making available the source code for the tools developed and making available the design model of the reference implementation
  • assemble a group of software engineering and healthcare professionals for the purpose of gaining knowledge and experience in these new tools and techniques

Point of Service (POS) applications will need to develop interfaces to the jurisdictional HIALs to support interactions of concern. For example, lab systems will need to be developed or modified to support the standard lab order and result interactions. During the development process it was determined that POS applications will have difficulty in building the appropriate interfaces to the HIAL given the complexity of the messages. A current priority of this project is to build a focused domain based API that will hide the complexities of the messages to reduce the barriers of POS integration with the HIAL.

Project Stakeholders

A number of participants have become active stakeholders in the project:

Mohawk College: Mohawk provides a home for the project, including: i) key development/design leadership; ii) information technology (IT) resources for hardware and software; and iii) administration, management and governance services. Mohawk will benefit from its participation in the project by: i) enabling faculty and students to participate in a leading-edge IT project; ii) developing partnerships with leading private and public organizations in the eHealth marketplace; and iii) creating an applied research foundation for a possible diploma program in health informatics.

Canada Health Infoway: the project scope and direction is guided by the pan-Canadian EHRS blueprint developed by Infoway. Infoway will also provide guidance through the activities of its Standards Collaborative and through its ongoing involvement on the project steering committee. Infoway will benefit from its participation in the project by: i) tracking successes/failures of the project and feeding lessons learned back into the pan-Canadian eHealth standards development process; ii) leveraging fact-based metrics regarding the performance of the reference implementation to encourage adoption of the pan-Canadian standards by its partner jurisdictions; iii) affording vendors an opportunity to test new product developments and integration adapters against a standards-compliant reference implementation; and iv) affording partner jurisdictions an opportunity to prototype standards-compliant systems using the reference implementation as a basis for their regional EHRS initiatives.

Private sector partners: the project cannot succeed without the participation of private sector partners. They will provide direction through their participation on the project steering committee and necessary financial and in-kind support (hardware, software, training) to the College. Private sector partners will benefit from their participation in the project by: i) developing demonstrable, hands-on expertise regarding the pan-Canadian EHRS blueprint and its companion standards; ii) developing or configuring proprietary companion product and service offerings that are demonstrably compliant with Infoway's EHRS blueprint and standards; iii) being able to communicate evidence-based assertions regarding compliance and/or performance characteristics of their product offerings in the context of the pan-Canadian EHR; iv) cultivating relationships with other leading private and public sector organizations in the Canadian eHealth market space; and v) building brand as a leading-edge organization involved in state-of-the-art EHRS development.

EHRS jurisdictions: in Canada, an EHRS is provided or hosted by a jurisdiction and the end-users are the healthcare providers in the province, territory or region served by the local EHRS. These two tiers of customer are represented on the project advisory board. These stakeholders benefit from their participation in the project by: i) providing guidance regarding which project activities will most directly address the pressing needs of jurisdictions and care providers; and ii) being able to reduce their implementation risk by basing EHRS pilot project and/or procurement decisions on technologies and IT approaches that have been successfully prototyped in the college's development environment.

Prototype Development

This project uses an iterative approach of design/build/refine/repeat to implement the pan-Canadian blueprint for the EHRS. An Agile development process was used with the focus of getting a limited functional system up and running as soon as possible. The Agile process is ideal when the team is small, the project has a very focused set of deliverables, and the outcome will be used as a starting point for further development. This approach was selected as an ideal fit given the initial set of conditions of the project as stated below:

Tight time frame. Initially the project was given a four month period to demonstrate feasibility. Creating a functional sub-set of interactions was the prime focus.

Limited resources. The project started with a single university faculty member with two part-time senior third year students.

Limited knowledge of domain. The original staff allocation on the project was one software engineering faculty and student developers who had limited knowledge of the healthcare domain. The focus of the initial development was limited to patient discharge interactions.

The interactions in an interoperable EHRS consist of PUT, GET and LIST interactions. PUT interactions require that data about a discharged patient be placed into the data repository. LIST operations retrieve summary information based on specific queries to the EHRS. GET transactions are used to return detailed information around a specific transaction.

A limited physical architecture was deployed to support the prototype development. It consisted of three Intel based server class computers running enterprise based virtual machine management software. The selection of a virtual machine hosting environment was selected to allow flexibility in the construction of the required underlying implementation, which has grown to approximately 40 servers.

The software design consists of an ESB implemented through the use of orchestration engine software. Each of the components in the HIAL has been set-up on a separate virtual machine instance, usually with a web-service which exposes the functionality. Each of these services communicates to a dedicated data repository or external service within or outside of the HIAL. The design allows for development of alternative implementations for a particular component of the HIAL and a straightforward mechanism for swapping components. Microsoft BizTalk software was selected as the orchestration software since access to this software was available through an MSDN college license. The initial web services were developed in Visual Studio .Net 2005. Phase 1 of the project used this infrastructure to complete the discharge interactions in early January 2008.

Creating a Demonstration System

Upon successful demonstration of the patient discharge interactions, the project was expanded to include a private sector development partner (Satyam Computer Services Limited) who contributed an off-shore development team and financial resources to the project. The team at MARC HI was also expanded to include a second computer systems faculty member, two recently graduated developers from the Computer Systems Software Engineering Technology program, and three part-time students from the same program. This newly expanded team was used to do the following:

  • complete a set of transactions for patient referral
  • create a simple POS application for discharge and referral
  • create a visualization tool to illustrate the HIAL interaction processes
  • develop a set of transactions around health system management

The health system management project was undertaken with the Canadian Institute for Health Information ( CIHI). CIHI is an independent not-for-profit organization that provides analysis of healthcare information for Canadians. Currently, this analysis requires the collection of de-identified data from many disparate agencies and systems. Performing this task requires significant effort. The project with MARC HI provided a demonstration of a process that could both speed up the access to data and remove the requirement for manual transcription.

In May 2008, the working prototype from MARC HI was demonstrated at the 2008 Canadian eHealth Conference in Vancouver, BC. Infoway, CIHI, Oracle Corporation, ORION Health and a number of industry participants contributed to the demonstration. This was the first time a fully functional HIAL had been constructed and demonstrated based entirely on the Infoway blueprint. The demonstration of the system has been regarded as a success by those who participated in the EHRS interoperability showcase.

In July of 2008, MARC HI and Infoway made a joint charter project submission to the Open Health Tools ( OHT) consortium. Upon final acceptance of the submission, the source code and tooling developed will be released through OHT as open source software.

Project Discoveries

The national strategy of Canada is to move to electronic medical records by implementing the Canada Infoway model. This project has made a number of discoveries during the initial application development. The most significant discoveries are listed below:

Design process: the Agile process was ideal for the initial development of discharge interactions. A small team that communicates frequently (almost continuously) and has a focused scope can complete a challenging project. Using the process with the off-shore team required refinement as time-zone issues and reduced face-to-face interaction proved to be challenging. The development process evolved into a more traditional model where the design specifications were developed on-site at MARC HI and implemented by the off-shore team. Again, frequent communication was required to keep the development process on track.

Tooling: the current tools available for manipulation of HL7v3 messages are limited and difficult to use. The messages are complex from both a modeling and implementation viewpoint. From a modeling perspective, the messages are designed to minimize ambiguity of information. This goal has been recognized as a key component to providing a framework that can ultimately provide full interoperability. However, this design approach has resulted in a complex message structure. The HL7v3 implementation technology specification (ITS) as selected by HL7 is XML. The XML has been designed with a full set of schemas that describe the content requirements of a valid XML message. These schemas are very complex since they have been designed to describe completely all possibilities for the transaction. From a developer perspective, this can be intimidating upon initial inspection. Current automation tools have limited success with the schemas and some tools fail completely. In terms of timeliness and in producing code that is useful to the developers, the current state is less than optimal.

Limited application programmer interfaces (APIs): one of the difficulties with the HL7v3 XML/ITS is the level of complexity. Existing automation yields an extremely cumbersome object model which consists of many levels of encapsulation. A domain focused API could solve this issue, but to date the APIs developed have been too abstract to provide this advantage.

Experienced developers: the lack of sufficient trained software developers is also proving to be a significant issue in rolling out full-scale production systems. The reasons for this include: i) XML and web-based services architecture technologies are relatively new, appearing within the last 5 years; ii) demand for well trained developers exceeds the current supply and will for the foreseeable future; and iii) enterprise based software for developer training is not widely available and can be expensive for small sized developer organizations and training institutions. In short, few organizations are investing sufficiently in the infrastructure (people and systems) to support the required development effort.


Two areas have been identified to offer the most promise to the future of the interoperable EHRS:

  1. Domain API. The design of a domain focused API could significantly ease the building of new applications and at the same time reduce the barrier to existing developers in the healthcare domain. The main goal of this type of API would be to shield the developers of POS applications from the complexities of the XML ITS. Creating an open source solution that could form the basis of extended and customized solutions in the commercial space is currently of prime interest to this project.
  2. Training. The area of ESB and web services within the healthcare domain requires the education of developers and architects. Specific courses to bring current developers up-to-speed in the technology is an area that requires significant investment and effort. In addition, students being currently educated in computer systems programs need the opportunity to include optional courses in the healthcare domain to enable them to provide value to future employers. The need for new programming talent in this area has been identified as a significant risk to successful full-scale implementation of interoperable EHRS in Canada.


The EHRS project at MARC HI has accomplished a great deal in its initial phase. The demonstration of a successful system has instilled confidence in the development community that the Infoway design can be implemented as specified. A number of challenges remain that will be the focus of future research. The prime focus is the development of an appropriate API that will reduce the barriers to full-scale production implementation.

Recommended Resources

Information Governance of the Interoperable EHR

2015: Advancing Canada's Next Generation of Healthcare

Share this article:

Cite this article:

Rate This Content: 
1 votes have been cast, with an average score of 3 stars