Editable identifier source prefix

As part of one of the Bahmni implementations, we want a way by which we can change identifier prefix at any point time using Bahmni apps.


In our current implementation, the identifier prefix indicates the type of patient Ex: Internal (id prefix - IN) or External (id prefix - EX). If a patient is registered as Internal(IN), after a few days, if the patient is referred to another hospital permanently, they want to convert the patient prefix from IN to EX. This patient might later come back for a few visits to the hospital but they will be treated as External patients and should go by the prefix of EX. This is because the hospital closely follows up with IN patients but doesn’t do active follow-up for EX patients.

Any suggestions? @angshuonline @darius @mksd @shruthipitta @binduak

This sounds a bit hacky to me, and I personally don’t like the idea of changing a patient identifier. I understand the benefit though, this way the type can be seen everywhere where the identifier is visible with no further UI changes. But still…

As you said you want to assign a type to each patient, in your case either IN or EX. Why not just introduce an ad-hoc person attribute type that can only take those two values? That would certainly be more proper and reusable by others, and this could be configured to be deactivated by default. However this will require to change the UI in multiple places for this new person attribute to be visible (and editable).

oh, absolutely. The use of identifiers for such tracking should be out-of-question, IMO. How I would see a probable solution

  • Use an attribute, which can be turned on-off. define your queues and search queries to take into consideration of the attribute.
  • or Use voided flag.
  1. Fill out a referral form, on submit of that form, set the attribute. alternatively, set the patient void flag
  2. when the patient comes back, search and identify the patient, & reset the attribute.
  3. Use the attribute or the voided flag for reporting IN/EX patients.

I agree too. And even I second the opinion of use the patient attributes for this purpose.