source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/EntityInternalOrchBPEL/src/EntityComponentInternalDocQueryOrch.bpel@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 14.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="EntityComponentInternalDocQueryOrch"
4 targetNamespace="urn:gov:hhs:fha:nhinc:gateway:entityinternalorchbpel:entitycomponentinternaldocqueryorch"
5 xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
6 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7 xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
8 xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
9 xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
10 xmlns:tns="urn:gov:hhs:fha:nhinc:gateway:entityinternalorchbpel:entitycomponentinternaldocqueryorch"
11 xmlns:ns0="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0"
12 xmlns:ns1="urn:gov:hhs:fha:nhinc:common:nhinccommon"
13 xmlns:ns2="urn:gov:hhs:fha:nhinc:common:nhinccommonproxy"
14 xmlns:ns3="urn:gov:hhs:fha:nhinc:common:entitycommoninternalorch"
15 xmlns:ns4="urn:gov:hhs:fha:nhinc:common:aggregator"
16 xmlns:ns6="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
17 xmlns:ns7="urn:gov:hhs:fha:nhinc:common:nhinccommondocumenttransform" xmlns:ns8="urn:gov:hhs:fha:nhinc:gateway:aggregator" xmlns:ns9="urn:gov:hhs:fha:nhinc:common:connectionmanagerinfo">
18 <import namespace="urn:gov:hhs:fha:nhinc:entitycomponentinternaldocqueryorch" location="Interfaces/wsdl/EntityComponentInternalDocQueryOrch.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
19 <import namespace="urn:gov:hhs:fha:nhinc:nhincproxydocquery" location="Interfaces/wsdl/NhincProxyDocQuery.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
20 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentaggregator" location="Interfaces/wsdl/NhincComponentAggregator.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
21 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentdocumenttransform" location="Interfaces/wsdl/NhincComponentDocumentTransform.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
22 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" location="Interfaces/wsdl/NhincComponentConnectionManager.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
23 <partnerLinks>
24 <partnerLink name="DocTransformPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentdocumenttransform" partnerLinkType="tns:NhincComponentDocumentTransform" partnerRole="NhincComponentDocumentTransformPortTypeRole"/>
25 <partnerLink name="ConnectionManagerPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" partnerLinkType="tns:NhincComponentConnectionManager" partnerRole="NhincComponentConnectionManagerPortTypeRole"/>
26 <partnerLink name="NhinProxyDocQueryPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxydocquery" partnerLinkType="tns:NhincProxyDocQuery" partnerRole="NhincProxyDocQueryPortTypeRole"/>
27 <partnerLink name="AggregatorPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentaggregator" partnerLinkType="tns:NhincComponentAggregator" partnerRole="NhincComponentAggregatorPortTypeRole"/>
28 <partnerLink name="InternalDocQueryOrchPL" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternaldocqueryorch" partnerLinkType="tns:EntityComponentInternalDocQueryOrch" myRole="EntityComponentInternalDocQueryOrchPortTypeRole"/>
29 </partnerLinks>
30 <variables>
31 <variable name="SendAdhocQueryOut" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternaldocqueryorch" messageType="tns:SendAdhocQueryResponseMessage"/>
32 <variable name="SendAdhocQueryIn" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternaldocqueryorch" messageType="tns:SendAdhocQueryRequestMessage"/>
33 </variables>
34 <sequence>
35 <receive name="ReceiveInternalDocQuery" createInstance="yes" partnerLink="InternalDocQueryOrchPL" operation="SendAdhocQuery" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternaldocqueryorch" portType="tns:EntityComponentInternalDocQueryOrchPortType" variable="SendAdhocQueryIn"/>
36 <scope name="InternalDocQueryScope">
37 <variables>
38 <variable name="GetHomeCommunityByAssigningAuthorityOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetHomeCommunityByAssigningAuthorityResponseMessage"/>
39 <variable name="GetHomeCommunityByAssigningAuthorityIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetHomeCommunityByAssigningAuthorityRequestMessage"/>
40 <variable name="ReplaceAdhocQueryPatientIdOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentdocumenttransform" messageType="tns:ReplaceAdhocQueryPatientIdResponse"/>
41 <variable name="ReplaceAdhocQueryPatientIdIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentdocumenttransform" messageType="tns:ReplaceAdhocQueryPatientIdRequest"/>
42 <variable name="SetResponseMsgDocQueryOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentaggregator" messageType="tns:SetResponseMsgDocQueryResponseMessage"/>
43 <variable name="SetResponseMsgDocQueryIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentaggregator" messageType="tns:SetResponseMsgDocQueryRequestMessage"/>
44 <variable name="Proxy_CrossGatewayQueryOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxydocquery" messageType="tns:RespondingGateway_CrossGatewayQueryResponseMessage"/>
45 <variable name="Proxy_CrossGatewayQueryIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxydocquery" messageType="tns:RespondingGateway_CrossGatewayQueryRequestMessage"/>
46 </variables>
47 <faultHandlers>
48 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
49 <sequence name="SystemFaultSeq">
50 <assign name="AssignResponseFromError">
51 <sxt:trace>
52 <sxt:log level="info" location="onStart">
53 <from>'EntityComponentInternalDocQueryOrch.bpel - A system fault was encountered sending an individual document query message. Fault details follow...'</from>
54 </sxt:log>
55 <sxt:log level="warning" location="onStart">
56 <ns6:from variable="systemFaultVar"/>
57 </sxt:log>
58 </sxt:trace>
59 <copy>
60 <from>'ERROR'</from>
61 <to>$SendAdhocQueryOut.SendAdhocQueryResponse/ns3:Status</to>
62 </copy>
63 </assign>
64 </sequence>
65 </catch>
66 </faultHandlers>
67 <sequence name="InternalDocQuerySeq">
68 <empty name="TODO_LookupCommunityFromAssigningAuth"/>
69 <assign name="AssignAssingningAuthority">
70 <copy>
71 <from>$SendAdhocQueryIn.SendAdhocQueryRequest/ns1:QualifiedSubjectIdentifier/ns1:AssigningAuthorityIdentifier</from>
72 <to>$GetHomeCommunityByAssigningAuthorityIn.GetHomeCommunityByAssigningAuthorityRequest/ns9:AssigningAuthorities/ns1:assigningAuthorityId</to>
73 </copy>
74 </assign>
75 <invoke name="InvokeGetHomeCommunityId" partnerLink="ConnectionManagerPL" operation="GetHomeCommunityByAssigningAuthority" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="GetHomeCommunityByAssigningAuthorityIn" outputVariable="GetHomeCommunityByAssigningAuthorityOut"/>
76 <assign name="AssignDocTransformInput">
77 <sxt:trace>
78 <sxt:log level="info" location="onStart">
79 <ns6:from>'@@@ EntityComponentInternalDocQueryOrch - processing a message'</ns6:from>
80 </sxt:log>
81 </sxt:trace>
82 <copy>
83 <from>$SendAdhocQueryIn.SendAdhocQueryRequest/ns0:AdhocQueryRequest</from>
84 <to>$ReplaceAdhocQueryPatientIdIn.ReplaceAdhocQueryPatientIdRequest/ns0:AdhocQueryRequest</to>
85 </copy>
86 <copy>
87 <from>$SendAdhocQueryIn.SendAdhocQueryRequest/ns1:QualifiedSubjectIdentifier</from>
88 <to>$ReplaceAdhocQueryPatientIdIn.ReplaceAdhocQueryPatientIdRequest/ns7:QualifiedSubjectIdentifier</to>
89 </copy>
90 <copy>
91 <from>$GetHomeCommunityByAssigningAuthorityOut.GetHomeCommunityByAssigningAuthorityResponse/ns9:HomeCommunity/ns1:homeCommunityId</from>
92 <to>$ReplaceAdhocQueryPatientIdIn.ReplaceAdhocQueryPatientIdRequest/ns7:HomeCommunityId</to>
93 </copy>
94 </assign>
95 <invoke name="InvokeDocTransform" partnerLink="DocTransformPL" operation="ReplaceAdhocQueryPatientId" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentdocumenttransform" portType="tns:NhincComponentDocumentTransformPortType" inputVariable="ReplaceAdhocQueryPatientIdIn" outputVariable="ReplaceAdhocQueryPatientIdOut"/>
96 <assign name="AssignProxyDocQueryInput">
97 <sxt:trace>
98 <sxt:log level="info" location="onStart">
99 <ns6:from>concat("Lookup on assigning authority '", $SendAdhocQueryIn.SendAdhocQueryRequest/ns1:QualifiedSubjectIdentifier/ns1:AssiginingAuthorityIdentifier, "' found home community id: ", $GetHomeCommunityByAssigningAuthorityOut.GetHomeCommunityByAssigningAuthorityResponse/ns9:HomeCommunity/ns1:homeCommunityId)</ns6:from>
100 </sxt:log>
101 </sxt:trace>
102 <copy>
103 <from>$SendAdhocQueryIn.SendAdhocQueryRequest/ns1:Assertion</from>
104 <to>$Proxy_CrossGatewayQueryIn.RespondingGateway_CrossGatewayQueryRequest/ns2:assertion</to>
105 </copy>
106 <copy>
107 <from>$ReplaceAdhocQueryPatientIdOut.ReplaceAdhocQueryPatientIdResponse/ns0:AdhocQueryRequest</from>
108 <to>$Proxy_CrossGatewayQueryIn.RespondingGateway_CrossGatewayQueryRequest/ns0:AdhocQueryRequest</to>
109 </copy>
110 <copy>
111 <from>$GetHomeCommunityByAssigningAuthorityOut.GetHomeCommunityByAssigningAuthorityResponse/ns9:HomeCommunity/ns1:homeCommunityId</from>
112 <to>$Proxy_CrossGatewayQueryIn.RespondingGateway_CrossGatewayQueryRequest/ns2:nhinTargetSystem/ns1:homeCommunity/ns1:homeCommunityId</to>
113 </copy>
114 </assign>
115 <invoke name="InvokeNhinProxyDocQuery" partnerLink="NhinProxyDocQueryPL" operation="RespondingGateway_CrossGatewayQuery" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxydocquery" portType="tns:NhincProxyDocQueryPortType" inputVariable="Proxy_CrossGatewayQueryIn" outputVariable="Proxy_CrossGatewayQueryOut">
116 <sxt:trace>
117 <sxt:log level="warning" location="onStart">
118 <ns6:from>'@@@ Sending a message to the doc query proxy'</ns6:from>
119 </sxt:log>
120 </sxt:trace>
121 </invoke>
122 <assign name="AssignAggregatorInput">
123 <sxt:trace>
124 <sxt:log level="warning" location="onStart">
125 <ns6:from>'@@@ Response from NhinProxyQuery'</ns6:from>
126 </sxt:log>
127 <sxt:log level="info" location="onStart">
128 <ns6:from variable="Proxy_CrossGatewayQueryOut"/>
129 </sxt:log>
130 </sxt:trace>
131 <copy>
132 <from variable="Proxy_CrossGatewayQueryOut" part="RespondingGateway_CrossGatewayQueryResponse"/>
133 <to>$SetResponseMsgDocQueryIn.SetResponseMsgDocQueryRequest/ns0:AdhocQueryResponse</to>
134 </copy>
135 <copy>
136 <from>$SendAdhocQueryIn.SendAdhocQueryRequest/ns3:TransactionId</from>
137 <to>$SetResponseMsgDocQueryIn.SetResponseMsgDocQueryRequest/ns8:transactionId</to>
138 </copy>
139 <copy>
140 <from>$SendAdhocQueryIn.SendAdhocQueryRequest/ns1:QualifiedSubjectIdentifier</from>
141 <to>$SetResponseMsgDocQueryIn.SetResponseMsgDocQueryRequest/ns8:qualifiedPatientIdentifier</to>
142 </copy>
143 <copy>
144 <from>$GetHomeCommunityByAssigningAuthorityOut.GetHomeCommunityByAssigningAuthorityResponse/ns9:HomeCommunity/ns1:homeCommunityId</from>
145 <to>$SetResponseMsgDocQueryIn.SetResponseMsgDocQueryRequest/ns8:homeCommunityId</to>
146 </copy>
147 </assign>
148 <invoke name="InvokeAggregatorResponse" partnerLink="AggregatorPL" operation="SetResponseMsgDocQuery" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentaggregator" portType="tns:NhincComponentAggregatorPortType" inputVariable="SetResponseMsgDocQueryIn" outputVariable="SetResponseMsgDocQueryOut">
149 <sxt:trace>
150 <sxt:log level="info" location="onStart">
151 <ns6:from>'@@@ Calling set aggregator response'</ns6:from>
152 </sxt:log>
153 </sxt:trace>
154 </invoke>
155 <assign name="AssignResponseStatus">
156 <copy>
157 <from>$SetResponseMsgDocQueryOut.SetResponseMsgDocQueryResponse/ns8:status</from>
158 <to>$SendAdhocQueryOut.SendAdhocQueryResponse/ns3:Status</to>
159 </copy>
160 </assign>
161 </sequence>
162 </scope>
163 <reply name="ReplySendAdhocQuery" partnerLink="InternalDocQueryOrchPL" operation="SendAdhocQuery" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternaldocqueryorch" portType="tns:EntityComponentInternalDocQueryOrchPortType" variable="SendAdhocQueryOut"/>
164 </sequence>
165</process>
Note: See TracBrowser for help on using the repository browser.