We do a lot of integration between systems and are very happy with more raw techs such as Apache Camel. That would be for devs that are already quite familiar with EIP.
We also have been asked occasionally about integrating lab instruments with LIMS and we could not ever prioritise it. Maybe there could be some area for collaboration.
The OpenHIM (alongside its mediators) can handle a lot of data exchange scenarios, so this all depends on your work.
Could you please share a bit more about what you are trying to do? That way we can hopefully point you in the right direction.
We are working on a soon to be open sourced LIS targetting small laboratories. It is a basic web application developped with python (flask) . Data is in a MySQL database. The application runs in a container. At this point there is no communication with instruments, but we are evaluating our options to transmit requests and results to and from laboratory instruments.
Instead of adding communication capabilities directly into the LIS, we were hoping to integrate/develop an independant middleware server. Communication between LIS and mddleware using FHIR. Communication between middleware and instruments with tabular data or LIS2 connections.
Will the LIS initiate the request for data from the lab instruments? The OpenHIM facilitates this, as well as periodic polling for data from systems.
For your data exchange from your tabular data or LIS2 connection format to FHIR that could be managed by the mapping mediator - translating data from a custom format into FHIR is a common use case. The mapping mediator currently supports JSON and XML messages. The actual conversion to FHIR is up to someone with the whole message flow context. As an example, we have a BAHMNI Patient message that we convert to a FHIR Patient resource using the mapping mediator.
We have documentation on this mediator here as well as a setup tutorial video.
Sorry to be slow here @phb . As @mattdickie recommends, developing an OpenHIM mediator could work very well here! At OpenFn we’ve also been working with Jembi to extend the fully open-source offering from OpenFn.org, OpenFn/microservice. Just so you’ve got some options, you should also check that out.
Writing a job for a project that connects MySQL with another application’s REST api takes a few minutes to get up and running… much longer to tweak and test, of course! Once you’re happy with how it works on the platform, you can export it as a project.yaml file (or even a microservice.zip file) to run locally so you’re not reliant on our hosted SaaS.
As I said, we haven’t done LIMS ↔ lab instruments integrations yet, but should we finally prioritise this work we would definitely implement Camel routes with the appropriate message broker (Kafka?)
Thanks you all for your suggestions and links.
Definitely a few options to check and POCs to build !
I’ll try to report back here on this as much as I can when we start working on the project.
Btw @phb, we have selected (and FHIR-integrated with OpenMRS) SENAITE LIMS.
While SENAITE will certainly be our off-the-shelf offer for the foreseeable future, I would be really interested to know more about your upcoming open-source LIMS whenever possible.