Backend
Location 1.X uses a custom API to retrieve Org Unit data from a DHIS2 instance with custom attributes. The information is retrieved from a replica server to minimised direct impact on the production database of DHIS2. For 2.0 we need to continue using a custom API, as DHIS2 standard API is not able to perform geo-search operation. We will also continue using custom DHIS2 attributes to store information for a location that it is not part of the standard DHIS2 Org Unit default properties.
Locator 2.0 will also allow FHIR as a data source. Hence, to the extend possible, custom attributes in DHIS2 will be aligned to FHIR concepts, and when appropiate, we will store information on a FHIR format.
Frontend
Locator 2.0 will be delivered as a generic javascript library, with can in principle be incorporated into any web development or even a mobile application (online only).
...
Frontend
Locator 2.0 is delivered as a generic javascript library, with can be incorporated into any web development or even a mobile application. This allow a better experience, as organizations using the solution can keep users on the same URL, as well as customize the style to present a cohesive user experience
...
Backend
The information shown in Locator 2.0 can be sourced from either a DHIS2 server or a FHIR server.
When connecting to a FHIR backend, information can be efficiently fetched from a FHIR server without any further development. This includes searches based on proximity to the client’s current location.
For DHIS2 based implementations, DHIS2 API does not provide a mechanism to query Organization Units (DHIS' representation of locations) based on a given geo-location. Hence, we have developed an API that access the Postgres database that DHIS uses, using a special geo-spacial library to optimized geo-queries (PostGIS).
Additionally, we use OpenHIM to connect to either the DHIS2 Locator API or FHIR backend. OpenHIM provides security and detailed login on the use of the backends.