Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree
Skip to end of metadata
Go to start of metadata

Primary mentor


Backup mentor


Assigned to

Unknown User (keshashah)


OpenMRS is increasingly used for multiple data collection points across several systems. There are different models of using openMRS in health care for example where a user registers a patient at the point of encounter and subsequently enters all their details into the system, and in other cases a clinician writes patient details on a paper chart, that is later transferred to the openMRS system by data clerks. Moreover , a program may involve a mobile tool that registers patients while out in the field , and sends this data into the main system to create new patients. These data are combined into one record, and depending on the available data elements are appended to an existing patient or used to create a new patient.

Unfortunately , most of the registration work for patients in openMRS remains a data collection exercise. We wish to transform this by developing and implementing a data blocking algorithm that quickly uses the data elements entered during this registration to determine if the patient is existing or new to the system , or is in the 'grey zone ' that requires processing by the patient matching module implemented in openMRS. We aim to improve patient identification and matching , and build a framework to allow for incorporation of additional data elements like biometric data , latitude and longitude to improve patient registration

Project Champions

  • Judy Gichoya
  • TBA


  1. To develop and integrate a blocking algorithm on server side of OpenMRS to capture demographic data details, compute possible blocking approaches and compare results for high return
  2. To implement an algorithm to clean data on registration details for example name misspellings and unexpected characters to improve data blocking and patient matching results
  3. To develop a generic blocking prototype that integrates mobile patient registration connected to server registration that is light weight and responsive in low connectivity areas
  4. To implement an algorithm that corrects for various name variations that occur in various geographic areas e.g. name transposition that affect record linkage and patient matching
  5. To optimise the speed of blocking algorithm to ensure efficient workflows and minimal interruptions during patient registration events for various openMRS implementations


Extra Credit


  • The algorithms above are already implemented and tested for research , just need to incorporate them into OpenMRS
  • +1 if you are good at math and algorithm - this project requires strong analytical and algorithm knowledge
  • + 1 if you have coded on the patient matching module


  • No labels


  1. Unknown User (akshika47)

    so does this require GUI things?? i mean, is it just manipulating the logic layer?

    1. just manipulating the logic layer

      1. Unknown User (akshika47)

        great. I have been a very active member in OpenMRS. May I know what sort of prerequisites are needed to try out this Project??

        Thank you. 

  2. Unknown User (hasithapsd)

    This is very interesting project for me because mathematics and algorithm touch.So  how can I get more information about this project ?

    1. You can post your questions here or on the mailing list

  3. Unknown User (aka007)

    Judy Gichoya I have started exploring about this project. Kindly provide your email-id so that I can contact you regarding the same.

    Thank you,

    Akash Agrawall

  4. Unknown User (shubh)

    I would like to discuss my ideas regarding this project with you.So could you kindly provide me your email-id.

  5. Unknown User (aka007)

    Kindly explain the meaning of "mobile patient registration" in detail. I have read the resources provided by you and would like to discuss some topics with you.

  6. Unknown User (g8anush)

    Is it really mandatory to have contributed atleast one code to OpenMRS? Because I am very interested in doing this project, but I haven't done any contribution to your organization before? Will my proposal be accepted. 

    1. Unknown User (shubh)

      Unknown User (g8anush) Yes OpenMRS needs atleast one contribution to consider your application.You can still do that.

      1. Unknown User (g8anush)

        Where do I do the contribution? Can you please guide me to the location where I should get started? 

        1. Unknown User (akshika47)

          Developer Guide

          Start from here. Build OpenMRS. Then you can start fixing bugs. You can use the mailing list or the IRC channel to ask questions (smile)

          Write code and Save Lives

  7. Unknown User (shubh)

    Judy Gichoya We have to develop blocking algorithms or just improve and integrate the ones already developed for the Patient matching module?

  8. Unknown User (keshashah)

    Hi Judy Gichoya ,

    I am Kesha Shah and interested in this project due to several reasons. It also matches my skillset. Actually due to exams, I was able to start late looking for projects and organizations. Also, I was working on ticket 2820 . I have submitted proposal on melange. I would like to have feedback on it as well as discuss the proposal in detail with you on IRC/ through mails. Can I have your IRC nick/mail address ?

  9. Unknown User (bholagabbar)

    Unknown User (keshashah) I noticed you have an elaborate description of your Project Plan setup here:

    What is the current status of this project? It shows you were assigned to the project and it seems pretty interesting so just wanted to get upto speed on the status (smile)