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
To be OHIE IOL component, the IOL application must be able to support the OHIE workflows listed below. Implementations may support only the workflows needed to support their use case:
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