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:

    • https://openimis.atlassian.net/wiki/spaces/OP/pages/3380871169

    • 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

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/