This document will describe the architectural design of an Interoperability Layer for use within the OpenHIE project. it describes the key components that should make up an interoperability layer and how this relates to the other service that fall under OpenHIE.
The interoperability layer considers of 2 separate sets of components:
Together these 2 sets of components make up an interoperability layer. These can be seen in the diagram below. In the following section we will describe each of these in more details.
This component can be through of as the entry point into the HIE. In provides some common mundane services so that other domain services don't have to implement these. This component basically just acts as a web service proxy while performing some additional functions on the incoming requests. The functions that this component should perform are as follow:
This set of components provides services that manipulate the request that are sent to them. They are often implementation specific so they will change as the use cases that the HIE supports change. Each of these components are separate services that perform a specific function following the micro services pattern (http://yobriefca.se/blog/2013/04/29/micro-service-architecture/). There are 2 major types of these services: