End to end explanations of how GET and POST request workflows work



This document deals with how the GET and POST request work from end-to-end, from the time the request is made on the POC, to when its consumed and a response is returned by the SHR.

1) POST requests to the SHR

POST requests to the SHR are generated from the POC module.

A POST request is essentially an attempt to pass an encounter created on the POC module into the SHR. The SHR will then persist this encounter in its own database.

A POST request is generated when an user enters a form on the manage patients dashboard. This form data is converted into an hl7 message by the POC module, and passed into the interopability service. The service in turn hands over the hl7 message to the SHR service, where the data is persisted.

The role of the Health Information mediator - interopability layer

The HIM plays a vital role in the message exchange. 

Mapping patient identifiers

The HIM is responsibile for resolving patient identifiers sent from the POC to the SHR. For example,  this is how the POC decides which patient identifier to send per each request -

As first priority it will try to use the NID. If there isn't an NID it will fall back to use the Mutuelle number or the Rama number if there is one. If there are neither of these, then the POC will revert to using the OpenMRS ID instead.

However, the SHR module only accepts / identifies the 'Enterprise identifier (ECID).  The HIM supports this by converting whatever identifier the POC sends it into the matching ECID number. This ECID number is then inserted into the hl7 message, and forwarded to the SHR service.

Mapping Provider identifiers

The HIM is responsibile for resolving provider identifiers sent from the POC to the SHR.
The POC will always send the NID number of the provider to the HIM.

However, the SHR module only accepts / identifies the 'Enterprise Provider identifier (EPID).  The HIM supports this by converting the NID identifier the POC sends it into the matching EPID number. This EPID number is then inserted into the hl7 message, and forwarded to the SHR service.

2) Triggering GET requests to the SHR

GET requests may be triggerd by the following ways-

The user triggers a GET request by by adding the patient to queue on the service selection page of touchscreen module. This request is passed on to the HIM, and from the HIM to the SHR server.
The user may also trigger a GET request by manually clicking on a button which is displayed on the maternal summary tab of the patient dashboard.