Comparison of functional requirements with OpenHIE standard

4.3.1 Key Digital Functionalities Table

GovStack provided an initial set of key digital functionalities as recommendations for the Information Mediator Building Block. The following table provides updated Key Digital Functionalities (KDF), striking out and refining those that are no longer required and/or in scope.

ID

Explanation

Status

Bucket

OpenHIE

Comments

ID

Explanation

Status

Bucket

OpenHIE

Comments

KDF1

Routes requests to the correct provider after necessary message transformation functionalities and protocol conversion.

REQUIRED

Service Access

IOLF-2

The Information Mediator does not do message transformation or protocol conversion

KDF2

Connects the service requestor to the service provider and its underlying solution platforms, realizing the requested service.

REQUIRED

Service Access

IOLF-2

Maybe IOLF-6, but not orchestration

KDF3

Discovers services and, at runtime, to support the virtualization of services, so that changes to endpoints can occur without impact to service consumers and service provider.

REQUIRED

Service Access

---

 

KDF4

Supports the handling of transactions and associated communication errors and exceptions.

n/a

Workflow

IOLF-10

Note that this has been shifted to the Worflow Building Block

KDF5

Enforces access privileges and other security policies.

REQUIRED

Service Access

IOLF-1/15

 

KDF6

Maintains service invocation history and monitors and tracks service invocations.

REQUIRED

Service Access

IOLF-3

 

KDF7

Provides broadcast/multicast capabilities to facilitate faster, more resilient application design.

RECOMMENDED

Pub/Sub

 

Note that "caching" has been REMOVED from this requirement.

KDF8

Translates data from one format to another, and interoperates with handshake protocols to enable interoperability between different ICT Building Blocks duplications.

REQUIRED

Workflow

IOLF-5

Note that this has been shifted to the Workflow Building Block.

4.3.2 “Out of Scope” Functional Requirements

Initially, the following table of high-level functional requirements was provided to the Information Mediation working group, but all have since been identified as “out of scope” because they fall into the realm of the Workflow Building Block or the Security Building Block.

ID

Explanation

Status

Bucket

OpenHIE

Comments

ID

Explanation

Status

Bucket

OpenHIE

Comments

F1

Map data structures and fields from the identification system to the registration system and vice versa.

NOT REQUIRED

Workflow

IOLF-5

Moved to Workflow

F2

Hold authentication and credentials for each system.

NOT REQUIRED

Workflow

IOLF-1/13/14

Moved to Workflow

F3

Allow the definition of steps for a particular transaction.

NOT REQUIRED

Workflow

IOLF-6

Moved to Workflow

F4

Provide an API for both systems to access – and execute all necessary steps for that transaction (including error handling, retries, and notifications).

NOT REQUIRED

Workflow

IOLF-4/5/9/10/11

Moved to Workflow. This is a number of features lumped together.

F5

Provide an API for external systems to access GovStack Building Blocks.

NOT REQUIRED

API Gateway+ Identity and Access Management

IOLF-4/5/9/10/11

Moved to the Security Building Block

4.3.3 Existing Standards

4.3.3.1 OpenHIE Comparison

For comparison with existing specifications, we have engaged with Open Health Information Exchange (OpenHIE) — a global community focused on health systems interoperability. While the remit of the Information Mediator is domain-independent, we have drawn from OpenHIE because (a) a number of the initial use cases are health-related and (b) the OpenHIE community has developed a mature, well-thought-through, multi-stakeholder specification which can serve as an example (though limited) for GovStack’s purposes.

Below are the key Information mediation requirements from their OHIE architecture specification. Note that the “GovStack” column provides a cross-reference back to the above GovStack specifications.

ID

Explanation

Status

GovStack

Comments

ID

Explanation

Status

GovStack

Comments

IOLF-1

The system should provide a central point of access for the services of the HIE. For example, this interface will provide access to the CR, PR, FR and SHR. This central point of access simplifies security management and provides a single entry point into the HIE.

Recommended

KDF2

 

IOLF-2

The system shall provide routing functions that allow messages to be routed to the correct service provider systems within the HIE.

Requirement

KDF1

 

IOLF-3

The system shall provide a central logging mechanism for the messages sent through the exchange. This function should log copies of the messages that travel through the interoperability layer for audit and reporting purposes.

Requirement

KDF8

 

IOLF-4

The system should allow for the rerunning of failed transactions at a central level, alleviating the need for Point-of-Service systems to resend data, for example, in the event of a problem with an infrastructure component.

Recommended

F4

 

IOLF-5

Should support transformation of messages that travel from the interoperability layer to service provider systems and vice versa if the service provider is not able to communicate in the required format, i.e. provides implementation specific adapters to transform messages from the interoperability layer’s internal form to a form that the service provider expects (e.g., SHR, CR, PR).

Recommended

F1/F4

 

IOLF-6

The system should allow for the routing of messages to the appropriate architecture component or external Point-of-Service system.

● Performs orchestration tasks for complex transactions to take the burden off client systems. This orchestration may contact multiple service providers within the HIE on a client’s behalf and compile an appropriate response to return to the client.

● Examples of orchestration could be the execution of a care plan or the validation of elements (such as identifiers or codes) in a message against other service providers within the HIE (e.g., PR, CR, FR, TS).

● Orchestration tasks are those that are required to complete the current transaction and therefore must be executed timeously as the transaction cannot continue without these steps.

Recommended

KDF2

 

IOLF-7

The systems shall include an interface into which a workflow engine can be connected.

● This workflow engine should be able to keep track of the long running state of a patient's care and would be able to perform actions based on this context (such as sending alerts) to improve patient care.

● This workflow engine is out of scope for an Interoperability Layer. However, the Interoperability Layer is expected to expose an interface to allow this sort of systems to be implemented.

Requirement

n/a

Note that this has been shifted to the Workflow BB.

IOLF-8

The system should support the ability to be extended by allowing additional mediation functions to be added or removed as they are needed.

Recommendation

 

 

IOLF-9

The system shall support a mechanism for error management and tracking, e.g. a console for viewing failed transactions.

Requirement

F4

 

IOLF-10

The system shall allow for failed transactions to be grouped by error type and reason so that errors can be rectified efficiently by finding the root cause of the error, fixing the problem, and re-running those transactions.

Requirement

F4

 

IOLF-11

The system should support the ability for a user to re-run errored transactions through the HIE once the reason for their failure has been rectified.

Recommendation

F4

 

IOLF-12

The system shall provide authorized users with a view of metrics for monitoring the flow of messages through the HIE.

Requirement

 

 

IOLF-13

The system shall manage the security of the HIE through authentication (identity verification), authorization (permission to interact with specified HIE components) and encryption and decryption of messages.

Requirement

F2/KDF5

 

IOLF-14

The system shall support Authentication and Authorization of systems trying to send data to the HIE.

Requirement

F2/KDF5

 

IOLF-15

The system should support the encryption of data in flight (when not on a physically secure network) and at rest (whenever data is stored, e.g. when transactions are stored for logging).

Recommendation

 

 

IOLF-16

The system should capture monitoring statistics, such as transaction loads and performance metrics, and provides a view of these for monitoring the flow of messages through the HIE.

Recommendation

 

 

4.3.3.2 Gov.UK’s API Management Strategy Document

In future iterations of this specification, we may take into consideration more broad API-management standards which include multiple domains, such as those proposed by the United Kingdom's Government in their Defining an API management strategy.