Software Maintenance, Release Management and 3rd Level Support
The specific aim of the tendered services is to maintain the openIMIS software distribution and to support smooth operations of existing and new openIMIS implementations. Customization to specific requirements from countries should be included into openIMIS in case of general interest and relevance. The maintenance & development initially relates to the Microsoft based openIMIS legacy version. Step by step, this will also concern new software components written in open source technology.
I. General Terms of Reference for the Firm of Consultants
a. General Conduct
The here tendered service package falls under the outcome 1 "An active network of developers and practitioners continuously advances the openIMIS software core, modules and country specific adaptation". The following outputs were defined for this outcome 1:
The openIMIS source code is publicly accessible under an open source license for country-specific customisation.
A community of open source software developers is established and active.
A feedback exchange between developers and actual users is facilitated regularly.
The work of the Firm of Consultants will contribute to the achievement of outcome 1.
The staff members seconded by the Firm of Consultants must cooperate closely with the GIZ project officer who is responsible to BMZ for the German and Swiss contributions to the openIMIS Initiative and the programme officer appointed for this contract. All activities of the Firm of Consultants has to be done in line with and on the basis of ongoing activities of the openIMIS Initiative to achieve all programme outputs (see chapter 1.I.).
Ongoing activities that have to be taken into account and built upon during this assignment are:
a commission on community building and regional support structures. This activity is supplemented by additional contracts for two regional openIMIS hubs in South-East Asia and Sub-Saharan Africa.
a commission on transitioning the openIMIS architecture into a modular design in an open source development framework.
a co-funded pilot project on the modular transformation of openIMIS co-ordinated by the Digital Square platform.
Developments that may lead to difficulties in a later project phase should be identified as quickly as possible. Furthermore, in view of the focus on results described above, results monitoring is crucially important. An efficient monitoring and evaluation system must therefore be proposed and set up that allows all entities of the openIMIS governance structure, the Firm of Consultants and the GIZ Sector Initiative Social Protection to monitor project progress. Progress reports are submitted quarterly based on a format which will be agreed upon during the inception. Regular feedback sessions may be convened by the GIZ Sector Programme Social Protection depending on the progress of the assigned tasks. The Firm of Consultants is expected to respond to changes flexibly, especially if the project is in danger of straying from outputs mentioned in Chapter 1.
b. Integration into the Existing openIMIS Structures
The openIMIS initiative builds upon an existing software for health insurance management that is being used by insurance organisations in three countries already. Continuous support for smooth operations of those legacy implementations is key to this commission. Besides simply operating openIMIS, these local organisations also support the openIMIS with own code developments, which need to be integrated into the core system on a regular basis.
The existing communication channels and community platforms that were established by the openIMIS Initiative shall be used. Specifically, these are
Within the openIMIS governance structure regular exchange meetings are foreseen for different stakeholders, some of which are also relevant for the Firm of Consultants. In the context of this commission, the Firm of Consultants is currently especially expected to take part in the weekly calls of the IT & Product Group but might be invited for additional events.
c. Co-operation with Partners of the openIMIS Initiative
In order to achieve its aim, the openIMIS Initiative is co-operating with various international partners and sub-contracting other consultants. The Firm of Consultants is expected to work together with these partners in a co-operative and friendly way, respecting and supporting the work of others and disclosing relevant information where necessary. Apart from the consultants that work on the ongoing activities mentioned in chapter 2.I.a and those who work on short term consultancies, the openIMIS initiative currently co-operates closely with other players such as the Open Health Information Exchange (OpenHIE) community or other open source software projects in the health sector. Finally, it can be expected that free implementers and developers who are interested in the project want to associate and contribute to the project. The openIMIS Initiative has a special interest to nourish this kind of relations.
d. Open Source Policy
Being an Open Source project itself, the openIMIS initiative strongly supports the use of Open Source Software in the given context. The Firm of Consultants must be willing to use Open Source Software where possible and at the same time accept that the openIMIS Initiative might release any code that is being produced in the project under an Open Source Software license. For non-software items such as documentation or training materials, a Creative Commons license will be applied.
e. Previous Results in the Maintenance and Support of openIMIS
The openIMIS Initiative together with other development partners has previously supported the maintenance and support of the openIMIS product. The results include among others:
A harmonised master version was created from the country specific adaptations of the openIMIS software package and made available in a public code repository. It is updated regularly with recent code contributions. (https://github.com/openimis)
A technical roadmap was developed as a living and constantly updated technical document based on a series of workshops with different stakeholders, code reviews of the master version and ongoing technical strategy discussions.
Community platforms were set up as resource repositories and communication channels for the openIMIS community (compare chapter 2.I.b).
f. Data Protection
In the course of the commission, the Firm of Consultants might be exposed to data on health issues and financial transactions of individuals. The Firm of Consultants is expected to treat any personal information of individuals according to the highest applicable data confidentiality standards. At the same time, the Firm of Consultants is expected to contribute to the security of individual data by applying adequate quality standards.
II. Detailed specifications
a. Aim and Objectives of the Project
The specific aim of the tendered services is to maintain the openIMIS software distribution and to support smooth operations of existing and new openIMIS implementations. Customization to specific requirements from countries should be included into openIMIS in case of general interest and relevance. The maintenance development initially relates to the Microsoft based openIMIS legacy version. Step-by-step this will also concern new software components written in open source technology.
In order to achieve the aim of the project, the following objectives shall be pursued:
Implementers of openIMIS are supported on issues that are related to the source code of the openIMIS distribution (3rd level user support)
The existing code base is managed and kept up to date (software maintenance).
New software releases are managed and published on a regular basis (release management).
b. Specific Tasks of the Project
The three objectives above translate directly into the following work packages that the Firm of Consultants will be expected to complete. Note that the work packages are strongly interrelated and require an integrated approach.
Work Package 1: 3rd Level User Support
Provide remote, technical troubleshooting support, based on clearly defined service level response times that reflect the sensitivity of financial transactions related to the provision of health services.
Constantly monitor the public issue queue and review single issues in a timely manner.
Together with the implementers, discuss issues and further refine them into the appropriate channel of the change process.
Implement bug fixes and back ports if needed.
Publishing all information and solutions in a timely and participative manner on the appropriate platform.
Support community managers, trainers and higher support levels with technical expertise. This includes support during technical workshops and product presentations.
Maintain real-time statistics on volume and distribution of user support issues and their solutions.
Work Package 2: Software Maintenance
Proactively analyse and quality check the existing source code and propose technical changes and fixes via the issue tracker where needed (e.g. security fixes or performance optimizations).
Programming of new functions as part of the release cycle.
Manage external code contributions (pull requests) and integrate them as appropriate within agreed service level response times.
Closely co-operate with the modular transformation project and initiate changes that allow an appropriate modularisation of the legacy system as well as a smooth integration of the new components of the new architecture.
Do extensive developer and integration tests.
Assess all changes according to their effect on the upgrade process for implementers and on communication interfaces, especially after data model changes.
Document all changes in the appropriate platforms (including inline code documentation) and initiate secondary documentation changes (e.g. user manuals, translations).
Work Package 3: Release Management
Manage the release cycle and ensure the timely delivery of new releases according to the release plan for updates regarding existing functionality (bug fixing, small functional changes) and new functionality (including changes to system architecture, interoperability and modularization).
In close co-operation with the modular transition project establish a building and packaging mechanism that allows a full install of the software and a successive integration of the work results of the modular transition project.
In close co-operation with the community building project coordinate user and developer communities to capture change and feature requests.
Draft and review change requests together with the requestor and identify the importance of change request.
Approve developers contributions to source-code (pull requests) and harmonize implementation specific changes into the generic master version.
Manage release priorities and identify updates to be included in a release in close co-ordination with the Program Coordination Desk
In accordance to the release schedule suggest an implementation work-plan for releases to the release committee and to the technical advisory group (TAG).
Ensure proper quality assurance of changes through diverse testing mechanisms regarding their functional validity, their proper integration into the master version, the performance and vulnerability of the system and also the acceptance by the end users.
Ensure documentation updates and the upgrade of the demo server to the new release.
Release the new version and inform all stakeholders via the defined communication channels.
Provide basic support to user organisations who want to upgrade openIMIS to a new version of the software.
c. Expected deliverables
The following deliverables are expected from the Firm of Consultants:
Inception report to be submitted 4 weeks after commencement of services specifying a work plan and a technical roadmap for the planned activities for each work package.
At any given moment the issue queue may not contain any user request in a status that does not comply to the agreed service levels.
The agreed number of software releases was done, each providing a fully installable installation package.
The openIMIS source code repository contains a branch of the complete code needed for a complete installation package of any openIMIS release.
The openIMIS source code repository contains not more than the agreed number of unattended pull request, especially regarding the developments from the modular transformation project.
One release recommendation document for TAG on prioritization of bug fixes per release.
The demo server is updated to the latest release one day before every public release announcement.
For each openIMIS release a document freeze exists, that reflects the full functionality of the respective software release on the day of the public release announcement. Each document freeze includes the complete technical and user documentations, an installation and an upgrade guideline.
Quarterly reports and updated work plans to be submitted by the 5th day of every third month after the acceptance of the inception report.
Final report based on a GIZ reporting format to be submitted on 15.06.2020.
Did you encounter a problem or do you have a suggestion?