Follow Up meeting (Q&A) to 2019-01-23 Architecture and Framework Meeting
Agenda
Table of Contents | ||
---|---|---|
|
Presentation by Carl Leitner on FHIR integration
Link to presentation - https://docs.google.com/presentation/d/1Gi88xPGr1bAEYGoomLNzGR8W8NgGUD8UZLaOkR4KWl4/edit#slide=id.g4e59d2afad_0_4
RESTful API https://www.hl7.org/fhir/http.html
Resources (the data model) https://www.hl7.org/fhir/resourcelist.html
FHIR usage example - OpenMRS Sync 2.0 module https://wiki.openmrs.org/display/projects/FHIR+Resource+List+for+Sync
FHIR data model can be extended https://www.hl7.org/fhir/extensibility.html
Can do business logic on FHIR using the HL7 CQL standard https://cql.hl7.org/
Feedback on proposed Stack
Note: retained stack will be maintained and further detailed in Target Technology Stack
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)
Docker seems to have a problem with Windows instances (as clients) - https://docs.docker.com/docker-for-windows/
Docker Toolbox (replace Docker for Desktops on virtualized Windows): https://docs.docker.com/toolbox/toolbox_install_windows/
Problems in combinations with other virtual machines (e.g. VirtualBox): docker toolbox for windows
Docker on Mac: should react like on a linux OS - Xavier is doing it on a regular basis
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