Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »


Docker (intro)

  • Base principles of Docker (image vs. container,... ) and Docker compose
  • DEMO: Using Docker to start a mssql database and restore (current) openIMIS backup
    • Configuring Microsoft Docker image in Docker-container yml file (mounting volumes,...)
    • Trigger image download and launch container:
      • docker-compose up imis-db
    • List running containers:
      • docker container ls
    • Connect to docker: 
      • docker exec -it openimis-poc_imis-db_1 /bin/bash
    • ... and, within the docker, restore database:
      • /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [demo] FROM DISK = N'/bck/demo.bak' WITH REPLACE, MOVE 'CH_CENTRAL' TO '/data/DEMO.mdf', MOVE 'CH_CENTRAL_log' TO '/data/DEMO_LOG.ldf'"

"All proxy" modularized frontend configuration

Implementing the Location backend module

  • Reverse of imis (mssql database) into django model:
  • python manage inspectdb > reverse/models.py
  • Moving the tblLocation and tblPayer to own module and fine tuning the model (Foreign keys,...)
  • python shell and navigation in model
  • exposing Location via the django /admin console
  • exposing the Location in json:api
  • exposing the Location in dynamic rest api

Replacing the locations_proxy by react locations implementation

  • Creating the Location react component and binding to rest api
  • Displaying Payers info within the Location detail, without hard dependence between module:
    • The PayersOfLocationList.js contribution
    • The LOCATION_SELECTED redux event

Database switch

  • Switching from managed = False to managed = True in django model
  • Changing the table name convention (prefixing by module name,...)
  • Clearing and regenerating migrations 
  • Switching database and recreate the database structure
  • Moving data from mssql to postgres
    • via CSV
    • via JSON... and JSONB column (via pgfutter)... some JSONB features

Module refactorings

  • adding a uuid to models
  • adapting the generated migration script to generate the uuid on existing database

Adopting FHIR as core data model

  • Using fhirbase to generate the FHIR database schema
  • Importing Locations into the FHIR tables... and adpatations in
    • the backend (django model)
    • the frontend


  • No labels