source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Adapters/General/AdapterPolicyEngineBPEL/src/AdapterPolicyEngineOrchestrator.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: 47.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="AdapterPolicyEngineOrchestrator"
4 targetNamespace="urn:gov:hhs:fha:nhinc:adapters:general:adapterpolicyenginebpel:adapterpolicyengineorchestrator"
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:sxat="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Attachment"
10 xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
11 xmlns:tns="urn:gov:hhs:fha:nhinc:adapters:general:adapterpolicyenginebpel:adapterpolicyengineorchestrator" xmlns:ns0="urn:gov:hhs:fha:nhinc:common:nhinccommonadapter" xmlns:ns1="urn:oasis:names:tc:xacml:2.0:context:schema:os">
12 <import namespace="urn:gov:hhs:fha:nhinc:adapterpolicyengineorchestrator" location="Interfaces/wsdl/AdapterPolicyEngineOrchestrator.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
13 <import namespace="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" location="Interfaces/wsdl/AdapterPolicyEngineInterim.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
14 <partnerLinks>
15 <partnerLink name="AdapterPolicyEngineInterimPL" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" partnerLinkType="tns:AdapterPolicyEngineInterim" partnerRole="AdapterPolicyEngineInterimPortTypeRole"/>
16 <partnerLink name="AdapterPolicyEngineOrchestratorPL" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineorchestrator" partnerLinkType="tns:AdapterPolicyEngineOrchestrator" myRole="AdapterPolicyEngineOrchestratorPortTypeRole"/>
17 </partnerLinks>
18 <variables>
19 <variable name="CheckPolicyOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineorchestrator" messageType="tns:CheckPolicyResponseMessage"/>
20 <variable name="CheckPolicyInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineorchestrator" messageType="tns:CheckPolicyRequestMessage"/>
21 </variables>
22 <sequence name="SequenceOuterAdapterPolicyEngineOrchestrator">
23 <scope name="ScopeAdapterPolicyEngineOrchestrator">
24 <variables>
25 <variable name="CheckPolicySubjDiscReIdentOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscReIdentOutResponseMessage"/>
26 <variable name="CheckPolicySubjDiscReIdentOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscReIdentOutRequestMessage"/>
27 <variable name="CheckPolicySubjDiscReIdentInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscReIdentInResponseMessage"/>
28 <variable name="CheckPolicySubjDiscReIdentInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscReIdentInRequestMessage"/>
29 <variable name="CheckPolicyHIEMNotifyOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMNotifyOutResponseMessage"/>
30 <variable name="CheckPolicyHIEMNotifyOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMNotifyOutRequestMessage"/>
31 <variable name="CheckPolicyHIEMNotifyInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMNotifyInResponseMessage"/>
32 <variable name="CheckPolicyHIEMNotifyInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMNotifyInRequestMessage"/>
33 <variable name="CheckPolicyHIEMSubscCnclOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscCnclOutResponseMessage"/>
34 <variable name="CheckPolicyHIEMSubscCnclOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscCnclOutRequestMessage"/>
35 <variable name="CheckPolicyHIEMSubscCnclInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscCnclInResponseMessage"/>
36 <variable name="CheckPolicyHIEMSubscCnclInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscCnclInRequestMessage"/>
37 <variable name="CheckPolicyHIEMSubscRqstOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscRqstOutResponseMessage"/>
38 <variable name="CheckPolicyHIEMSubscRqstOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscRqstOutRequestMessage"/>
39 <variable name="CheckPolicyHIEMSubscRqstInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscRqstInResponseMessage"/>
40 <variable name="CheckPolicyHIEMSubscRqstInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyHIEMSubscRqstInRequestMessage"/>
41 <variable name="CheckPolicyAuditLogQueryOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyAuditLogQueryOutResponseMessage"/>
42 <variable name="CheckPolicyAuditLogQueryOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyAuditLogQueryOutRequestMessage"/>
43 <variable name="CheckPolicyAuditLogQueryInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyAuditLogQueryInResponseMessage"/>
44 <variable name="CheckPolicyAuditLogQueryInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyAuditLogQueryInRequestMessage"/>
45 <variable name="CheckPolicyDocRetrieveOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocRetrieveOutResponseMessage"/>
46 <variable name="CheckPolicyDocRetrieveOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocRetrieveOutRequestMessage"/>
47 <variable name="CheckPolicyDocRetrieveInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocRetrieveInResponseMessage"/>
48 <variable name="CheckPolicyDocRetrieveInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocRetrieveInRequestMessage"/>
49 <variable name="CheckPolicyDocQueryOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocQueryOutResponseMessage"/>
50 <variable name="CheckPolicyDocQueryOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocQueryOutRequestMessage"/>
51 <variable name="CheckPolicyDocQueryInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocQueryInResponseMessage"/>
52 <variable name="CheckPolicyDocQueryInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicyDocQueryInRequestMessage"/>
53 <variable name="CheckPolicySubjDiscRevokeOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscRevokeOutResponseMessage"/>
54 <variable name="CheckPolicySubjDiscRevokeOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscRevokeOutRequestMessage"/>
55 <variable name="CheckPolicySubjDiscRevokeInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscRevokeInResponseMessage"/>
56 <variable name="CheckPolicySubjDiscRevokeInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscRevokeInRequestMessage"/>
57 <variable name="CheckPolicySubjDiscOutOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscOutResponseMessage"/>
58 <variable name="CheckPolicySubjDiscOutInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscOutRequestMessage"/>
59 <variable name="CheckPolicySubjDiscInOutput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscInResponseMessage"/>
60 <variable name="CheckPolicySubjDiscInInput" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" messageType="tns:CheckPolicySubjDiscInRequestMessage"/>
61 <variable name="ActionValue" type="xsd:string"/>
62 <variable name="NumActionAttributes" type="xsd:integer"/>
63 </variables>
64 <faultHandlers>
65 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
66 <sequence name="SystemFaultSeq">
67 <assign name="AssignSystemFaultCheckPolicy">
68 <sxt:trace>
69 <sxt:log level="warning" location="onStart">
70 <from>'A fault occurred while processing AdapterPolicyEngineInterimOrchestrator::CheckPolicy - Returning "Deny".'</from>
71 </sxt:log>
72 <sxt:log level="info" location="onStart">
73 <from variable="CheckPolicyInput"/>
74 </sxt:log>
75 <sxt:log level="severe" location="onStart">
76 <from variable="systemFaultVar"/>
77 </sxt:log>
78 </sxt:trace>
79 <copy>
80 <from>'Deny'</from>
81 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response/ns1:Result/ns1:Decision</to>
82 </copy>
83 </assign>
84 </sequence>
85 </catch>
86 <catchAll>
87 <sequence name="SequenceFaultCatchAll">
88 <assign name="AssignCatchAllFaultCheckPolicy">
89 <sxt:trace>
90 <sxt:log level="warning" location="onStart">
91 <from>"AdapterPolicyEngine::CheckPolicy - An unexpected error has occurred. Returning 'Deny'."</from>
92 </sxt:log>
93 <sxt:log level="info" location="onStart">
94 <from variable="CheckPolicyInput"/>
95 </sxt:log>
96 </sxt:trace>
97 <copy>
98 <from>'Deny'</from>
99 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response/ns1:Result/ns1:Decision</to>
100 </copy>
101 </assign>
102 </sequence>
103 </catchAll>
104 </faultHandlers>
105 <sequence name="SequenceAdapterPolicyEngineOrchestrator">
106 <receive name="ReceiveCheckPolicy" createInstance="yes" partnerLink="AdapterPolicyEngineOrchestratorPL" operation="CheckPolicy" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineorchestrator" portType="tns:AdapterPolicyEngineOrchestratorPortType" variable="CheckPolicyInput">
107 <sxt:trace>
108 <sxt:log level="warning" location="onComplete">
109 <from>'AdapterPolicyEngineOrchestrator::CheckPolicy request:'</from>
110 </sxt:log>
111 <sxt:log level="info" location="onComplete">
112 <from variable="CheckPolicyInput"/>
113 </sxt:log>
114 </sxt:trace>
115 </receive>
116 <assign name="AssignLoopSetupVars">
117 <copy>
118 <from>''</from>
119 <to variable="ActionValue"/>
120 </copy>
121 <copy>
122 <from>count($CheckPolicyInput.CheckPolicyRequest/ns0:request/ns1:Action/ns1:Attribute)</from>
123 <to variable="NumActionAttributes"/>
124 </copy>
125 </assign>
126 <forEach name="ForEachActionAttribute" parallel="no" counterName="ActionAttrIdx">
127 <startCounterValue>1</startCounterValue>
128 <finalCounterValue>$NumActionAttributes</finalCounterValue>
129 <scope name="ScopeForEachActionAttribute">
130 <variables>
131 <variable name="ActionAttributeId" type="xsd:string"/>
132 </variables>
133 <sequence name="SequenceForEachActionAttribute">
134 <assign name="AssignAttributeId">
135 <copy>
136 <from>string($CheckPolicyInput.CheckPolicyRequest/ns0:request/ns1:Action/ns1:Attribute[$ActionAttrIdx]/@AttributeId)</from>
137 <to variable="ActionAttributeId"/>
138 </copy>
139 </assign>
140 <if name="IfThisIsTheAction">
141 <condition>'urn:oasis:names:tc:xacml:1.0:action:action-id' = $ActionAttributeId</condition>
142 <assign name="AssignAttributeValue">
143 <copy>
144 <from>normalize-space(string($CheckPolicyInput.CheckPolicyRequest/ns0:request/ns1:Action/ns1:Attribute[$ActionAttrIdx]/ns1:AttributeValue))
145 <sxed:editor>
146 <sxed:predicate path="$CheckPolicyInput.CheckPolicyRequest/ns0:request/ns1:Action/ns1:Attribute[$ActionAttrIdx]" source="from"/>
147 </sxed:editor>
148 </from>
149 <to variable="ActionValue"/>
150 </copy>
151 </assign>
152 </if>
153 </sequence>
154 </scope>
155 </forEach>
156 <if name="IfWhichAction">
157 <condition>'SubjectDiscoveryIn' = $ActionValue</condition>
158 <sequence name="SequenceCheckPolicySubjectDiscoveryIn">
159 <assign name="AssignInvokeSubjDiscIn">
160 <sxt:trace>
161 <sxt:log level="warning" location="onStart">
162 <from>concat("Action: '", $ActionValue, "'")</from>
163 </sxt:log>
164 </sxt:trace>
165 <copy>
166 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
167 <to>$CheckPolicySubjDiscInInput.CheckPolicySubjDiscInRequest/ns0:request</to>
168 </copy>
169 </assign>
170 <invoke name="InvokeSubjDiscIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicySubjDiscIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicySubjDiscInInput" outputVariable="CheckPolicySubjDiscInOutput"/>
171 <assign name="AssignReplySubjDiscIn">
172 <copy>
173 <from>$CheckPolicySubjDiscInOutput.CheckPolicySubjDiscInResponse/ns0:response</from>
174 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
175 </copy>
176 </assign>
177 </sequence>
178 <elseif>
179 <condition>'SubjectDiscoveryOut' = $ActionValue</condition>
180 <sequence name="SequenceCheckPolicySubjectDiscoveryOut">
181 <assign name="AssignInvokeSubjDiscOut">
182 <sxt:trace>
183 <sxt:log level="warning" location="onStart">
184 <from>concat("Action: '", $ActionValue, "'")</from>
185 </sxt:log>
186 </sxt:trace>
187 <copy>
188 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
189 <to>$CheckPolicySubjDiscOutInput.CheckPolicySubjDiscOutRequest/ns0:request</to>
190 </copy>
191 </assign>
192 <invoke name="InvokeSubjDiscOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicySubjDiscOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicySubjDiscOutInput" outputVariable="CheckPolicySubjDiscOutOutput"/>
193 <assign name="AssignReplySubjDiscOut">
194 <copy>
195 <from>$CheckPolicySubjDiscOutOutput.CheckPolicySubjDiscOutResponse/ns0:response</from>
196 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
197 </copy>
198 </assign>
199 </sequence>
200 </elseif>
201 <elseif>
202 <condition>'SubjectRevokedIn' = $ActionValue</condition>
203 <sequence name="SequenceCheckPolicySubjDiscRevokeIn">
204 <assign name="AssignInvokeSubjDiscRevokeIn">
205 <sxt:trace>
206 <sxt:log level="warning" location="onStart">
207 <from>concat("Action: '", $ActionValue, "'")</from>
208 </sxt:log>
209 </sxt:trace>
210 <copy>
211 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
212 <to>$CheckPolicySubjDiscRevokeInInput.CheckPolicySubjDiscRevokeInRequest/ns0:request</to>
213 </copy>
214 </assign>
215 <invoke name="InvokeSubjDiscRevokeIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicySubjDiscRevokeIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicySubjDiscRevokeInInput" outputVariable="CheckPolicySubjDiscRevokeInOutput"/>
216 <assign name="AssignReplySubjDiscRevokeIn">
217 <copy>
218 <from>$CheckPolicySubjDiscRevokeInOutput.CheckPolicySubjDiscRevokeInResponse/ns0:response</from>
219 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
220 </copy>
221 </assign>
222 </sequence>
223 </elseif>
224 <elseif>
225 <condition>'SubjectRevokedOut' = $ActionValue</condition>
226 <sequence name="SequenceCheckPolicySubjDiscRevokeOut">
227 <assign name="AssignInvokeSubjDiscRevokeOut">
228 <sxt:trace>
229 <sxt:log level="warning" location="onStart">
230 <from>concat("Action: '", $ActionValue, "'")</from>
231 </sxt:log>
232 </sxt:trace>
233 <copy>
234 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
235 <to>$CheckPolicySubjDiscRevokeOutInput.CheckPolicySubjDiscRevokeOutRequest/ns0:request</to>
236 </copy>
237 </assign>
238 <invoke name="InvokeSubjDiscRevokeOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicySubjDiscRevokeOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicySubjDiscRevokeOutInput" outputVariable="CheckPolicySubjDiscRevokeOutOutput"/>
239 <assign name="AssignReplySubjDiscRevokeOut">
240 <copy>
241 <from>$CheckPolicySubjDiscRevokeOutOutput.CheckPolicySubjDiscRevokeOutResponse/ns0:response</from>
242 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
243 </copy>
244 </assign>
245 </sequence>
246 </elseif>
247 <elseif>
248 <condition>'DocumentQueryIn' = $ActionValue</condition>
249 <sequence name="SequenceCheckPolicyDocQueryIn">
250 <assign name="AssignInvokeDocQueryIn">
251 <sxt:trace>
252 <sxt:log level="warning" location="onStart">
253 <from>concat("Action: '", $ActionValue, "'")</from>
254 </sxt:log>
255 </sxt:trace>
256 <copy>
257 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
258 <to>$CheckPolicyDocQueryInInput.CheckPolicyDocQueryInRequest/ns0:request</to>
259 </copy>
260 </assign>
261 <invoke name="InvokeDocQueryIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyDocQueryIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyDocQueryInInput" outputVariable="CheckPolicyDocQueryInOutput"/>
262 <assign name="AssignReplyDocQueryIn">
263 <copy>
264 <from>$CheckPolicyDocQueryInOutput.CheckPolicyDocQueryInResponse/ns0:response</from>
265 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
266 </copy>
267 </assign>
268 </sequence>
269 </elseif>
270 <elseif>
271 <condition>'DocumentQueryOut' = $ActionValue</condition>
272 <sequence name="SequenceCheckPolicyDocQueryOut">
273 <assign name="AssignInvokeDocQueryOut">
274 <sxt:trace>
275 <sxt:log level="warning" location="onStart">
276 <from>concat("Action: '", $ActionValue, "'")</from>
277 </sxt:log>
278 </sxt:trace>
279 <copy>
280 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
281 <to>$CheckPolicyDocQueryOutInput.CheckPolicyDocQueryOutRequest/ns0:request</to>
282 </copy>
283 </assign>
284 <invoke name="InvokeDocQueryOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyDocQueryOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyDocQueryOutInput" outputVariable="CheckPolicyDocQueryOutOutput"/>
285 <assign name="AssignReplyDocQueryOut">
286 <copy>
287 <from>$CheckPolicyDocQueryOutOutput.CheckPolicyDocQueryOutResponse/ns0:response</from>
288 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
289 </copy>
290 </assign>
291 </sequence>
292 </elseif>
293 <elseif>
294 <condition>'DocumentRetrieveIn' = $ActionValue</condition>
295 <sequence name="SequenceCheckPolicyDocRetrieveIn">
296 <assign name="AssignInvokeDocRetrieveIn">
297 <sxt:trace>
298 <sxt:log level="warning" location="onStart">
299 <from>concat("Action: '", $ActionValue, "'")</from>
300 </sxt:log>
301 </sxt:trace>
302 <copy>
303 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
304 <to>$CheckPolicyDocRetrieveInInput.CheckPolicyDocRetrieveInRequest/ns0:request</to>
305 </copy>
306 </assign>
307 <invoke name="InvokeDocRetrieveIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyDocRetrieveIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyDocRetrieveInInput" outputVariable="CheckPolicyDocRetrieveInOutput"/>
308 <assign name="AssignReplyDocRetrieveIn">
309 <copy>
310 <from>$CheckPolicyDocRetrieveInOutput.CheckPolicyDocRetrieveInResponse/ns0:response</from>
311 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
312 </copy>
313 </assign>
314 </sequence>
315 </elseif>
316 <elseif>
317 <condition>'DocumentRetrieveOut' = $ActionValue</condition>
318 <sequence name="SequenceCheckPolicyDocRetrieveOut">
319 <assign name="AssignInvokeDocRetrieveOut">
320 <sxt:trace>
321 <sxt:log level="warning" location="onStart">
322 <from>concat("Action: '", $ActionValue, "'")</from>
323 </sxt:log>
324 </sxt:trace>
325 <copy>
326 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
327 <to>$CheckPolicyDocRetrieveOutInput.CheckPolicyDocRetrieveOutRequest/ns0:request</to>
328 </copy>
329 </assign>
330 <invoke name="InvokeDocRetrieveOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyDocRetrieveOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyDocRetrieveOutInput" outputVariable="CheckPolicyDocRetrieveOutOutput"/>
331 <assign name="AssignReplyDocRetrieveOut">
332 <copy>
333 <from>$CheckPolicyDocRetrieveOutOutput.CheckPolicyDocRetrieveOutResponse/ns0:response</from>
334 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
335 </copy>
336 </assign>
337 </sequence>
338 </elseif>
339 <elseif>
340 <condition>'AuditLogQueryIn' = $ActionValue</condition>
341 <sequence name="SequenceCheckPolicyAuditLogQueryIn">
342 <assign name="AssignInvokeAuditLogQueryIn">
343 <sxt:trace>
344 <sxt:log level="warning" location="onStart">
345 <from>concat("Action: '", $ActionValue, "'")</from>
346 </sxt:log>
347 </sxt:trace>
348 <copy>
349 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
350 <to>$CheckPolicyAuditLogQueryInInput.CheckPolicyAuditLogQueryInRequest/ns0:request</to>
351 </copy>
352 </assign>
353 <invoke name="InvokeAuditLogQueryIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyAuditLogQueryIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyAuditLogQueryInInput" outputVariable="CheckPolicyAuditLogQueryInOutput"/>
354 <assign name="AssignReplyAuditLogQueryIn">
355 <copy>
356 <from>$CheckPolicyAuditLogQueryInOutput.CheckPolicyAuditLogQueryInResponse/ns0:response</from>
357 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
358 </copy>
359 </assign>
360 </sequence>
361 </elseif>
362 <elseif>
363 <condition>'AuditLogQueryOut' = $ActionValue</condition>
364 <sequence name="SequenceCheckPolicyAuditLogQueryOut">
365 <assign name="AssignInvokeAuditLogQueryOut">
366 <sxt:trace>
367 <sxt:log level="warning" location="onStart">
368 <from>concat("Action: '", $ActionValue, "'")</from>
369 </sxt:log>
370 </sxt:trace>
371 <copy>
372 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
373 <to>$CheckPolicyAuditLogQueryOutInput.CheckPolicyAuditLogQueryOutRequest/ns0:request</to>
374 </copy>
375 </assign>
376 <invoke name="InvokeAuditLogQueryOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyAuditLogQueryOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyAuditLogQueryOutInput" outputVariable="CheckPolicyAuditLogQueryOutOutput"/>
377 <assign name="AssignReplyAuditLogQueryOut">
378 <copy>
379 <from>$CheckPolicyAuditLogQueryOutOutput.CheckPolicyAuditLogQueryOutResponse/ns0:response</from>
380 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
381 </copy>
382 </assign>
383 </sequence>
384 </elseif>
385 <elseif>
386 <condition>'HIEMSubscriptionRequestIn' = $ActionValue</condition>
387 <sequence name="SequenceCheckPolicyHIEMSubscRqstIn">
388 <assign name="AssignInvokeHIEMSubscRqstIn">
389 <sxt:trace>
390 <sxt:log level="warning" location="onStart">
391 <from>concat("Action: '", $ActionValue, "'")</from>
392 </sxt:log>
393 </sxt:trace>
394 <copy>
395 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
396 <to>$CheckPolicyHIEMSubscRqstInInput.CheckPolicyHIEMSubscRqstInRequest/ns0:request</to>
397 </copy>
398 </assign>
399 <invoke name="InvokeHIEMSubscRqstIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyHIEMSubscRqstIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyHIEMSubscRqstInInput" outputVariable="CheckPolicyHIEMSubscRqstInOutput"/>
400 <assign name="AssignReplyHIEMSubscRqstIn">
401 <copy>
402 <from>$CheckPolicyHIEMSubscRqstInOutput.CheckPolicyHIEMSubscRqstInResponse/ns0:response</from>
403 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
404 </copy>
405 </assign>
406 </sequence>
407 </elseif>
408 <elseif>
409 <condition>'HIEMSubscriptionRequestOut' = $ActionValue</condition>
410 <sequence name="SequenceCheckPolicyHIEMSubscRqstOut">
411 <assign name="AssignInvokeHIEMSubscRqstOut">
412 <sxt:trace>
413 <sxt:log level="warning" location="onStart">
414 <from>concat("Action: '", $ActionValue, "'")</from>
415 </sxt:log>
416 </sxt:trace>
417 <copy>
418 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
419 <to>$CheckPolicyHIEMSubscRqstOutInput.CheckPolicyHIEMSubscRqstOutRequest/ns0:request</to>
420 </copy>
421 </assign>
422 <invoke name="InvokeHIEMSubscRqstOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyHIEMSubscRqstOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyHIEMSubscRqstOutInput" outputVariable="CheckPolicyHIEMSubscRqstOutOutput"/>
423 <assign name="AssignReplyHIEMSubscRqstOut">
424 <copy>
425 <from>$CheckPolicyHIEMSubscRqstOutOutput.CheckPolicyHIEMSubscRqstOutResponse/ns0:response</from>
426 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
427 </copy>
428 </assign>
429 </sequence>
430 </elseif>
431 <elseif>
432 <condition>'HIEMSubscriptionCancelIn' = $ActionValue</condition>
433 <sequence name="SequenceCheckPolicyHIEMSubscCnclIn">
434 <assign name="AssignInvokeHIEMSubscCnclIn">
435 <sxt:trace>
436 <sxt:log level="warning" location="onStart">
437 <from>concat("Action: '", $ActionValue, "'")</from>
438 </sxt:log>
439 </sxt:trace>
440 <copy>
441 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
442 <to>$CheckPolicyHIEMSubscCnclInInput.CheckPolicyHIEMSubscCnclInRequest/ns0:request</to>
443 </copy>
444 </assign>
445 <invoke name="InvokeHIEMSubscCnclIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyHIEMSubscCnclIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyHIEMSubscCnclInInput" outputVariable="CheckPolicyHIEMSubscCnclInOutput"/>
446 <assign name="AssignReplyHIEMSubscCnclIn">
447 <copy>
448 <from>$CheckPolicyHIEMSubscCnclInOutput.CheckPolicyHIEMSubscCnclInResponse/ns0:response</from>
449 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
450 </copy>
451 </assign>
452 </sequence>
453 </elseif>
454 <elseif>
455 <condition>'HIEMSubscriptionCancelOut' = $ActionValue</condition>
456 <sequence name="SequenceCheckPolicyHIEMSubscCnclOut">
457 <assign name="AssignInvokeHIEMSubscCnclOut">
458 <sxt:trace>
459 <sxt:log level="warning" location="onStart">
460 <from>concat("Action: '", $ActionValue, "'")</from>
461 </sxt:log>
462 </sxt:trace>
463 <copy>
464 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
465 <to>$CheckPolicyHIEMSubscCnclOutInput.CheckPolicyHIEMSubscCnclOutRequest/ns0:request</to>
466 </copy>
467 </assign>
468 <invoke name="InvokeHIEMSubscCnclOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyHIEMSubscCnclOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyHIEMSubscCnclOutInput" outputVariable="CheckPolicyHIEMSubscCnclOutOutput"/>
469 <assign name="AssignReplyHIEMSubscCnclOut">
470 <copy>
471 <from>$CheckPolicyHIEMSubscCnclOutOutput.CheckPolicyHIEMSubscCnclOutResponse/ns0:response</from>
472 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
473 </copy>
474 </assign>
475 </sequence>
476 </elseif>
477 <elseif>
478 <condition>'HIEMNotifyIn' = $ActionValue</condition>
479 <sequence name="SequenceCheckPolicyHIEMNotifyIn">
480 <assign name="AssignInvokeHIEMNotifyIn">
481 <sxt:trace>
482 <sxt:log level="warning" location="onStart">
483 <from>concat("Action: '", $ActionValue, "'")</from>
484 </sxt:log>
485 </sxt:trace>
486 <copy>
487 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
488 <to>$CheckPolicyHIEMNotifyInInput.CheckPolicyHIEMNotifyInRequest/ns0:request</to>
489 </copy>
490 </assign>
491 <invoke name="InvokeHIEMNotifyIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyHIEMNotifyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyHIEMNotifyInInput" outputVariable="CheckPolicyHIEMNotifyInOutput"/>
492 <assign name="AssignReplyHIEMNotifyIn">
493 <copy>
494 <from>$CheckPolicyHIEMNotifyInOutput.CheckPolicyHIEMNotifyInResponse/ns0:response</from>
495 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
496 </copy>
497 </assign>
498 </sequence>
499 </elseif>
500 <elseif>
501 <condition>'HIEMNotifyOut' = $ActionValue</condition>
502 <sequence name="SequenceCheckPolicyHIEMNotifyOut">
503 <assign name="AssignInvokeHIEMNotifyOut">
504 <sxt:trace>
505 <sxt:log level="warning" location="onStart">
506 <from>concat("Action: '", $ActionValue, "'")</from>
507 </sxt:log>
508 </sxt:trace>
509 <copy>
510 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
511 <to>$CheckPolicyHIEMNotifyOutInput.CheckPolicyHIEMNotifyOutRequest/ns0:request</to>
512 </copy>
513 </assign>
514 <invoke name="InvokeHIEMNotifyOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicyHIEMNotifyOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicyHIEMNotifyOutInput" outputVariable="CheckPolicyHIEMNotifyOutOutput"/>
515 <assign name="AssignReplyHIEMNotifyOut">
516 <copy>
517 <from>$CheckPolicyHIEMNotifyOutOutput.CheckPolicyHIEMNotifyOutResponse/ns0:response</from>
518 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
519 </copy>
520 </assign>
521 </sequence>
522 </elseif>
523 <elseif>
524 <condition>'SubjectDiscoveryReidentificationIn' = $ActionValue</condition>
525 <sequence name="SequenceCheckPolicySubjDiscReIdentIn">
526 <assign name="AssignInvokeSubjDiscReIdentIn">
527 <sxt:trace>
528 <sxt:log level="warning" location="onStart">
529 <from>concat("Action: '", $ActionValue, "'")</from>
530 </sxt:log>
531 </sxt:trace>
532 <copy>
533 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
534 <to>$CheckPolicySubjDiscReIdentInInput.CheckPolicySubjDiscReIdentInRequest/ns0:request</to>
535 </copy>
536 </assign>
537 <invoke name="InvokeSubjDiscReIdentIn" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicySubjDiscReIdentIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicySubjDiscReIdentInInput" outputVariable="CheckPolicySubjDiscReIdentInOutput"/>
538 <assign name="AssignReplySubjDiscReIdentIn">
539 <copy>
540 <from>$CheckPolicySubjDiscReIdentInOutput.CheckPolicySubjDiscReIdentInResponse/ns0:response</from>
541 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
542 </copy>
543 </assign>
544 </sequence>
545 </elseif>
546 <elseif>
547 <condition>'SubjectDiscoveryReidentificationOut' = $ActionValue</condition>
548 <sequence name="SequenceCheckPolicySubjDiscReIdentOut">
549 <assign name="AssignInvokeSubjDiscReIdentOut">
550 <sxt:trace>
551 <sxt:log level="warning" location="onStart">
552 <from>concat("Action: '", $ActionValue, "'")</from>
553 </sxt:log>
554 </sxt:trace>
555 <copy>
556 <from>$CheckPolicyInput.CheckPolicyRequest/ns0:request</from>
557 <to>$CheckPolicySubjDiscReIdentOutInput.CheckPolicySubjDiscReIdentOutRequest/ns0:request</to>
558 </copy>
559 </assign>
560 <invoke name="InvokeSubjDiscReIdentOut" partnerLink="AdapterPolicyEngineInterimPL" operation="CheckPolicySubjDiscReIdentOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineinterim" portType="tns:AdapterPolicyEngineInterimPortType" inputVariable="CheckPolicySubjDiscReIdentOutInput" outputVariable="CheckPolicySubjDiscReIdentOutOutput"/>
561 <assign name="AssignReplySubjDiscReIdentOut">
562 <copy>
563 <from>$CheckPolicySubjDiscReIdentOutOutput.CheckPolicySubjDiscReIdentOutResponse/ns0:response</from>
564 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response</to>
565 </copy>
566 </assign>
567 </sequence>
568 </elseif>
569 <else>
570 <assign name="AssignDeny">
571 <sxt:trace>
572 <sxt:log level="warning" location="onStart">
573 <from>concat("Action: '", $ActionValue, "' - Is currently unsupported. Returning 'Deny'.")</from>
574 </sxt:log>
575 </sxt:trace>
576 <copy>
577 <from>'Deny'</from>
578 <to>$CheckPolicyOutput.CheckPolicyResponse/ns0:response/ns1:Result/ns1:Decision</to>
579 </copy>
580 </assign>
581 </else>
582 </if>
583 </sequence>
584 </scope>
585 <reply name="ReplyCheckPolicy" partnerLink="AdapterPolicyEngineOrchestratorPL" operation="CheckPolicy" xmlns:tns="urn:gov:hhs:fha:nhinc:adapterpolicyengineorchestrator" portType="tns:AdapterPolicyEngineOrchestratorPortType" variable="CheckPolicyOutput">
586 <sxt:trace>
587 <sxt:log level="warning" location="onStart">
588 <from>'AdapterPolicyEngineOrchestrator::CheckPolicy response:'</from>
589 </sxt:log>
590 <sxt:log level="info" location="onStart">
591 <from variable="CheckPolicyOutput"/>
592 </sxt:log>
593 </sxt:trace>
594 </reply>
595 </sequence>
596</process>
Note: See TracBrowser for help on using the repository browser.