Is there any kind of actual tutorial on using CONNECT with adapters?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Is there any kind of actual tutorial on using CONNECT with adapters?

stu33
I've gone through the wiki, but the information there seems to be geared more towards people that really seem to already speak CONNECT.

Here's what I'm trying to do.  I've got multiple edge systems that need to interact with various entities, via XCPD and eventually XCA.  I'd like to use CONNECT as a gateway, one installation at a central location, to intercept requests and forward them on, using the correct profiles, to the remote entities.

Right now, I'm focusing on XCPD first, and using my CONNECT installation as an initiating gateway.  I have CONNECT installed in a wildfly 10 server instance.  I can access the various wsdl pages.

What I need help/guidance on, is writing adapters that will interact with and cause CONNECT to generate the correct requests.  Ideally, I'd like to provide patient demographic information to CONNECT via my adapter, have CONNECT create the appropriate transactions and give the response back.  If need be, I can create the PRPA package and pass that to the adapter.  I really think this is something that is possible with CONNECT.

First, for people that are familiar with CONNECT, is this something that can be done?  Secondly, where are the hooks I need to tie my adapters into?  Is there a wsdl for the adapter implementations that I just can't find?  I need to have this up an running soon, or it's time to cut my losses and completely roll my own solution.

Thanks for your time,
Jason

Reply | Threaded
Open this post in threaded view
|

Re: Is there any kind of actual tutorial on using CONNECT with adapters?

johnhd_at_zen
stu33 wrote
is this something that can be done?
Yes, this is what Adapters are for. :) They "trigger" the gateway to send a message and they pass a pro-forma response back for you to parse and play with.

stu33 wrote
 Secondly, where are the hooks I need to tie my adapters into?
The short answer here is that all the adapters do is send a SOAP message (I think it's actually an XDS.b message but I haven't delved into it) to the gateway on it's "trigger' endpoints (EntityPatientDiscovery endpoint for XCPD example), which then triggers the gateway to send a proper XCA message (XCPD in my example) to an endpoint who's OID contained in a <NhinTargetCommunities> element.

The gateway will grab the OID, check its internalConnectionInfo.xml and uddiConnectionInfo.xml files for matching connection info, and (depending on the the type of SOAP envelope that was sent, e.g. PRPA_IN201305UV02) will send the "requested" type of message to the correlated endpoint.

I *think* but I don't remember for certain you can add a similar "targetCommunities" section to an actual XCPD/XCA message to make one gateway trigger another to reach out to OTHER communities like you're discussing, but that's a bit of an educated guess and I invite input from others on this.

stu33 wrote
Is there a wsdl for the adapter implementations that I just can't find?
This is a perennial problem. I assume there must be one out there (If anyone has a resource like this, PLEASE share! :) ) but we've always had to work with sourcecode, examples, and elbow-grease to create a set of templates that trigger the primary XCA profiles.
Ask The Experts! Free 15 minute live Q&A sessions with one of Zen's Expert Integrators @ https://consultzen.com/integration-service-desk-solutions/

www.consultzen.com
Reply | Threaded
Open this post in threaded view
|

Re: Is there any kind of actual tutorial on using CONNECT with adapters?

stu33
First, thanks for your reply.

Let me summarize what I got from your response and you can tell me if I'm correct.

The short answer here is that all the adapters do is send a SOAP message (I think it's actually an XDS.b message but I haven't delved into it) to the gateway on it's "trigger' endpoints (EntityPatientDiscovery endpoint for XCPD example), which then triggers the gateway to send a proper XCA message (XCPD in my example) to an endpoint who's OID contained in a <NhinTargetCommunities> element.
CONNECT itself then is really only a router?  It takes in the SOAP message in xds.b (for XCPD I'm assuming PIX v3) from the adapter, finds the correct endpoint, and forwards it on?  Do I have to create the entire SOAP envelope by hand, including signature/SAML?

Thanks
Jason
Reply | Threaded
Open this post in threaded view
|

Re: Is there any kind of actual tutorial on using CONNECT with adapters?

johnhd_at_zen
CONNECT itself then is really only a router?  It takes in the SOAP message in xds.b (for XCPD I'm assuming PIX v3) from the adapter, finds the correct endpoint, and forwards it on?
In a sense, I'd agree with this statement. The message that it triggers is distinctly different from the message it creates, though, so it's clearer IMO to think of it as accepting a message, remapping certain values from that message to a pro-forma XCPD/DQ/DR, and then sending the newly created message downstream. Same in reverse.

 Do I have to create the entire SOAP envelope by hand, including signature/SAML?
The trigger message doesn't need to have a SAML header, and CONNECT will generate one for the outbound XCPD/DQ/DR for you.
Ask The Experts! Free 15 minute live Q&A sessions with one of Zen's Expert Integrators @ https://consultzen.com/integration-service-desk-solutions/

www.consultzen.com
Reply | Threaded
Open this post in threaded view
|

Re: Is there any kind of actual tutorial on using CONNECT with adapters?

stu33
Ok, it's not close to what I had hoped, I was looking for more obfuscation of the IHE profiles, more like the old OHT bridge project, but I can work with this.  Can anyone tell me what WSDL I should be looking at the generate the trigger code?  I've been looking at this one, but this only seems to provide information as a Responding Gateway.

localhost:8080/Adapter/PatientDiscovery/A_0


Thanks again,
Jason
Reply | Threaded
Open this post in threaded view
|

Re: Is there any kind of actual tutorial on using CONNECT with adapters?

Sovann Huynh
Administrator
Hi,

Just want to clarify that SOAP messages are sent to the CONNECT entity layer where data is re-mapped and NwHIN-conformant requests are generated and SAML headers and assertions are applied before the entire message is sent out. Emphasis on the NwHIN-conformant requests (PD,QD,RD,DS) vs. IHE XCPD,XCAQ,XCAR,XDS.b.

Sovann
Sovann
CONNECT Product Team Member
Reply | Threaded
Open this post in threaded view
|

Re: Is there any kind of actual tutorial on using CONNECT with adapters?

Sovann Huynh
Administrator
I've attached a template for the PD entity SOAP "trigger". You can find it in our validation suite by loading the tests in SoapUI - \CONNECT\Product\SoapUI_Test\ValidationSuite

PD_entity.xml
Sovann
CONNECT Product Team Member