Build: #385 was successful Changes by Shao Yuan <>

Stages & jobs

  1. Default Stage

  2. Release

    Requires a user to start manually

Build result summary


1 minute
62cf3df4e9994674bfb470c61734218c3b11d919 62cf3df4e9994674bfb470c61734218c3b11d919
Release scripts
0cd122e5b3b4eb99ccd90a0a6c1c11db9f19bfde 0cd122e5b3b4eb99ccd90a0a6c1c11db9f19bfde
Total tests
Successful since
#384 ()


Code commits

Author Commit Message Commit date
Shao Yuan <> Shao Yuan <> 62cf3df4e9994674bfb470c61734218c3b11d919 62cf3df4e9994674bfb470c61734218c3b11d919 RC-29 - Merge MPI Functionality into Registration Core
*  #114 Sending Hl7 PDQ message to OpenEmpi

*  #114 Added parsing response from OpenEMPI

* Refactor PixPdq support to be interface based

* Clean-up and added PIX code

* Make patient root configurable

* Add update code

TBD: errors

* Rename util class

*  #114 Searching patient using Identifier and importing it to OpenMRS

* Added patient export through PIX

* Fix deprecated call

*  #114 Removed unnecessary methods

* Added configurability for additional fields

* Added separate config for PIX ports

* Remove pdq search UI

* Fix PIX & PDQ issues

* Interfaces
* PIX messages

* Remove unused code & everest dependencies

* Make id type configurable & remove unused methods

* Limit PDQ results

*  #128 Added sending PIX/PDQ messages by http

*  #128 Fixed after review

* Removed unused constants

* Remove oudated todo

*  #147 Added dependecy for outgoing message module

*  Fixed Global Properties

* * Added a few matched fields

* * Added gender field.
* Added countryDistrict field.
* Fixed count score.

* * Fixed PixPdqMessageUtil class
* Added PdqSimilarPatientsSearcherTest

* Updating global properties to better represent their meaning

* * Changed PatientIdefierMapper class

* * Fixed issue with PatientIdentifierMapperTest

* * Working on PIX message util

*  #170: Merged biometrics changes done by PIH into our fork of registration-core.

* * Added new field universalIdType to PatientIdentifierMapper

* * Added pix uuid list global property

* * Added other identifiers in PIX request

* * Changed the mapping of identifiers in interpretPIDSegments()

* * Added new global property registrationcore.mpi.pdqIdentifierUuidList
* Changed default return value getUniversalIdType()

* * Added global property to UI

* * Changed methods in PatientIdentifierMapper

* * Added other identifiers in PdqPatientFetcher

* * Changed updatePID() method

* * Changed global property

* * Changed global property

* #175: Registration Core; Switch patientIdentifierType property to use UUID

*  #147 Added service for OutgoingMessage module

* * Fixed after review

*  #147 Changed global property

* #175: Fix after code review

* * Fixed after review

* #175: Changed registrationcore.mpi.personIdentifierTypeUuid property description

* * Removed unused global property

* * Removed unused code

* #175: Fixed problem with HibernateProxy in order to fetch proper PatientIdentifierType UUID

* #215: Persist ids generated by the MPI in OpenMRS and fix problems with filtering fetched patients

* #215: Fixed problems with ConcurrentModificationException durling filtering fetched patients

* * Delete enum biometricTemplateFormat.

* #205: Adjustment saveBiometricsForPatient method to m2Sys module

* #205: Added registerPatient method with biometic data

* #205: Removed unnecessary calling method by service

* #205: Added generateBiometricData method

* #205: Fixed problems with bad biometrics engine status

* #175: Removed deproxy method

* #175: Removed unused imports

* #205: Moved generateBiometicData method to registrationapp

*  #327: Added contition for pdq search.

* Creating a global property and setting the registration constant so users can define the fingerprint Identifier Type UUID. This is referenced by the fingerprint fragments.

*  #348 Added PDQ search by identifier

*  #355 Added fields to PIX create/update message

* Fix checks when searching for patient using IDs (PDQ)

* Generate primary identifier for imported patients

* Reuse the code
* If we don't generate this id, patient fail to import (if they don't
have it in the MPI)

* Fix code smells

* Fix test to check for the new id generation

* Fixed order of params in asserts as well

* Fix issues with PDQ patient fetcher:

* Fetch properly using the id (ECID)
* Return an org.openmrs.Patient that can be persisted

* Fix patient reference in identifiers

* Add Biometric search method

*  #426 Fixed some bugs with registration process

* ITNFA-6: Added nationalPersonIdentifierTypeUuid

* ITNFA-19: Added possibility to import patient from MPI by chosen PatientIdentifierType

* ITNFA-19: Added appropriate comment

* ITNFA-19: Patient is fetched from MPI by PatientIdetifierType UUID instead of PatientIdetifierType name

* ITNFA-19: Added EnrollmentStatus

* ITNFA-19: Added findByPatientIdentifier to registration service

* ITNFA-19: Extended EnrollmentResult with national BiometricSubject

* ITNFA-19: Added checking zero MPI results during fetchMpiPatient method

* ITNFA-19: Disabled lookup during saving biometrics for patient

* ITNFA-30: Added findMpiPatient method

* ITNFA-30: Fixed not working method

* ITNFA-30: Ignored tests of not implemented and not used functionality

* ITNFA-30: Extended results of findByBiometricMatch by MPI patients

* ITNFA-30: Fixed indentation

* ITNFA-30: Changed naming

* ITNFA-30: Corrected BiometricEngine interface

* ITNFA-30: Added enroll method with xmlTemplate parameter

* ITNFA-30: Prevented throwing exception during finding in MPI

* ITNFA-30: Removed duplicated results

* ITOS-9: added ccd import service

* ITOS-9: changed import CCD exception handling with exception catching

* ITOS-9: fixed indentation

* ITOS-9: removed undesired line

* ITOS-9: corrected qualifier name, added private modifiier in XdsCcdImporter

* ITOS-15: Corrected error handling service interface

* ITOS-15: Added specyfic error handlers - PIQ, PDQ, CCD

* ITOS-15: Added get method for error handelers & added required global properties

* ITOS-15: Used more appopriate methods and params names

* ITOS-15: Added PIX error handling

* ITOS-15: Added PDQ error handlint

* ITOS-15: Corrected protection level of method

* ITOS-15: Corrected propagation of MPI connection errors

* ITOS-15: Added error handler to MPI search method

* ITOS-25: added exceptions declarations in downloadAndSaveCcd method

* ITOS-15: Added sending patient to MPI parameters to outgoingMessageExceptions

* ITOS-25: corrected bean initialization and module attaching - xds-sender

* ITOS-15: Added MPI patient parameters to outgoingMessageExceptions

* Fixed integration tests (missing dependencies)

* Ignored not used test

* ITOS-15: Added public constructors to POJO classes

* ITOS-15: Corrected PDQ error message

* ITOS-15: Throw exception if Patient is not successfully exported to MPI

* ITOS-49: Throws error when no proper mapping found

* Fix issues with identifier refresh

* Don't add national results if we have a local result already

* ITOS-72: Fix issue with double OpenMRS id

* Removed improper use of idsource var
* Generate OpenMRS id only if patient doesn't have it
* Added new var to mark OpenMRS id

* Removed m2sys, biometric and fingerprint code

* fixed minor typos that were creating errors

* fixed merge by removing unresolved conflict in config.xml

* Removed XDS-Sender Module dependancy

* refactored to remove references to ECID in pixpdq code, also set global property defaults

* Fixed bugs in refactoring of references to ECID and used mpiproperties instead of registrationcoreconstants

* added in liquibase to create the MPI global identifier in Patient_Identifier_Types table

* Started creating more unit and context sensitive tests for pixpdq

* Created context sensitive test for exportPatient and interpretPIDSegments

* Modified pdqSimilarPatientSearcher to send both name and identifiers and included check before pix patient export to ensure no patient exitsts in mpi

* added checking for exisiting patient on mpi in exportPatient, checks on list of patients returned by pdqPatientFetcher, moved query creation for pdqSimilarPatientSearcher to pixPdqMessageUtil and modified logic

* Fixed empty address bug and gender bug in patientToQPD3Params

* Attempt to fix async registerPatient MPI issue, experiencing issues connecting with openempi

* [MPI-1] proof of concept for using SubscribableEventListener on Patient CREATE and UPDATE events as opposed to PatientRegistrationEvent

* [MPI-1] Converted Listeners, further testing and clean up required

* [MPI-1] fixed patient import bug when patient has multiple of same identifier

* Resolved [MP1-1], WIP [MPI-11]Updating of Locally generated ID in MPI after MPI import not occurring

* cleaned up tests

* [MPI-12] Hibernate test errors resolved

* Fixed Typo in openmrsIdenitfier in registrationcoreconstansts

* Changed returned object of importMpiPatient to Patient rather than Uuid

* refactored such that findMpiPatient returns MpiPatient and not Patient

* Ignored tests that are dependent on Openmrs-Core 2.2.0-SNAPSHOT

* Added some javadocs and TODOs from code review

* Added Javadocs, removed redundant and unused findByPatientIdentifier method, put registration event firing back in and necessary registrationcore constants, changed loggers to private from protected

* Experimenting with mixing context and mocks

* Changed the way registrationCoreService is called by the listeners and removed some experiments with tests and created an exception when getting patient to replace log

* working through code review comments and created stub for ticket RC-31

* fixed bug created during refactor to remove getcomponentbypropertyname and put back set patient creator when creating identifier

* Changes made based on code review

* Moved MPI credentials to runtime properties file

* test to create util method getBeanFromName

* fixed tests broken by change

* refactored to remove hl7senderholder

* removed some default values for global properties

* added documentation and removed getter from interface

Jira issues

9 more issues…
Unknown Issue TypeITNFA-6Could not obtain issue details from Jira
Unknown Issue TypeITNFA-19Could not obtain issue details from Jira
Unknown Issue TypeITNFA-30Could not obtain issue details from Jira
Unknown Issue TypeITOS-9Could not obtain issue details from Jira
Unknown Issue TypeITOS-15Could not obtain issue details from Jira