Model arbitrary relationships between patients to track the spread of diseases

Hello community,

I am working with a client who is using OpenEMR to run clinics in very densely populated communities in south-east Asia.

What is needed?

They are urgently looking for a feature that allows them to model arbitrary relationships between patients, for example to track who lives in the same household or community or may work in the same vicinity.

The idea is to use this information to predict and stop the spread of highly contagious diseases.

What should the solution look like?

In a first idea, we would maybe have additional fields in the patient form that allows to search and select a second patient and a relationship type (e.g. “lives with”, “works with”). But if there is anything else out there that allows this type of modeling, this might work too.

The data analysis could be part of this or solved in a different approach.

The solution

I’ve done some research but didn’t find an existing feature or third party solution that allows us to do this. If you are aware of any, I would appreciate the hint.

We will need a solution for this in any case. I am programmer but with very little experience in php. But in any case I would be willing to build a solution if there is no other option. Either as a private solution, part of a release or a third party solution.

I would be happy to hear any feedback, about the feature itself or whether there is something out there or it should be a built in feature or a plugin.

Hello @cburnicki welcome to the OpenEMR community!
I am not an OpenEMR dev but do have some programming/ database experience and have played with OpenEMR for quite a while. I’m sure this post will not answer all your questions but at least let you know that your project is realistic.

OpenEMR does come with multiple reports and data collection tools that gather a (large?) part of what you’re looking for, and all that data is already maintained in the database. Some existing data that might be useful:

My point being that minimal customization would be necessary for the data collection aspect of the project if you can use the data fields already in the database, or repurpose others that are not being used for their original purpose. But OpenEMR’s analysis capabilities are limited, you would doubtless need to use a 3d party application or write your own code for analysis and modeling.

Best- Harley

Hi Harley,

thank you very much for taking the time for this very detailed response!
I will investigate if any of these might be sufficient to cover our needs.

The data analysis part is actually technologically within our domain – we already use our own tools to evaluate data in the database.

If we could create such relationships using the existing capabilities, it would be very helpful for us, as our PHP expertise is relatively limited.

Best wishes,
Chris

Hi @cburnicki ,
I am not a programmer at all but with the help from this community and the Ai you might be able to do what you need. I use multiple Ai modules including github Chopilot and Google Jules jules.google.com . Here is a screenshot, give is a shot

Thank you @moussa, I think one way or another I will implement this.

Assuming that others might find this helpful too, can someone hint me if something like this should be a module or plugin or extended core feature?
How is this decision made? Is there a collection of modules somewhere?