Do we need Non Patient data searches? - Multi Search Module Proposal

My back-ground with openmrs is in development, i have ideas of what i think can be useful to the implementers but wish to be wise and invest my time in developing tools that the community would find useful; to achieve this; i need to keep an open ear towards community suggestions and thoughts about what am doing, that’s why am sharing this proposal.

In the first place, i thought of extending the chart search module to support non patient searches, after a discussion with @dkayiwa on the IRC, i appreciated his idea of moving this functionality into a separate module. So-far, i thought of naming such a module something like: multi search, here are a few personally and non real use-cases where the module would help out:

  • As a data manager of a set of clinics, i barely have time to watch what happens on each server installation at every clinic, the various clerks do data entry at each clinic which data is collected each day using database back-up and the dump run to centralize such data onto our main server. This is working well for me though;

    • I don’t yet have a straight administrative way of figuring out how authentic is the data; when and where was it recorded etc.
    • Which user logged into the system, when and where? and what exactly did he do by following up notifications for-example.
    • Are there any scheduled tasks and what’s the details about them.
    • Having a way of remotely accessing net-worked databases of openmrs instances would help me to have a read-only access of their data, i need a way of searching through their databases without physically accessing them.
    • I believe that if i had a way of writing some sort of sql that brings together each set of these stuffs back to me as one result (probably by keeping an index somewhere which i can search against). This would easen my follow-up responsibility. These functionality can extend from me the data manager to all my clerks enjoying them.
  • As a module developer, i normally persist some data used by my modules to the openmrs database, which data doesn’t extend the patient table. The last module i developed for-example saves categories used to filter patient results, cache support which keeps record of user Favorited/Saved searches, notes about the searches among others.

Just in-case you have several other real scenarios where searching any data that’s not related to the patient, please respond with a comment so that i can establish the need for this to the community.

Here is the previous post i wrote with the mind of getting this functionality as an extended, functionality of the chart search module:

Dear @k_joseph, I want to thank you for your continued assistance to the community.

It seems you could do some of what you mentioned through the current reporting module. Perhaps you could try to extend the UI of the reporting module to take it further, to accomplish what you’re thinking about. This would be a @mseaton question.

Another need related to data searches would be a replacement for the legacy Cohort Builder. This is a tool for doing ad-hoc queries. For example how many patients are currently pregnant. How many patients have a given encounter type, etc.

Keep up the good work!

1 Like

Thanks a lot @arbaughj for your response :smile: @mseaton let me know if there is any way i can extend cohort for the reference application, i will be glad to extend my hand where necessary; otherwise for now, i moved this project from being openmrs based to a normal Spring MVC project: https://github.com/k-joseph/multi-search/

This was the first hit: https://wiki.openmrs.org/display/projects/Multi+Searching+across+databases

I moved forward with both openmrs and non openmrs specific projects that accomplishes this just for my final year project. So i decided to share the work with anyone that may find advantage of it since it is not being embraced by the whole community as a separate module/project as i had suggested in this topic!