ColdTrace Integration
Additional Materials:
Â
Integration Tech Notes
The integration relies on a simple API call to a server owned and managed by Nexleaf. Â The API spec is located at this Google Drive location, and also attached to this page (ColdTrace_OpenLMIS_fridge_status_and_stat_api.docx). Â Note the API expects the username and password passed in plaintext. Â Even over SSL/TLS, this is clearly not a good practice, but is all Nexleaf supported.
The integration is fairly simple: Â when one of the integration points is invoked (such as the "View Cold Chain Status" button), OpenLMIS issues a call to the Nexleaf API and uses the reply to populate data in the OpenLMIS display. Â
The base URL, username and password are stored in the OpenLMIS properties file. Â A fourth property lists which distribution zones are running Cold Trace. Â This list helps the UI decide if Cold Trace data should be displayed, and used as a filter in the API request to Nexleaf. Â An example of the property file entries:
nexleaf.api.user = username
nexleaf.api.pass = password
nexleaf.api.url = http://uar.coldtrace.org/coldtrace/api/v1/fridges
nexleaf.deliveryZones = norte-gaza, sul-gaza, norte-niassa, sul-niassa, rota-1-tete, rota-2-tete, rota-3-tete, rota-4-tete, rota-5-tete, rota-6-tete
This deliveryZones filter is important, as when OpenLMIS asks Nexleaf for data, it is always in the context of a particular facility/delivery zone. Â Nexleaf expressed concern that the data size would be too great, and were in fact believing and hoping OpenLMIS would cache the data, refreshing only on regular intervals. Â This was outside of previously agreements, so Nexleaf implemented the delivery zone filter. Â A description of the filter as written by Soldevelo is attached: Â coldtrace-conf.pdf
Â
Â
Â