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.
Context
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.
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).