Within the OpenHIE project there are a few major functions that a Interoperability Layer should perform:
Provides a central point of access for the services of the HIE
Provides routing functions
Provides a central logging for auditing and debugging purposes
Provide orchestration/mediation mechanisms to co-ordinate requests
In order to perform the above there are a few standard profiles that the IOL must support:
The IOL is used in most OpenHIE workflows to co-ordinate requests, provide visibility into the exchange for debugging purposes and to authorise clients. Please see the list of OHIE workflows for additional details around how the IOL is used in each case.
In addition to the above an IOL should closely match the requirements defined by OpenHIE as can be found here.
An OpenHIE component should consider the following OpenHIE Non-Functional Requirements - Draft