
Translating Requirements into a Solution
Given the business and technical requirements in the previous sections, this section
introduces some of the basic design principles to be used to arrive at a technical
solution.
Leverage the Internet
The connectivity and reach requirements of the network imply that a cost effective
solution cannot rely on a new network infrastructure being laid for the specific
purpose. Private networks are inherently expensive to setup as well as to maintain.
Hence, the solution proposed must work across the readily available internet infrastructure,
but still provide the necessary measures for providing privacy and security.
This means the solution must use internet protocols such as web services over HTTP/S
(Hyper Text Transport Protocol over Secure Sockets Layer) to communicate between
the different nodes in the HIE/RHIO.
Reliable Messaging
In a networked system of RHIO and provider nodes, it is not always possible to ensure
that all the nodes will be available at all times. This is especially the case with
nodes that are deployed at physician or hospital sites. In order to provide reliable
communications between these nodes, the system should implement a reliable messaging
infrastructure to handle intermittent outages of different nodes at different points
in time.
Distributed, Centralized and Hybrid Models
The scale requirements of the HIE/RHIO call for a distributed model of operations
and deployment. On the other hand, there is a definite need to retaining a central
repository for enabling patient lookups and also maintaining core longitudinal information
for availability purposes (e.g. when you need key health information about a patient
in the ER, the access needs to be fast). In order to satisfy both requirements,
the system will contain services both at the central (RHIO) level, as well as enable
different participating peers to communicate directly with each other. By encouraging
peer-to-peer (a.k.a. distributed model), yet also supporting a centralized model
seems like it will get us the best of both worlds.
Dynamic Collaborative Applications
The healthcare network, once deployed will be an “always-on” solution. As more and
more providers start relying on the system, it becomes mission critical and will
not withstand outages or downtime to accommodate deployment of additional applications.
Hence the platform must allow for centralized control over the deployment and maintenance
of the different applications deployed on it. This means each RHIO may at any time
decide to deploy additional applications as and when they are developed and certified,
and these applications should be dynamically provisioned or sun set without any
downtime to the component nodes.
Patterns of Integration
The system should enable a predefined set of integration and interaction patterns*
that allow for third party vendors and agencies to create certify and deploy new
collaborative applications. These patterns need to be documented, reference implementations
made available to prospective developers and a certification and testing process
put in place to validate them.
* A pattern is fully specified reusable integration and interaction model that can
be reused repeatedly. E.g. “Request-Response” is a pattern where a client requests
for some service to be performed and the server responds with a response when the
processing is completed.