Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel2

Proposed migration strategy (“illustrated”)

Modularity

  • Loosely coupled modules
  • Event-based communication (Django Signals, RabbitMQ)

Webservices of current application are limited

  • Recommendation to not develop connectors until the architecture is stabilized (~6 months), especially relevant for Digital Square awards

...

Presentation by Carl Leitner on FHIR integration

Feedback on proposed Stack

Note: retained stack will be maintained and further detailed in Target Technology Stack

Containers (Docker)

Front (Material-ui, React & Redux)


Back (Django / Python)

...

  • reaction from TZ: No experience with Python, but .NET, PHP and Java
  • reaction from Nepal: preferences more towards Java, Python (GIZ & Nepalese Companies)
  • typing of variables in Python is very flexible, but would need a very strict naming convention for variables
  • Using node.js as backend to have consistency to react in the frontend? Bluesquare preferred to have something more conservative/reliable/well documented in the backend.
  • Language popularity of python vs. Java
  • Historical consistency of programming languages vs 'trendy' scripting languages: Python has a huge impact in the data science community - could be a good basis to stay

Database (SQL-Server

...

<> Postgres <> FHIR DB)

  • Carl: there are a number of FHIR libraries http://wiki.hl7.org/index.php?title=Open_Source_FHIR_implementations. There is a python library, but I don't have direct experience with it and it may be focused on SMART on FHIR
  • Decision to be made: FHIR as API-format or as a persistency layer / database back-end
  • Option: Connectivity teams (e.g. connecting to OpenMRS) could use a FHIR backend as a buffer in the data exchange and we gain experience before making a final decision for openIMIS

Containers (Docker)

Airflow for Monitoring of Batch processes


Modularity in proposed Technology Stack

Documented in: Target Technology Stack

Licenses

docker: Apache 2.0 license

postgres: https://www.postgresql.org/about/licence/ “a liberal Open Source license, similar to the BSD or MIT licenses.”

python: https://docs.python.org/3/license.html > https://opensource.org/

django: very light: https://github.com/django/django/blob/master/LICENSE

django REST Framework: https://www.django-rest-framework.org/#license

reactjs: MIT  https://reactjs.org/docs/how-to-contribute.html#license

redux: MIT  https://github.com/reduxjs/redux/blob/master/LICENSE.md

material-ui: MIT  https://material-ui.com/discover-more/backers/#sponsors-amp-backers