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 Target Technology Stack .

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

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 Project: 2022.T1c Modularisation III :

  • capitation payment configuration in Product

  • batch run

    • capitation payment SP

    • batch run SP

Custom Modifications in Cameroon

HIV

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: https://docs.google.com/spreadsheets/d/1XdamXxLejmPRzM5xN8dCSPSIbfNv1PgJ/edit#gid=1496686413 - will not be needed after

      • mobile app for claims

      • mobile app for registration

Stored Procedures

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:

    • Database compatibility PostgreSQL & MS SQL Server

    • 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

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

https://www.pgadmin.org/

 

Comfortable PostgreSQL DB Admin tool

SQL Client

https://dbeaver.io/

 

Comfortable Visual SQL client with ER diagrams

SQL Client

SQuirreL

 

simple SQL client

Server Monitoring

https://munin-monitoring.org/

 

 

Server statistics daily / weekly / monthly

Server Admin

https://cockpit-project.org/

 

 

web-based server administration

Explain Plan Analyser

http://tatiyants.com/pev/#/plans/new

 

 

Visualise query execution plans:

 

Config Builder

https://www.pgconfig.org

 

 

build config files for PostgreSQL databases in different use-case scenarios based on hardware parameters

 

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/