Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • This service would handle requests from other services–Requisition service for MVP, but other services in the future like stock management or informed push
    • Input: a program data composite (facility, program, processingPeriod, and possibly isEmergency)
    • Output:true/false depending on whether that program data is complete
  • To answer these requests, it would make an external call to DHIS2 to get relevant data (integration piece)
    • Authenticate with a DHIS2 "admin" user dedicated to OpenLMIS integration
    • Call to DHIS2 APIs, probably /api/<version>/dataValueSets
    • Input: a mapped program data composite (facility maps to orgUnit, program maps to program, processingPeriod maps to period)
    • Output: dataValueSet result, with completeDate if program data is complete)

A diagram with the interactions:

Gliffy
imageAttachmentIdatt112580206
baseUrlhttps://openlmis.atlassian.net/wiki
migration1
nameProgram Data Tech Design
diagramAttachmentIdatt112580202
containerId112577121

A look at how this proposal fulfills the MVP requirements:

  • No offline support for now - DHIS2 has support for "intermittent connections" (based on info received from DHIS2 training); it is still uncertain at this time if it has full offline support
  • No integrated look and feel - since there is no requirement here, DHIS2 would be sufficient to fulfill this
  • Have a form designer to support basic forms - DHIS2 does have tools to design forms, although it is unclear at this time how fully-featured forms can be made. Based on looking at the DHIS2 demo (https://play.dhis2.org/demo/dhis-web-dashboard-integration/index.html), basic forms should be possible to do
  • Have a single "admin" user for access - Since DHIS2 does have authentication support (including OAuth2) and appears to have some RBAC, it should be easy enough to create an "admin" user for OpenLMIS to use

...