Hi Jesse,
You're spot on here. I was actually thinking about this other day while
reviewing some things (don't recall the discussion @ Connectathon, it
might've been with Sondra or Sarah). But you definitely need to have
available and use properties specific to a registry when doing a PIX
feed.
However, there's some question about whether the operation should even
function like it does (pix feeding to both). Generally speaking, the ID
you're feeding to a PIX manager may not be the same ID you're feeding to
a registry.... in fact, it shouldn't be. A PIX Feed from the Bridge
will almost always be a local application registering with a PIX manager
(with a namespace and a domain OID that is unique to your
application/facility) whereas feeds to a registry should be the
patient's CAD ID (with no namespace and the CAD's/registry's domain
OID). Controlling the facility/application/namespace/domain information
is easy within the scope of the the RHIO configuration, but controlling
the actual ID number (in front of the ^^^) kind of makes it difficult to
send both at the same time...... unless you workflow it further:
1. PIX Feed to the PIX Manager with local IDs
2. PIX Query against the PIX Manager, restricting on the CAD's
domain to get the CAD ID for the patient
3. PIX Feed to the XDS Registry with CAD ID
And, at the same time, there's an argument that the Bridge should NEVER
feed a registry's patient ID... it should come solely from the PIX
manager. I'm not going to get into RHIO / Affinity Domain creation
policies ( i'll leave that to the experts ;) ) but it's something to
consider as well.
This is definitely something to discuss further... Sarah, Sondra...
thoughts?
Jesse Pangburn wrote:
Hi,
I know we discussed this a bit at Connectathon, but the resolution at
the time was a short term workaround/hack to just do the patient feed
to two different rhios.
To reiterate, here is the example of the problem. Suppose I use the
IBM registry and the Initiate PIX Manager. In the PIX manager
settings section of the rhioConfig.xml I have something like this:
<pixProperties>
<id>PAT_IDENTITY_X_REF_MGR_INITIATE_PROPERTIES</id>
<application>PAT_IDENTITY_X_REF_MGR_INITIATE</application>
<facility>INITIATE</facility>
<assigningAuthorityNamespaceId>INP2</assigningAuthorityNamespaceId>
<assigningAuthorityUniversalId>1.3.6.1.4.1.21367.2005.1.1</assigningAuthorityUniversalId>
<assigningAuthorityUniversalIdType>ISO</assigningAuthorityUniversalIdType>
</pixProperties>
So the bridge then uses this application/facility combo in the HL7v2
PIX feed message to the PIX manager and it works fine. Then it uses
the same application/facility combo and sends to to the registry's
PIX feed port (I'm using IBM's to test with), however the registry
returns an error because it doesn't like the application/facility
values. It wants settings like this:
<facility>XDSDEMO</facility>
<application>XDSDEMO_ADT</application>
In order to make this work, you need two RHIOs. One RHIO is has the
IBM registry setup as a phony PIX manager so the PIX feed intended
for the PIX Manager goes to the registry instead, but has the right
application/facility values. The second RHIO has the real PIX
manager you want to use setup and the registry listed with no PIX
feed urls. So when you want to create a patient, you first send the
create to RHIO #1 and populate the registry, then you send to RHIO #2
and populate the PIX manager. Then you can continue using RHIO #2 to
do PIX/PDQ queries and XDS actions.
This is obviously not a good long term solution. What we need (I
think) is a PIXServerPropertiesID element in the registry's
pixFeedUrl element (or whatever configuration mechanism), so that we
can send different application/facility values to the registry and
PIX manager in the same PIX feed action.
Now, it may be that this only matters for testing and demos because
in a production environment where you control the registry and the
pix manager, you can probably configure them to accept the same
values. But for testing and demos, which we all know are important
to drive sales, you may be pointing to public servers like IBM's
registry and Initiate's PIX manager- specifically for the point of
saying "look, IHE is so cool because it allows our software to work
seamlessly with servers from different vendors!!11!".
Please let me know if I'm being clueless here (no tact required :-)
or if others feel this is a problem too?
thanks,
Jesse