We are currently implementing something similar for KenyaEMR using a custom MPI implementation developed by I-TECH a few years ago under the OpenEMRConnect project: https://sites.google.com/site/oeckenya/. This particular MPI uses PIX/PDQ v3 for communication.
One slightly different way to present matching records and synchronize between the MPI and the local data source is to present a merged view of records that match from both places. So fields that match completely would be collapsed into one and those that differ (and typically these should be few) would be presented separately. The user then gets an opportunity to establish from the patient which of the differing fields is most up-to-date and marks it as the one to be persisted in both sources.
This synchronization approach relieves the system of having to make a potentially wrong decision about which information is up-to-date and instead relies on the authoritative confirmation of the patient himself. The problem with an automated resolution mechanism is that whichever source is designated as “always wins” might actually contain the wrong/out-of-date information. Consider for example if the MPI failed to receive the last telephone number update from a given facility due to network problems. When the patient next returns, automatically overwriting the telephone number at the facility with the one from the MPI would be replacing new and correct information with old and wrong information.