Additional Patient Identifiers are not being displayed

The system config is:

Core 2.5.8

Ref App 2.12.0

Two additional patient identifiers have been created and added to the Registration App. The App definition is here. They are getting displayed during new registration and entries can be made, but post registration, it’s not possible to visualise/ edit them in the patient dashboard.

Both the new IDs have been added as a list to the Global property emr.extraPatientIdentifierTypes like below:

Please suggest a solution. Thank you!

Are you able to reproduce it here? https://qa-refapp.openmrs.org/

I had tried reproducing the error on the QA server before but was not able to save a new App definition, as the save button continued to stay in the disabled state (even after stopping the default/Built-in registration App 'referenceapplication.registrationapp.registerPatient '):

The global property should just be a comma-separated list of UUIDs. The extra stuff in there (double-quotes and [) means that the setting won’t be parsed correctly.

Sorry…just tried this…but still no display!

Also, other Global properties which have their values as Lists are being defined this way for instance, on the QA server:

Can you try the QA server again? I have just fixed the problem of not being able to save the new App definition.

Thanks @dkayiwa Now I’m able to save the App definition. Also to begin with, to keep things simple, I’m trying to add just one additional patient identifier

The App def is here

The newly created Identifier can now be entered during new Registration:

But after registration it is still not visible at the Patient dashboard:

These were moved from global properties to metadata mappings.

The metadatamapping_metadata_term_mapping table has an entry for emr.extraPatientIdentifierTypes with code = emr.extraPatientIdentifierTypes, metadataClass = org.openmrs.module.metadatamapping.MetadataSet metadataUUID = someuuid. This means that the extra patient identifier types are mapped to a metadata set with that UUID. The metadatamapping_metadata_set table has one entry with that UUID. You need to create a metadatamapping_metadata_set_member for each extra patient identifier. In the metadatamapping_metadata_set_member table, metadata_set_id is a foreign key referencing that in the metadatamapping_metadata_set table. The metadata_class can be org.openmrs.PatientIdentifierType and metadata_uuid is the patient identifier type uuid.

1 Like

It is working!!

Thanks a lot for the very clear and detailed explanation @dkayiwa!