Local Storage of the Master Patient Index (MPI) Identifier

Should the Global Domain Identifier ID that the Master Patient Index creates, uses and is unique to each patient in the MPI be stored locally by OpenMRS as a Patient Identifier?

Referencing this discussion in the pull request I submitted for Registration Core :

wluyima 5 days ago • edited Member

Do you really need to add the mpi id to the patient in the local instance? If you know the patient id in the local instance, I’d expect that you push it to the MPI , if you need to push updates to the MPI later, you should identify them by the local id. Was there any design discussions around this functionality?

shaoyuancc 5 days ago

Hmmm we did not have explicit discussions about this, although this question was brought up by @mogoodrich at one point. We can have the discussion now I guess… There might not be an explicit function for this, like what you said the system should be able to work without it, but might it add robustness/ improve the integrity of the records? @approce, might you be able to comment on why you designed it in this way? @pgesek, any thoughts?

dkayiwa 7 hours ago Member

Do you wanna discuss this from Talk?


Thoughts? @mseaton @craigappl @jiahaochua

If I got an identifier from an MPI, I would want to store it and include it with any future conversations with the MPI – i.e., “when we last spoke, you referred to the patient as X.” But I would still pass the local identifier (the universal identifier would be included as well for the MPI’s convenience).

Whether or not the MPI uses the universal passed back from the EMR to reinforce patient matching is up to the MPI, but it’s not hard to imagine a universal identifier regurgitated by the EMR could avoid unnecessarily repeating patient matching algorithms. And identifiers managed only by computers tend to more reliable than identifiers that are entered by the humans.

Thanks for your input! Sounds good to me, I’m convinced