iSantéPlus is setup to be the primary actor for all interactions with the SEDISH platform. The iSantéPlus clinic application initiates all interactions with SEDISH. The clinic pushes changes from the clinic to SEDISH and pulls all updates that it would expect from the national to local levels. We chose this architecture due to the operational environment in Haiti where the power and internet goes down regularly and we need to maintain clinic activities regardless of the availability of these services.
We have built tools that allow the clinic to query the Master Person Index and push encounters to the shared health record. If the internet is down, we have also built a queuing mechanism that stores failed messages in the iSantéPlus database and Mirth will retry the messages on a regular schedule.
This has a number of implications on the exchange of messages with other systems. We have scoped a direct clinic level integration between OpenELIS and iSantéPlus that exchanges standard HL7 v2.5.1 messages.
We have also scoped a national level integration between the iSantéPlus clinic and the national lab (LNSP) that utilizes SoftLab (SCC). This integration requires mediation by SEDISH, specifically the XDS repository, to exchange lab orders and results. When thinking through this integration, we realized that a direct connection between 100+ clinics and SCC wasn’t feasible. One item is that it would require a public IP address for each iSantéPlus clinic. Instead, we aim to package each HL7 v2.5.1 message in an XDS.b package and send it from the clinic to XDS.b repository. Once received by SEDISH, a notification will be sent to the national lab that a new document is available. The lab result works in the opposite direction, but the notification queues at a notification endpoint that sits in SEDISH and can be pulled on a regular schedule from the iSantéPlus clinic.
- Registration Core does the registration integration with the MPI
- Registration App displays results in the UI for end users
- XDS Sender - packages encounters as XDS packages and sends them in realtime to the XDS.b repository
- Outgoing message exceptions - Listens for failed events from registration core (PIX messages) and the XDS Sender. If there is a failed event, this module stores the message in the database.
- MIrth - responsible for automatically retrying the messages that are queued in the Outgoing message exceptions module
Design Specs: The following design specifications are a work in progress and are being negotiated with partners.
- iSantéPlus OpenELIS Software Requirement Specification
- National Lab Interoperability Functional Requirements Document