Working with the PIX/PDQ server used by OpenXDS

Hi,

I have an OpenHIE instance that I setup with OpenEMPI as the Client Registry and the OpenMRS based SHR that uses OpenXDS for document storage/sharing. OpenXDS comes with its own PIX/PDQ server and for one to successfully submit a document to the SHR, the patient is required to be existing in this little PIX/PDQ server. I know how to send a request manually to this PX/PDQ server to create a patient before I submit a document for them in a dev environment but this wouldn’t be ideal in a typical production setting where we expect documents to be submitted for new patients that don’t yet exist in all the involved systems. In our setup we have configured auto registration of patients in OpenEMPI and the SHR’s OpenMRS instance except for this PIX/PQD server, I would expect the patient to be automatically created in this PIX/PDQ server used by OpenXDS possibly by toggling some property. I guess my questions are:

  • Is it possible to configure the SHR/OpenXDS to auto register new patients with the PIX/PDQ server?

  • Is there a way I can configure OpenXDS to use the ‘real’ Client Registry (OpenEMPI) that I setup instead of the one that comes with it? Or does the IHE XDS profile require the XDS server to maintain its own CR?

  • If this isn’t possible, can I make a feature request to make it happen? i.e. configure the SHR auto register new patients with OpenXDS’s PIXS/PDQ server.

In the meantime I was thinking that I could register OpenXDS’ PDX/PDQ server with OpenEMPI as a consumer to receive notifications from OpenEMPI when a patient is created or merged or updated, I’m a little skeptical of this approach because the notifications are most likely sent out asynchronously and the document request might sometimes reach the SHR and OpenXDS before the notification from OpenEMPI is processed by OpenXDS’ PIX/PDX server which would mean the patient might not yet exist sometimes.

Any help with this will be appreciated.

Wyclif

I just noticed that in the openxds.properties file there is a property to disable checking whether the patient exists in the OpenXDS’ PIX/PDQ server, I assume disabling it is fine since I have the patient in OpenEMPI.

···

On Thursday, March 16, 2017 at 4:13:04 PM UTC-4, wyc...@openmrs.org wrote:

Hi,

I have an OpenHIE instance that I setup with OpenEMPI as the Client Registry and the OpenMRS based SHR that uses OpenXDS for document storage/sharing. OpenXDS comes with its own PIX/PDQ server and for one to successfully submit a document to the SHR, the patient is required to be existing in this little PIX/PDQ server. I know how to send a request manually to this PX/PDQ server to create a patient before I submit a document for them in a dev environment but this wouldn’t be ideal in a typical production setting where we expect documents to be submitted for new patients that don’t yet exist in all the involved systems. In our setup we have configured auto registration of patients in OpenEMPI and the SHR’s OpenMRS instance except for this PIX/PQD server, I would expect the patient to be automatically created in this PIX/PDQ server used by OpenXDS possibly by toggling some property. I guess my questions are:

  • Is it possible to configure the SHR/OpenXDS to auto register new patients with the PIX/PDQ server?
  • Is there a way I can configure OpenXDS to use the ‘real’ Client Registry (OpenEMPI) that I setup instead of the one that comes with it? Or does the IHE XDS profile require the XDS server to maintain its own CR?
  • If this isn’t possible, can I make a feature request to make it happen? i.e. configure the SHR auto register new patients with OpenXDS’s PIXS/PDQ server.

In the meantime I was thinking that I could register OpenXDS’ PDX/PDQ server with OpenEMPI as a consumer to receive notifications from OpenEMPI when a patient is created or merged or updated, I’m a little skeptical of this approach because the notifications are most likely sent out asynchronously and the document request might sometimes reach the SHR and OpenXDS before the notification from OpenEMPI is processed by OpenXDS’ PIX/PDX server which would mean the patient might not yet exist sometimes.

Any help with this will be appreciated.

Wyclif

Hi all,

Just copying this email that I sent to Wyclif to this list in case it helps others:

···

===

Yes you can configure a different client registry with OpenXDS, however, it doesn’t replace the internal one. The way you do this is you setup a Client Registry like MedicCR or OpenEMPI and then configure what’s called a PID feed from the CR to the OpenXDS patient registry. What this basically does is that whenever a patient is created in your Client Registry a notification is sent to the OpenXDS so that it knows about this patient as well. Both MedicCR and OpenEMPI support this feature as it is how the XDS.b standard is designed to work. I can’t remember how to configure this in OpenEMPI but you may want to look for something if the config that mentioned a PID feed or similar. The OpenXDS ‘client registry’ is very simplistic and is really just a store of patient details and doesn’t do any matching or identity management like full Client Registries should.

To answer your next question, we only use the registry side of OpenXDS as we needed to implement more than just document storage for the SHR, we wanted to deconstruct and store observations discretely in the SHR rather than just as a blob. So, we implemented the document storage and discrete processing parts in OpenMRS.

===

Just a quick extra comment about the notifications, they are usually done synchronously while the patient is processing in the CR so you don’t have to worry about the data being inconsistent.

Cheers,

Ryan

On Fri, Mar 17, 2017 at 5:26 AM wyclif@openmrs.org wrote:

I just noticed that in the openxds.properties file there is a property to disable checking whether the patient exists in the OpenXDS’ PIX/PDQ server, I assume disabling it is fine since I have the patient in OpenEMPI.

On Thursday, March 16, 2017 at 4:13:04 PM UTC-4, wyc...@openmrs.org wrote:

Hi,

I have an OpenHIE instance that I setup with OpenEMPI as the Client Registry and the OpenMRS based SHR that uses OpenXDS for document storage/sharing. OpenXDS comes with its own PIX/PDQ server and for one to successfully submit a document to the SHR, the patient is required to be existing in this little PIX/PDQ server. I know how to send a request manually to this PX/PDQ server to create a patient before I submit a document for them in a dev environment but this wouldn’t be ideal in a typical production setting where we expect documents to be submitted for new patients that don’t yet exist in all the involved systems. In our setup we have configured auto registration of patients in OpenEMPI and the SHR’s OpenMRS instance except for this PIX/PQD server, I would expect the patient to be automatically created in this PIX/PDQ server used by OpenXDS possibly by toggling some property. I guess my questions are:

  • Is it possible to configure the SHR/OpenXDS to auto register new patients with the PIX/PDQ server?
  • Is there a way I can configure OpenXDS to use the ‘real’ Client Registry (OpenEMPI) that I setup instead of the one that comes with it? Or does the IHE XDS profile require the XDS server to maintain its own CR?
  • If this isn’t possible, can I make a feature request to make it happen? i.e. configure the SHR auto register new patients with OpenXDS’s PIXS/PDQ server.

In the meantime I was thinking that I could register OpenXDS’ PDX/PDQ server with OpenEMPI as a consumer to receive notifications from OpenEMPI when a patient is created or merged or updated, I’m a little skeptical of this approach because the notifications are most likely sent out asynchronously and the document request might sometimes reach the SHR and OpenXDS before the notification from OpenEMPI is processed by OpenXDS’ PIX/PDX server which would mean the patient might not yet exist sometimes.

Any help with this will be appreciated.

Wyclif

You received this message because you are subscribed to the Google Groups “Shared Health Record (OpenHIE)” group.

To unsubscribe from this group and stop receiving emails from it, send an email to openhie-shr+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Ryan Crichton

Lead Developer, Jembi Health Systems | SOUTH AFRICA

Mobile: +27845829934 | Skype: ryan.graham.crichton
E-mail: ryan@jembi.org