Integration with OpenEMPI

Hi @craigappl @pgesek @mogoodrich @mseaton @ball,

Just to highlight some sticky points I’m facing now and the things I’ve tried so far.

Regarding the above message about the unauthorised error, it was that I had not logged in to docker via the cli, and that was easily fixed. (thanks to guidance from @mseaton) (https://docs.docker.com/engine/reference/commandline/login/)

Goals


My overarching goal is to merge the MPI functionality into the main branch of the reference app and associated modules, e.g. registration core, registration app.

My intermediate goal was to set up all the necessary components, I.e. iSantePlus client, OpenEMPI Docker, etc (I know there are some other necessary components e.g. XDS, PIX, PDQ endpoints? but I haven’t figured out what all those things are yet) but basically I wanted to set up all these components on my local machine and be able to use all the MPI functionality and have a “ground truth” where everything works and start refactoring from there.

Questions/ Requests


  1. Is there a way to build the iSantePlus m2Sys Biometrics Module?

    • Demo/Sample environments/instances of BioPlugin server 8 and Cloudscanner? And is there a way to use this module without the hardware of the M2Sys fingerprint reader? e.g. just a way to feed the system IDs/Keys?
    • Looking at the code the MPI functionality is very intertwined with the fingerprint functionality and the iSantePlus registration core and app modules would not work without it.
  2. Are there other training videos you guys made on these modules/this functionality that could help me to understand the concepts and implementation? I watched the video linked above twice but I’m very new to OpenMRS and all of this so it would be really helpful to have more guidance on how all of this works and all the parts fit together :slight_smile: If there are sequence diagrams to show how all the classes interact and in what flow that would be very very awesome, or if we could set up a time for a call @pgesek

What I’ve Tried So Far


1: Set up Open EMPI Docker

(Done)

2: Set up iSantePlus instance locally

(Roughly following the README on https://github.com/IsantePlus/openmrs-module-isanteplus) (Thanks to guidance from @mogoodrich)

  • Used SDK to set up an OpenMRS platform (V 2.0.5)
  • Copied modules from Reference Application (V 2.5) and replaced those that were created by the SDK for the platform
  • Updated the openmrs-distro.properties with that list of modules
  • Used mvn openmrs-sdk:deploy to install the htmlformentry 3.3.2 module
  • Git cloned the isanteplus module
  • Tried to use the sdk to install the isanteplus module, but got an error stating that it required the xds sender module.
  • Git cloned the xds sender module
  • mvn clean installed the xds sender module (successful)
  • Used the sdk to install the isanteplus module (successful)
  • Ran the server, it seemed to work, had new UI but it did not look like the UI of the demo server that @ball shared with me (OpenMRS logo not iSantePlus logo, no outgoing exceptions icon on home page etc)
  • Tried to add a patient through my local instance and then see if it was added to Open EMPI but it didn’t work.

3: Set up iSantePlus instance locally (Beyond the instructions)

My hypothesis was that this was not the complete set up of the iSantePlus server even though I followed the instructions in that module because I had not installed the other modules listed in Notes on iSantéPlus Activity and Push/Pull Architecture with SEDISH by @craigappl, namely: isanteplus/registrationcore, isanteplus/registrationapp, isanteplus/xds-sender and isanteplus/outgoingmessageexceptions modules. So I thought I should install them on the server

  • Used sdk to install the xds sender module (successful)
  • Used sdk to install the outgoing exceptions module (successful)
  • Used sdk to install the registration core module (successful)
  • Tried to use the sdk to install the registration app module (Unsuccessful)
    • It produced an error saying that it required the m2sys biometric module
    • Because I dont have a BioPlugin server (as explained above) this is where I got stuck…
  • I thought I might continue to try to get the server to work even without the isanteplus versions of the registration core and registration app and went down several error fixing rabbit holes but ultimately realised that I was getting too many errors that I didn’t know how to fix and that it probably wouldn’t work anyways…

I’m thinking now that if I am not able to have a working local instance of iSantePlus running and then work backwards from there, I might have better luck starting from the latest core OpenMRS modules, understand the mechanics of the iSantePlus code super thoroughly and then work forwards from there…? Thoughts anyone?

Anyways, thanks for your time and effort in reading my clumsy attempts at this, hope you will be able to share some advice :slight_smile:

-Shao Yuan

1 Like