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.
I was able to achieve this by first of all using the patient id to send a request to the FHIR server and return the patient, then append the search object with the match-grade and score to the patient that was returned and then add that patient to the entry array of the bundle object.
Thats how my first week was and you can find more details at
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.
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.
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.