2019-11 openIMIS Developers Workshop



The program will be back-to-back with the OpenHIE Conference in Addis. We are in the process of aligning our schedule to that of OpenHIE (real-time version on their wiki), so that both events can profit as much as possible from each other. While the openIMIS sessions are generally open to the OpenHIE community (depending on the size of the room), members of the openIMIS Developers Committee are requested to be present during the openIMIS sessions.

We will try to reflect changes of the OpenHIE schedule as appropriate.Therefore this page will be frequently updated. During the workshop we suggest to keep it open on your phones and to refresh it from time to time. There will be no printout.



openIMIS Developers mixing with the OpenHIE community - can you spot them? (source: OpenHIE)

 

Aim & Objectives

Linking the workshop of the openIMIS Developers Committee to the 2019 OpenHIE workshop aims at gaining momentum from combining the two conferences. A lot of the 2019 development activities in openIMIS focused around creating interoperability with other global goods in the OpenHIE eco-system, namely OpenMRS, Bahmni and DHIS2. The results of these efforts are published in the October release of openIMIS. The OpenHIE connect-a-thon provides an ideal setting for testing the new features with the support of experts from the other projects and allows to make the OpenIMIS package know to a wider audience of eHealth experts.

Specific objectives are:

  • discuss acute openIMIS issues in the developers community

  • introduce the openIMIS developers to the openHIE developers

  • present the openIMIS October release to the openHIE community

  • test run openIMIS interoperability with other openHIE Global Goods

  • on-board new developer teams that will have joined the openIMIS initiative through the Digital Square RFA#2019-16 ("Notice D1")

  • bonding: enjoy Ethiopian food and understand the dangers of tella, tej and katikala

Schedule

Day 0, Monday, 04.11. arrival & preparation

  • openHIE: OpenHIE Academy Intro Courses

Start

End

Program

Who

Tools

Start

End

Program

Who

Tools





arrivals, (feel free to participate in academy sessions, if you are already there)





13:00

14:15

Lunch & group photo

OpenHIE







Prepare the room

Developers Committee



15:30

15:45

Coffee break

OpenHIE



15:45

17:00

Review the openIMIS DC schedule

Developers Committee



Day 1, Tuesday, 05.11. OpenHIE opening ceremony & selected presentations / openIMIS Past

  • openHIE: OpenHIE opening ceremony

Start

End

Program

Who (& Assistant)

Tools

Start

End

Program

Who (& Assistant)

Tools

08:00

08:30

Registration/Networking

OpenHIE



08:30

10:15

OpenHIE opening & introduction OpenHIE un-conference

OpenHIE



10:15

11:15

Coffee break & un-conference voting

OpenHIE



11:15

11:45

Project overview & updates

@Uwe Wahser

openIMIS - Gumzo ya Mwezi - 2019-11-04.pdf

11:45

12:45

Review on the use of platforms: Wiki, Localize, Drive, Forum etc.

@Uwe Wahser, Developers Committee



12:45

13:30

Lunch & group photo

OpenHIE



13:30

15:00

openIMIS round of introductions & project presentations (Gumzo)

Developers Committee



15:00

15:15

Coffee break

OpenHIE



15:15

16:00

Review of the last roadmap

openIMIS



16:00

16:15

Transition break

OpenHIE



16:15

17:00

Review of Module sturcture (JLN, FHIR, etc)





17:00

18:00

How-to preparations

@Xavier Gillmann (Unlicensed)

Bring your lap-tops

Day 2, Wednesday, 06.11. openIMIS How-To's

Start

End

Program

Who (& Assistant)

Comments

Start

End

Program

Who (& Assistant)

Comments

8:30

9:10

Agenda of the day & introduction of the howtos sessions  

Uwe Wahser



09:15

10:20

How-To: Let's get started

  • Deployment: logical view of the components of the new openIMIS platform

  • Frontend: plug/unplug modules and basic configuration options

@Xavier Gillmann (Unlicensed)

openIMIS - Developers HOWTOs.pdf

10:10

10:20

Coffee break

OpenHIE



10:30

11:15

Hackonnect-a-thon: How to say it and what is it?

OpenHIE, Daniel Futermann



11:15

11:25

Transition break

OpenHIE



11:25

13:05

  • How-To: Backend

    • Accessing the backend (GraphQL) and anatomy of a backend module (claim)

    • The reference claim validation implementation and how to unplug it

    • Creating from scratch a new backend module and register it in the platform

    • The openIMIS internal events (signals) and how to register to them

    • Implementing specific claim validation rules and plugin them as replacement of the reference one 

@Eric Darchis







12:20

13:05

12:20 - 13:05 @Anis Fuad: openIMIS Showcase/Product Demo in meeting room 2

13:05

14:15

Lunch

OpenHIE



14:15

15:00

Emerging HIE Use Cases:
Presentation of new projects in panel session, a.o. openIMIS

OpenHIE, @Uwe Wahser, Developers Committee

2019-11-06.openIMIS@OpenHIE.pptx

15:00

15:30

Transition break

OpenHIE



15:30

16:30

How-To: Frontend

Creating from scratch a new frontend module... //to be continued

@Xavier Gillmann (Unlicensed)



16:30

17:00

Next day session planning

Developers Committee



17:00

19:00

Demo October release & discussion round with country representatives

Developers Committee & country representatives



Day 3, Thursday, 07.11. - Looking Forward

Start

End

Program

Who (& Assistant)

Comments

Start

End

Program

Who (& Assistant)

Comments

08:00

08:15

Overview of newly funded projects through Digital Square.





08:15

09:15

Detailed presentations of newly funded projects per work-package



Digital Square: No-Cost extension process for awards to leverage unspent funds, Carl Fourie will meet with all partners. Clear definition of what funds will be used for is needed for extension.





Bluesquare: "Building theWP2:  openIMIS community of developers for the next phase of growth"

  • WP1: Migration of the Beneficiary Enrollment Workflow to the modular platform

  • WP2: Interoperability with Product Registry (unfunded) (& VillageReach)

  • WP2: Configurable Workflow Engine (unfunded)



Notes:
WP1
- migrate enrollment module similar to claims

WP2
- list services & items
- data-only integration
- not including price lists
- support multiple languages

WP2
- plugging workflow engine on top of events, allows defining any custom actions on top of any openIMIS process





SwissTPH & SolDevelo: "Support for Formal Sector schemes and configurable claim workflow in openIMIS"

  • WP1: Formal Sector (unfunded)



Notes:
- approach of adding policy holder
- FHIR v3 does not have product, which is required to for formal sector. FHIR v4 has product. FHIR has tools to map between 3 and 4, might be able to avoid move to v3 for now. There
- How to deal with dependents? Edge case when both spouses are policy holder
- Needs redefinition when funding is available





SwissTPH: “Claim categorization using Artificial Intelligence: a proof of concept"

  • WP1: Research Phase

  • WP2: Development Phase

  • WP3: Testing Phase



- Decision whether to use an internal openIMIS module or external module
- API to integrate AI solutions
- data from openIMIS side to AI solutions
- Needs learning data
- requirement for FHIR v4
- audit mechanism may need rework (needs to know record was changed by external system, distinguish human and AI changes), otherwise minimal changes on openIMIS side, maximize use of events and FHIR API
- pull / push needs clarification





Healthix: "Formal Sector Registration and Payment-Integration” 

  • WP1: Support for Health Insurance Schemes in the Formal Sector (unfunded)

  • WP2: Integration to mobile and other payment systems (unfunded)



- mobile payment is really big in Kenya
-- reversal when application into policy is rejected
-- integration with mobile operators
- From Kenya:
-- one person can be part of multiple policy numbers if he is under multiple plans
-- HR takes care of approvals
-- Tech: Django platform & Android
-- Claim module is the same for formal and informal sector

09:15

09:25

Transition break

OpenHIE



09:25

10:10

Detailed presentations of newly funded projects per work-package (cont)





10:10

10:30

Coffee break

OpenHIE



10:30

11:15

FHIR Profile & Implementation Guides and FHIR Tools (Meeting room 1)

OpenHIE

OpenHIE: (Ballroom) Facility registers @Patrick Delcroix

11:15

11:25

Transition break

OpenHIE



11:45

12:10

How-To: 

  • Frontend configuration 'round 2' : css (theme),...

  • Deployment/Backend configuration 'round 2': distributed async,...

Xavier Gillmann



12:10

12:20



12:20

13:05

OpenHIE: Data Science & AI in Health

13:15

14:15

Lunch

OpenHIE



13:05

15:00

Roadmap planning - update and harmonization of the timeline





15:00

15:30

Coffee break

OpenHIE



15:30

16:00

How-To: 

  • Frontend module from "scratch" finalization, PublishedComponents & Contributions



Xavier Gillmann



OpenHIE: (Meeting room 2) Health Finance in openHIE

16:00

16:30

  • FHIR API module configuration

Arkadiusz Lalo



16:15

16:30

Transition break

OpenHIE



16:30

17:00

Meeting Closing

Event Wrap Up and Ways Forward

OpenHIE



Day 4: Friday, 08.11. *-a-thon - (OpenHIE-Schedule)

Day 5: Saturday, 09.11. Wrap-up & Departure

Additional topic Requests: Doodle to select topics

Feel free to add sessions in a new line at the end of the table. If you feel that a certain session is especially important, kindly add your name to the supporters. You can also propose a moderator / presenter or volunteer for a session in the 'Who' column. We'll then see how to best slot it into the above schedule. If you feel responsible to take over a session as moderator, you might also want to create a sub-page for the session.

Start

End

Program

Who (& Assistant)

Supporter

Start

End

Program

Who (& Assistant)

Supporter





  • Contribution guidelines (naming conventions, ....)









  • openIMIS-DHIS2 integration

    • Integrate the connectors to DHIS2 into openIMIS repositories?

    • DHIS2 as DWH 'module' of openIMIS. Where/how to put the code (technical connectivity and DHIS2 configurations)



  • @Daniel Futerman

  • @Fourie, Carl





  • Mobile apps

    • current state, future, what do people want to do?

    • offline requirements - how are other mobile apps handling mobile & offline scenarios?

@Nils Kaiser@Dragos Dobre







@Xavier Gillmann (Unlicensed)

  • @Daniel Futerman

  • @Fourie, Carl

  • @Dragos Dobre

  • @Xavier Gillmann (Unlicensed)







  • @Fourie, Carl

  • @Dragos Dobre





  • How-To: how to define front end and backend module in order to increase the visibility to implementers









  • How-To: openIMIS for the IT-System admin:

    • docker composition options, security, scaling options, monitoring... and interactions with 'legacy' platform (front and database)

@Xavier Gillmann (Unlicensed)



x

45m

  • How-To: new openIMIS integration supported strategies and implementation options:

    • APIs (FHIR vs. GrapQL)

@Xavier Gillmann (Unlicensed)

  • @Daniel Futerman

  • @Fourie, Carl

  • @Dragos Dobre

  • @Xavier Gillmann (Unlicensed)

x

45m

  • How-To: new openIMIS integration supported strategies and implementation options:

    • Frontend specific: SSO, CORS, Proxy Pages, Connected 'widgets' (React Components),...

    • Backend specific: SSO, Impersonation,...

    • Exposing internal events (towards micro services integration)





x

45m

  • How-To: building (from scratch) a backend module to customize claim validation rules (i.e. replace reference one)

    • events (django signals) 

    • backend module configuration

@Xavier Gillmann (Unlicensed)

  • @Dragos Dobre

  • @Xavier Gillmann (Unlicensed)





  • How-To: providing a "language pack" frontend module

@Xavier Gillmann (Unlicensed)@Patrick Delcroix



x

45m

  • How-To: building (from scratch) a brand new 'FOO' (to keep it simple) complete module, in relationship (FK) of another module (claim or whatever)

    • backend: new django model, registering GraphQL (queries and mutations)

    • frontend:

      • basic contributions entries (main menu,...)

      • simple "constant-based" picker

      • using pickers from other module

      • sending mutations via the "journal"

@Xavier Gillmann (Unlicensed)

  • @Daniel Futerman

(x)



  • How-To: openIMIS integration options and challenges (backend/frontend, with/without SSO) and developing a small prototype integration to *** (to be defined)

@Xavier Gillmann (Unlicensed)

  • @Daniel Futerman

  • @Fourie, Carl

  • @Dragos Dobre

  • @Xavier Gillmann (Unlicensed)





  • How-To: backend "advanced" topics:

    • transactional/non-transactional signals

    • synchronous/asynchronous mutation processing

    • batches

@Xavier Gillmann (Unlicensed) // @Eric Darchis







  • How-To: frontend "advanced" topics

    • core.Boot contribution, what to do with it (and what not)

    • pickers with or without cache (product list vs. health facilities list)

    • dialog-pickers, suggestions-based pickers (with debounce, minimal chars#,...)

    • Progressive Web Application

@Xavier Gillmann (Unlicensed)





15m

insights from the field from Cameroon scoping for cheque santé mission 

@Nils Kaiser













Relevant Resources

TBD

Open topics / questions

  • offline capabilities / mobile apps

  • readthedocs use @Patrick Delcroix

  • how to format the claim code?

  • DHIS2 integration via FHIR module? @harsh atal@Kamil Madej (Deactivated)

  • Feedback after Day 2 how to sessions

    • How to make changes into the FHIR module and deploy? (potentially presentation of work by SolDevelo)

    • Backend events / module to module communication

    • Module contributions

    • Installation / Implementation, specific modules with docker (various deployment scenarios simplified and documented )

    • Fetching data from database into backend module (Django ORM)

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/