Modular Migration: Open Issues

Contents

On this page we collect migration issues that will still have to be looked at for a full migration to the https://openimis.atlassian.net/wiki/spaces/OP/pages/606208025 .

Current Migration Projects

Custom Modifications

  • Impact: depends, will have to be collected per country by implementation partners

  • push for customizations based on module configuration

Custom Modifications in Nepal

  • - warning about project success due to budget constraints

  • (tender in preparation as part of a general openIMIS maintenance contract) :

  • a lot of custom functionality:

    • establish list of functions that need to be migrated

      • prio 1: existing modification in legacy / hybrid version:

      • prio 2: new feature requests (must)

      • prio 3: new feature request (nice to have)

    • develop:

      • migration of database structure

      • prio 1: existing modification in legacy / hybrid version:

        • claim

        • enrolment

        • configuration

        • reports

        • mark mandatory fields - might be possible to do afterwards

      • prio 2: new feature requests (must)

        • reports - migration of current system to DHIS2

      • prio 3: new feature request (nice to have)

Custom Modifications in Tanzania

  • budget discussion might not allow a migration within the current contract - future strategy in TZ unclear

  • payment layer through REST API - dedicated API for GePG (Government ePayment Gateway)

    • MUSE API exists (will not be changed) - fully based on modular version

    • GoThomis - will TZ move to FHIR? (budget)

    • AfyaCare - will TZ move to FHIR? (budget)

    • GePG API exits in legacy

      • needs to be migrated to modular architecture (as a custom API)

  • capitation payment,

  • commission

  • Covered by :

    • GePG not covered for the implementation in TZ, but support in global components might be possible

    • mobile apps on REST API is migrated to FHIR APIs

      • The apps are being adapted so that the API calls can be dispatched to one interface or another

      • Meeting to be organized with Christophe/Benjamin and STPH to see what can be done for the payment parts

    • specific reports → migrate to ReportBro

    • Download master data (claim mobile app)

      • list of beneficiaries

    • Scheme Funding (“Matching Funds“)- distribution per region (currently done via fake families)

      • The code is there but was disabled some time ago

      • Could be done

  • capitation payment configuration in Product

  • batch run

    • capitation payment SP

    • batch run SP

Custom Modifications in Cameroon

HIV

  • report on migration needs done by STPH (-> Implementers) - covered in

EDUCASH

  • Cash-Transfer scheme => to be migrated to modular?

Custom Modifications in Gambia

  • Cash-Transfer scheme is in progress of migration

Custom Modifications in Niue

  • Cash-Transfer scheme is in progress of migration

REST API

  • Impact:

    • Mobile Apps will not work any more

    • GOTHOMIS & Payment Layer in TZ

    • stuck to MS SQL because of stored procedures that are called from REST API (ca. 45)

  • Discussion:

    • C#-part can be re-used, but depend on stored procedures → will be migrated

    • - needs to be compiled for .net core per Windows and Linux (done in Docker)

    • - Added to Docker packaging

      • - issue with env variables (ex. DB connection string)

      • - sharing of files (ex. Insuree pictures)

    • - Test REST API against PostgreSQL - not practical as REST-API will not be migrated on PostgreSQL

    • list of interactions with DB: - will not be needed after

      • mobile app for claims

      • mobile app for registration

Stored Procedures

  • Impact: depends

  • Discussion: need to list remaining stored procedures that will not be migrated

Lock Mechanism

  • will need to be migrated to PostgreSQL?

  • testing - PostgesSQL uses low isolation level by default - might solve the problem

    • needs large data DB

    • in combination with report migration

    • develop.openimis.org

  • might not be needed, documentation on how to approach potential problems

MS-SQL Driver in Django

  • Impact:

    • Custom Access to MS-SQL DB

    • affects JSON-B column access

    • hinders upgrade to Django 4

  • Discussion:

    • only a problem as long as s.o. is using MS SQL

    • maybe there are new drivers

    • solved - there is an official MS driver for Django now

DB-Initialisation Script

  • Impact:

    • new installations (new, empty DB) not yet using all attributes

    • migration script need to know DB version to adjust to all scenarios

  • Discussion:

    • DB - initialisation:

      • two separate INIT scripts for PostgreSQL & MS SQL available

    • legacy migration:

      • migration script for the legacy data available

    • future development will be against PostgreSQL

      • other DB will have to use Django Migration scripts to fork to their DB system (automatically through Django “make migration“ - might need manual adaptations)

    • documentation needed

      • most is done automatically at startup

      • create a link in each release note point at a migration path for that version with manual exceptions

      • testing of the documentation is needed

Reports

  • List of reports: Wiki: , migration status:

  • which reports still need to be migrated? which ones are still used?

    • some reports don’t work

    • list of reports to all sites with feedback on what they are still using (no nice-to-haves!)

    • also have a look at

  • migration of reports

  • use of Kibana and OpenSearch in the context of CORE-MIS migration is out of scope

Documentation How-To / Best-Practices of Migration

Admin Tools

List of tools that make it easier for windows server admins to switch to linux/postgresql.

If your desktop computer / server usually uses a package manager to install software (e.g. Linux distributions), try installing the package from the standard repositories of your system first.

Domain

Name (link)

Browser

Linux

Win

FOSS

Description

Domain

Name (link)

Browser

Linux

Win

FOSS

Description

DB Admin

 

Comfortable PostgreSQL DB Admin tool

SQL Client

 

Comfortable Visual SQL client with ER diagrams

SQL Client

SQuirreL

 

simple SQL client

Server Monitoring

 

 

Server statistics daily / weekly / monthly

Server Admin

 

 

web-based server administration

Explain Plan Analyser

 

 

Visualise query execution plans:

 

 

Did you encounter a problem or do you have a suggestion?

Please contact our Service Desk



This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/