GSoC 2024: Integrating OpenELIS with a FHIR-Based Open Client Registry - project updates

Greetings everyone,

I was recently selected as a GSoC student under OpenELIS for the project titled Integrating OpenELIS with a FHIR-Based Open Client Registry.

I will be using this thread for all updates for this project and anyother discussions in relation to the project.

Project Summary

Project Mentor: @reagan

This integration aims to connect OpenELIS, a laboratory information system, with a FHIR-Based Open Client Registry which will allow users to search for patients within their local OpenELIS system, If the patient isn’t found locally, search the client registry then Import patient information from the client registry to OpenELIS. In simpler terms, this lets users find patients within their local system and if not found, search for them in a central database and bring their information back into the local system.

Resources

Regards,
Herman Muhereza (mherman22)

cc: @reagan @Moses_Mutesasira @Herbert

6 Likes

Congratulations @mherman22 . All the best man.

3 Likes

Here is a summary blog of the last 3 weeks of community bonding
https://hermanmuhereza.blogspot.com/2024/05/gsoc-2024-integrating-openelis-with.html

1 Like

Week one

Thats how my first week was and you can find more details at

1 Like

week two updates

i have worked on a couple of issues to fully translate the dictionary menu into the new ui and using rest controllers. I implemented modifying a dictionary menu and then also implemented the search functionality.

In line with my project, i spent a bit of time understanding the fhir layer of openelis, understanding how a patient is translated into a fhir object and how i can utilize that existing functionality to send the created patient to openhim after the event is triggered.

This and more can be found at

2 Likes

Greetings, i have not updated this talk thread in a while so i will give a summary of what ive been workingon for the past 3 weeks:

i had to change course here from creating a new event listener to utilizing the existing async functions in fhirtransformservice class. I also went ahead to create the spring bean needed to connect to a fhir client and added the functionality to make sure there are attempts to reconnect incase the first attempt to connect to the fhir client fails → checkout here for the reattempts.
I also had to validate the fhir client to ensure that it has successfully connected to OpenElis by trying to retrieve a capability statement (client metadata) from the fhir client, if it fails then the connection has probably failed

This is the repository where i am doing the actual integration of the three (OpenELIS, OpenHIM, OpenCR). I created a docker compose file with the services. I have also gone ahead to ensure i have both the o2 and o3 versions of OpenELIS in the integration.

Video showing current status

Next week

  • i will continue fine tuning the connection and find out why o3 is not loading up as expected and then also figure out why the fhir patient from openelis is not properly sending the names of the patient to opencr.
  • I will look into sending contacts aswell especially phone, email,home etc.

Cheers,
Herman Muhereza.

3 Likes

I have added this pull request to try to clean up the json object project and align it more to the patient resource in fhir.

I have also added updating of a patient record in openCR through this commit → Create an OpenELIS connection to a FHIR-Based Client (OpenHIM) by mherman22 · Pull Request #1065 · I-TECH-UW/OpenELIS-Global-2 · GitHub

The video below shows the integration of OE o3 and updating of a patient record in openCR

@reagan @Moses_Mutesasira

3 Likes

I added the commit below to enable the application to startup even when the CR properties are not provided. This is intended to maximize the importance of spring beans so that rather than calling the method everytime we try to connect to a fhir client, we can just autowire the IGenericClient. For more context, take a look at the commit.

2 Likes