Skip to content

Fix xds-sender SSL, mpi-client privileges, and identifier mapping#6

Closed
mherman22 wants to merge 2 commits into
charess-org:mainfrom
mherman22:fix/xds-mpi-config-and-privileges
Closed

Fix xds-sender SSL, mpi-client privileges, and identifier mapping#6
mherman22 wants to merge 2 commits into
charess-org:mainfrom
mherman22:fix/xds-mpi-config-and-privileges

Conversation

@mherman22

Copy link
Copy Markdown

Summary

  • xds-sender SSL fix: Switch all 4 xds-sender endpoints from public HTTPS (openhim.sedish-haiti.org) to internal HTTP (openhim-core:5001). Fixes SSLPeerUnverifiedException that fires every hour on PullNotificationsTask.
  • mpi-client privilege fix: Patched santedb-mpiclient-1.1.4.omod with Context.addProxyPrivilege() for Get Identifier Types, Get/Edit/Add Patient Identifiers in both PatientSyncWorker and PatientUpdateWorker. Fixes APIAuthenticationException: Privileges required: Get Identifier Types on every patient sync.
  • Identifier type mapping fix: Changed mpi-client.pid.exportIdentitiferType from Patient ID=iSantePlus ID to iSantePlus ID=iSantePlus ID — the key must match the actual OpenMRS identifier type name in the DB.

Context

All three issues are visible in docker service logs isanteplus_isanteplus:

  1. SSLPeerUnverifiedException: Hostname openhim.sedish-haiti.org not verified — every hour
  2. APIAuthenticationException: Privileges required: Get Identifier Types — on every patient sync
  3. Identity domain iSantePlus ID has no local equivalent / getIdentifierTypeByName returned null — caused by wrong identifier type name in config

Test plan

  • Redeploy with new SQL init and verify xds-sender pull notifications connect without SSL errors
  • Verify mpi-client patient sync completes without privilege errors
  • Verify identifier cross-referencing works (no "has no local equivalent" warnings)
  • For running instances: update global properties directly in MySQL since SQL init only applies to fresh deploys

🤖 Generated with Claude Code

- Fix mpi-client.pid.exportIdentitiferType: change "Patient ID=iSantePlus ID"
  to "iSantePlus ID=iSantePlus ID" to match actual identifier type name in DB
- Add patched santedb-mpiclient-1.1.4.omod with proxy privileges
  (Get Identifier Types, Get/Edit/Add Patient Identifiers) in
  PatientSyncWorker and PatientUpdateWorker to fix
  APIAuthenticationException on every patient sync

The xds-sender SSL fix (SSLPeerUnverifiedException on PullNotificationsTask)
is submitted upstream as IsantePlus/openmrs-module-xds-sender#110.
The mpi-client privilege fix is submitted upstream as
IsantePlus/openmrs-module-mpi-client#58.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mherman22 mherman22 force-pushed the fix/xds-mpi-config-and-privileges branch from c6da5ca to b2b663a Compare April 4, 2026 11:21
The privilege fix is submitted upstream as
IsantePlus/openmrs-module-mpi-client#58.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mherman22

Copy link
Copy Markdown
Author

Closing — the identifier mapping fix is already covered in #3. The module code fixes are submitted upstream as IsantePlus/openmrs-module-mpi-client#58 and IsantePlus/openmrs-module-xds-sender#110.

@mherman22 mherman22 closed this Apr 4, 2026
@mherman22 mherman22 deleted the fix/xds-mpi-config-and-privileges branch April 4, 2026 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant