OpenSRP leverages several popular open source platforms combined with new open source technologies that were developed to make it easier to create interactive and intelligent mobile interfaces. The mobile client consists of an Android application optimized for tablets and smartphones. Data entry is done through Enketo webforms and native Android forms, which support multiple languages, calculations, skip logic, constraint checks, etc. Forms can be authored with XLSForms. The app works offline and can sync data intelligently when there is an internet connection.
The OpenSRP backend server is CouchDB, which provides the ability to store client records in a document-based database for easier storage and retrieval. The CouchDB server syncs client data to OpenMRS, which can be used as a backend EMR store for patient data. Updates made in OpenMRS can sync back to the OpenSRP server and client applications as well. All data in OpenSRP is mapped to the global CIEL concept dictionary. Several modules in OpenMRS, including the Team Management Module (TMM) and DHIS2 Location Import Module, are used to manage team and user permissions and to import location hierarchies from DHIS2, respectively.
For more information on the technologies and platforms used in OpenSRP, see the system diagram.