Hi @burke and @jthomas,
The core development for real-time PIX and PDQ interaction is complete and we're testing the feature in our iSantéPlus configuration before creating a Pull Request. @pgesek and the SolDevelo team performed the primary development.
Here are core pieces:
- Our OpenEMPI demo is accessible at https://sedish.net:8081/ (PM me for credentials)
- Our OpenEMPI Docker container can be found at this link. Note that we have configured the global identifier domains in OpenEMPI to reflect the Haitian Context.
- The core development of the feature is on our fork of registration core
Primarily view /api/src/main/java/org/openmrs/module/registrationcore/api/mpi/pixpdq
- The global properties are set by default in our iSantePlus module's MetadataBundle
, Note that the biometric and ECID identifiers are added in the HaitiCore module
- We're working on updating our online demo and I'll send a message when that's ready for others to view.
Regarding asynchronous calls:
- The PIX and PDQ interactions happen in real-time. We are working on a solution when the PIX interactions fail.
- When there is a failure in the PIX interaction, an event is raised and our outgoing exception module stores the failed message.
- We are in the process of identifying workflows for each type of failed message.
- We will use Mirth as the mechanism to retry failed events in the outgoing exception module. Mirth will communicate with OpenMRS through a REST API.
- We are not storing failures in the PDQ interactions because they are queries and are meant to support the real-time identification of patients as the user is completing the form.