source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/NhincInternalOrchBPEL/src/NhincComponentInternalSubDiscovery201301Orch.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: 33.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="NhincComponentInternalSubDiscovery201301Orch"
4 targetNamespace="urn:gov:hhs:fha:nhinc:gateway:nhincinternalorchbpel:nhinccomponentinternalsubdiscovery201301"
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:nhincinternalorchbpel:nhinccomponentinternalsubdiscovery201301"
11 xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions"
12 xmlns:hl7="urn:hl7-org:v3"
13 xmlns:propacc="urn:gov:hhs:fha:nhinc:common:propertyaccess"
14 xmlns:ncpc="urn:gov:hhs:fha:nhinc:common:patientcorrelationfacade"
15 xmlns:nccommon="urn:gov:hhs:fha:nhinc:common:nhinccommon"
16 xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
17 xmlns:conninfo="urn:gov:hhs:fha:nhinc:common:connectionmanagerinfo" xmlns:ns0="urn:gov:hhs:fha:nhinc:common:eventcommon" xmlns:ns1="urn:gov:hhs:fha:nhinc:common:policyenginedte" xmlns:ns2="urn:oasis:names:tc:xacml:2.0:context:schema:os" xmlns:ns3="urn:gov:hhs:fha:nhinc:common:nhinccommonadapter">
18 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" location="Interfaces/wsdl/NhincComponentInternalSubDiscovery201301Orch.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
19 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" location="Interfaces/wsdl/NhincComponentPropAccessor.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
20 <import namespace="urn:gov:hhs:fha:nhinc:adaptermpi" location="Interfaces/wsdl/AdapterMpi.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
21 <import namespace="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" location="Interfaces/wsdl/NhincComponentPatientCorrelationFacade.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
22 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" location="Interfaces/wsdl/NhincComponentSubDiscTransforms.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
23 <import namespace="urn:gov:hhs:fha:nhinc:nhincproxysubjectdiscovery" location="Interfaces/wsdl/NhincProxySubjectDiscovery.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
24 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" location="Interfaces/wsdl/NhincComponentConnectionManager.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
25 <import namespace="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" location="Interfaces/wsdl/NhincComponentInternalPolicyEngineFacade.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
26 <partnerLinks>
27 <partnerLink name="PolicyEngineFacadePL" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" partnerLinkType="tns:NhincComponentInternalPolicyEngineFacade" partnerRole="NhincComponentInternalPolicyEngineFacadePortTypeRole"/>
28 <partnerLink name="PropAccessorPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" partnerLinkType="tns:NhincComponentPropAccessor" partnerRole="NhincComponentPropAccessorPortTypeRole"/>
29 <partnerLink name="SubDiscDataTransformsPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" partnerLinkType="tns:NhincComponentSubDiscTransforms" partnerRole="NhincComponentSubDiscTransformsPortTypeRole"/>
30 <partnerLink name="ConnectionMgrPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" partnerLinkType="tns:NhincComponentConnectionManager" partnerRole="NhincComponentConnectionManagerPortTypeRole"/>
31 <partnerLink name="MpiPL" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" partnerLinkType="tns:AdapterMpiService" partnerRole="AdapterMpiPortTypeRole"/>
32 <partnerLink name="PatientCorrelationPL" xmlns:tns="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" partnerLinkType="tns:PatientCorrelationFacadePartnerLinkType" partnerRole="PatientCorrelationPortTypeRole"/>
33 <partnerLink name="NhincProxySubjectDiscoveryPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubjectdiscovery" partnerLinkType="tns:NhincProxySubjectDiscovery" partnerRole="NhincProxySubjectDiscoveryPortTypeRole"/>
34 <partnerLink name="NhincComponentInternalSubDiscOrchPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" partnerLinkType="tns:NhincComponentInternalSubDiscovery201301Orch" myRole="NhincComponentInternalSubDiscovery201301OrchPortTypeRole"/>
35 </partnerLinks>
36 <variables>
37 <variable name="AnnounceNewPatientOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" messageType="tns:AnnounceNewPatientResponseMessage"/>
38 <variable name="AnnounceNewPatientIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" messageType="tns:AnnounceNewPatientRequestMessage"/>
39 </variables>
40 <sequence>
41 <receive name="ReceiveNhincComponentInternalSubDiscOrch" createInstance="yes" partnerLink="NhincComponentInternalSubDiscOrchPL" operation="AnnounceNewPatient" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" portType="tns:NhincComponentInternalSubDiscovery201301OrchPortType" variable="AnnounceNewPatientIn"/>
42 <scope name="NhincComponentInternalSubDiscOrchScope">
43 <variables>
44 <variable name="CheckPolicySubjectAddedOut" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicyResponseMessage"/>
45 <variable name="CheckPolicySubjectAddedIn" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicySubjectAddedRequestMessage"/>
46 <variable name="StoreAAToHCIDOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:StoreAssigningAuthorityToHomeCommunityMappingResponseMessage"/>
47 <variable name="StoreAAToHCIDIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:StoreAssigningAuthorityToHomeCommunityMappingRequestMessage"/>
48 <variable name="GetMpiEndpointIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpointByServiceNameRequestMessage"/>
49 <variable name="GetMpiEndPointOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpointByServiceNameResponseMessage"/>
50 <variable name="PIX201302Out" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubjectdiscovery" messageType="tns:PIXConsumer_PRPA_IN201302UVProxyResponseMessage"/>
51 <variable name="PIX201302In" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubjectdiscovery" messageType="tns:PIXConsumer_PRPA_IN201302UVProxyRequestMessage"/>
52 <variable name="Create201302Out" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:Create201302ResponseMessage"/>
53 <variable name="Create201302In" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:Create201302RequestMessage"/>
54 <variable name="GetHcidPropertyOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" messageType="tns:GetPropertyResponseMessage"/>
55 <variable name="GetHcidPropertyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" messageType="tns:GetPropertyRequestMessage"/>
56 <variable name="Create201305Out" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:Create201305ResponseMessage"/>
57 <variable name="Create201305In" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:Create201305RequestMessage"/>
58 <variable name="CreateAckOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:CreateAckResponseMessage"/>
59 <variable name="CreateAckIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:CreateAckRequestMessage"/>
60 <variable name="AddPatientCorrelationOut" xmlns:tns="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" messageType="tns:AddPatientCorrelationResponseMessage"/>
61 <variable name="AddPatientCorrelationIn" xmlns:tns="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" messageType="tns:AddPatientCorrelationRequestMessage"/>
62 <variable name="FindCandidatesOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" messageType="tns:FindCandidatesResponse"/>
63 <variable name="FindCandidatesIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" messageType="tns:FindCandidatesRequest"/>
64 </variables>
65 <faultHandlers>
66 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
67 <sequence name="SystemFaultSeq">
68 <assign name="AssignFaultAckDte">
69 <sxt:trace>
70 <sxt:log level="info" location="onStart">
71 <bpel:from>'NhinComponentInternalSubDiscovery201301Orch.bpel - A system fault was encounterd processing a 201301 message. Fault detials follow...'</bpel:from>
72 </sxt:log>
73 <sxt:log level="warning" location="onStart">
74 <bpel:from variable="systemFaultVar"/>
75 </sxt:log>
76 </sxt:trace>
77 <copy>
78 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:id</from>
79 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
80 </copy>
81 <copy>
82 <from>'Error - Internal Gateway Error'</from>
83 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
84 </copy>
85 <copy>
86 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
87 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
88 </copy>
89 <copy>
90 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
91 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
92 </copy>
93 </assign>
94 <invoke name="InvokeFaultAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
95 <assign name="AssignFaultInfo">
96 <copy>
97 <from variable="CreateAckOut" part="CreateAckResponse"/>
98 <to variable="AnnounceNewPatientOut" part="AnnounceNewPatientResponse"/>
99 </copy>
100 </assign>
101 <reply name="ReplyNhincComponentInternalSubDiscOrchFault" partnerLink="NhincComponentInternalSubDiscOrchPL" operation="AnnounceNewPatient" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" portType="tns:NhincComponentInternalSubDiscovery201301OrchPortType" variable="AnnounceNewPatientOut"/>
102 <exit name="ExitAfterFaultReturn"/>
103 </sequence>
104 </catch>
105 </faultHandlers>
106 <sequence name="NhincComponentInternalSubDiscOrchSequence">
107 <assign name="AssignStoreAAToHcid">
108 <copy>
109 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root)</from>
110 <to>$StoreAAToHCIDIn.StoreAssigningAuthorityToHomeCommunityMappingRequest/conninfo:AssigningAuthority/nccommon:assigningAuthorityId</to>
111 </copy>
112 <copy>
113 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
114 <to>$StoreAAToHCIDIn.StoreAssigningAuthorityToHomeCommunityMappingRequest/conninfo:HomeCommunity/nccommon:homeCommunityId</to>
115 </copy>
116 </assign>
117 <invoke name="InvokeStoreAAToHcid" partnerLink="ConnectionMgrPL" operation="StoreAssigningAuthorityToHomeCommunityMapping" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="StoreAAToHCIDIn" outputVariable="StoreAAToHCIDOut"/>
118 <assign name="AssignGetLocalHomeCommunity">
119 <copy>
120 <from>'gateway'</from>
121 <to>$GetHcidPropertyIn.GetPropertyRequest/propacc:propertyFile</to>
122 </copy>
123 <copy>
124 <from>'localHomeCommunityId'</from>
125 <to>$GetHcidPropertyIn.GetPropertyRequest/propacc:propertyName</to>
126 </copy>
127 </assign>
128 <invoke name="InvokeGetLocalHomeCommunity" partnerLink="PropAccessorPL" operation="GetProperty" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" portType="tns:NhincComponentPropAccessorPortType" inputVariable="GetHcidPropertyIn" outputVariable="GetHcidPropertyOut"/>
129 <assign name="AssignCreate201305">
130 <copy>
131 <from>$GetHcidPropertyOut.GetPropertyResponse/propacc:propertyValue</from>
132 <to>$Create201305In.Create201305Request/hl7:senderOID</to>
133 </copy>
134 <copy>
135 <from>$GetHcidPropertyOut.GetPropertyResponse/propacc:propertyValue</from>
136 <to>$Create201305In.Create201305Request/hl7:receiverOID</to>
137 </copy>
138 <copy>
139 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient</from>
140 <to>$Create201305In.Create201305Request/hl7:PRPA201301Patient</to>
141 </copy>
142 </assign>
143 <invoke name="InvokeCreate201305" partnerLink="SubDiscDataTransformsPL" operation="Create201305" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="Create201305In" outputVariable="Create201305Out"/>
144 <assign name="AssignGetMpiEndpoint">
145 <copy>
146 <from>$GetHcidPropertyOut.GetPropertyResponse/propacc:propertyValue</from>
147 <to>$GetMpiEndpointIn.GetConnectionInfoEndpointByServiceNameRequest/conninfo:homeCommunityWithServiceName/conninfo:homeCommunity/nccommon:homeCommunityId</to>
148 </copy>
149 <copy>
150 <from>'mpi'</from>
151 <to>$GetMpiEndpointIn.GetConnectionInfoEndpointByServiceNameRequest/conninfo:homeCommunityWithServiceName/conninfo:serviceName</to>
152 </copy>
153 </assign>
154 <invoke name="InvokeGetMpiEndpoint" partnerLink="ConnectionMgrPL" operation="GetConnectionInfoEndpointByServiceName" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="GetMpiEndpointIn" outputVariable="GetMpiEndPointOut"/>
155 <assign name="AssignMpi">
156 <copy>
157 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:assertion</from>
158 <to>$FindCandidatesIn.FindCandidatesRequest/hl7:assertion</to>
159 </copy>
160 <copy>
161 <from variable="Create201305Out" part="Create201305Response"/>
162 <to>$FindCandidatesIn.FindCandidatesRequest/hl7:PRPA_IN201305UV</to>
163 </copy>
164 <copy>
165 <from>bpel:doXslTransform('urn:stylesheets:wrap2serviceref.xsl', $GetMpiEndPointOut.ConnectionInfoEndpoint/conninfo:serviceConnectionInfoEndpoints/conninfo:serviceConnectionInfoEndpoint/nccommon:EPR/nccommon:EndpointReference)</from>
166 <to partnerLink="MpiPL"/>
167 </copy>
168 </assign>
169 <invoke name="InvokeMpi" partnerLink="MpiPL" operation="FindCandidates" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" portType="tns:AdapterMpiPortType" inputVariable="FindCandidatesIn" outputVariable="FindCandidatesOut">
170 </invoke>
171 <if name="IfPatientFound">
172 <condition>count($FindCandidatesOut.FindCandidatesResponse/hl7:controlActProcess) != 0</condition>
173 <sequence name="PatientFoundSeq">
174 <assign name="AssignCreate201302">
175 <copy>
176 <from>$FindCandidatesOut.FindCandidatesResponse/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient</from>
177 <to>$Create201302In.Create201302Request/hl7:PRPA201310Patient</to>
178 </copy>
179 <copy>
180 <from>string($FindCandidatesOut.FindCandidatesResponse/hl7:receiver/hl7:device/hl7:id/@root)</from>
181 <to>$Create201302In.Create201302Request/hl7:senderOID</to>
182 </copy>
183 <copy>
184 <from>string($FindCandidatesOut.FindCandidatesResponse/hl7:sender/hl7:device/hl7:id/@root)</from>
185 <to>$Create201302In.Create201302Request/hl7:receiverOID</to>
186 </copy>
187 <copy>
188 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root)</from>
189 <to>$Create201302In.Create201302Request/hl7:remoteDeviceId</to>
190 </copy>
191 <copy>
192 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension)</from>
193 <to>$Create201302In.Create201302Request/hl7:remotePatientId</to>
194 </copy>
195 </assign>
196 <invoke name="InvokeCreate201302" partnerLink="SubDiscDataTransformsPL" operation="Create201302" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="Create201302In" outputVariable="Create201302Out"/>
197 <assign name="AssignCheckPolicy">
198 <copy>
199 <from>'Inbound'</from>
200 <to>$CheckPolicySubjectAddedIn.CheckPolicySubjectAddedRequest/ns0:direction</to>
201 </copy>
202 <copy>
203 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:assertion</from>
204 <to>$CheckPolicySubjectAddedIn.CheckPolicySubjectAddedRequest/ns0:message/hl7:assertion</to>
205 </copy>
206 <copy>
207 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
208 <to>$CheckPolicySubjectAddedIn.CheckPolicySubjectAddedRequest/ns0:sendingHomeCommunity/nccommon:homeCommunityId</to>
209 </copy>
210 <copy>
211 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV</from>
212 <to>$CheckPolicySubjectAddedIn.CheckPolicySubjectAddedRequest/ns0:message/hl7:PRPA_IN201301UV</to>
213 </copy>
214 </assign>
215 <assign name="OverridePatientId">
216 <copy>
217 <from>$Create201302Out.Create201302Response/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension</from>
218 <to>$CheckPolicySubjectAddedIn.CheckPolicySubjectAddedRequest/ns0:message/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension</to>
219 </copy>
220 </assign>
221 <invoke name="InvokeCheckPolicy" partnerLink="PolicyEngineFacadePL" operation="CheckPolicySubjectAdded" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" portType="tns:NhincComponentInternalPolicyEngineFacadePortType" inputVariable="CheckPolicySubjectAddedIn" outputVariable="CheckPolicySubjectAddedOut"/>
222 <if name="IfPolicyValid">
223 <condition>'Permit' = $CheckPolicySubjectAddedOut.CheckPolicyResponse/ns3:response/ns2:Result/ns2:Decision</condition>
224 <sequence name="PolicyTrueSequence">
225 <assign name="AssignPatientCorrelation">
226 <copy>
227 <from>string($FindCandidatesOut.FindCandidatesResponse/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root)</from>
228 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]/nccommon:AssigningAuthorityIdentifier
229 <sxed:editor>
230 <sxed:predicate path="$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]" source="to"/>
231 </sxed:editor>
232 </to>
233 </copy>
234 <copy>
235 <from>string($FindCandidatesOut.FindCandidatesResponse/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension)</from>
236 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]/nccommon:SubjectIdentifier</to>
237 </copy>
238 <copy>
239 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root)</from>
240 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[2]/nccommon:AssigningAuthorityIdentifier</to>
241 </copy>
242 <copy>
243 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension)</from>
244 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[2]/nccommon:SubjectIdentifier</to>
245 </copy>
246 </assign>
247 <invoke name="InvokePatientCorrelation" partnerLink="PatientCorrelationPL" operation="AddPatientCorrelation" xmlns:tns="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" portType="tns:PatientCorrelationFacadePortType" inputVariable="AddPatientCorrelationIn" outputVariable="AddPatientCorrelationOut"/>
248 <assign name="AssignSendToProxy">
249 <copy>
250 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:assertion</from>
251 <to>$PIX201302In.PIXConsumer_PRPA_IN201302UVProxyRequest/hl7:assertion</to>
252 </copy>
253 <copy>
254 <from variable="Create201302Out" part="Create201302Response"/>
255 <to>$PIX201302In.PIXConsumer_PRPA_IN201302UVProxyRequest/hl7:PRPA_IN201302UV</to>
256 </copy>
257 <copy>
258 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root</from>
259 <to>$PIX201302In.PIXConsumer_PRPA_IN201302UVProxyRequest/hl7:PRPA_IN201302UV/hl7:receiver/hl7:device/hl7:id/@root</to>
260 </copy>
261 <copy>
262 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
263 <to>$PIX201302In.PIXConsumer_PRPA_IN201302UVProxyRequest/hl7:nhinTargetSystem/nccommon:homeCommunity/nccommon:homeCommunityId</to>
264 </copy>
265 </assign>
266 <invoke name="InvokeSendToProxy" partnerLink="NhincProxySubjectDiscoveryPL" operation="PIXConsumer_PRPA_IN201302UV" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxysubjectdiscovery" portType="tns:NhincProxySubjectDiscoveryPortType" inputVariable="PIX201302In" outputVariable="PIX201302Out"/>
267 <assign name="AssignSuccessAckDte">
268 <copy>
269 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:id</from>
270 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
271 </copy>
272 <copy>
273 <from>'Success'</from>
274 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
275 </copy>
276 <copy>
277 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
278 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
279 </copy>
280 <copy>
281 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
282 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
283 </copy>
284 </assign>
285 <invoke name="InvokeSuccessAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
286 <assign name="AssignSuccessResp">
287 <copy>
288 <from variable="CreateAckOut" part="CreateAckResponse"/>
289 <to variable="AnnounceNewPatientOut" part="AnnounceNewPatientResponse"/>
290 </copy>
291 </assign>
292 </sequence>
293 <else>
294 <sequence name="InvalidPolicySeq">
295 <assign name="AssignPolicyInvalidAckDte">
296 <copy>
297 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:id</from>
298 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
299 </copy>
300 <copy>
301 <from>'Error - Policy Check Failed'</from>
302 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
303 </copy>
304 <copy>
305 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
306 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
307 </copy>
308 <copy>
309 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
310 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
311 </copy>
312 </assign>
313 <invoke name="InvokePolicyInvalidAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
314 <assign name="AssignPolicyInvalidResp">
315 <copy>
316 <from variable="CreateAckOut" part="CreateAckResponse"/>
317 <to variable="AnnounceNewPatientOut" part="AnnounceNewPatientResponse"/>
318 </copy>
319 </assign>
320 </sequence>
321 </else>
322 </if>
323 </sequence>
324 <else>
325 <sequence name="PatientNotFoundSeq">
326 <assign name="AssignPatientNotFoundAckDte">
327 <copy>
328 <from>$AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:id</from>
329 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
330 </copy>
331 <copy>
332 <from>'Warning - Patient Not Found'</from>
333 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
334 </copy>
335 <copy>
336 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
337 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
338 </copy>
339 <copy>
340 <from>string($AnnounceNewPatientIn.AnnounceNewPatientRequest/hl7:PRPA_IN201301UV/hl7:sender/hl7:device/hl7:id/@root)</from>
341 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
342 </copy>
343 </assign>
344 <invoke name="InvokePatientNotFoundAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
345 <assign name="AssignPatientNotFoundResp">
346 <copy>
347 <from variable="CreateAckOut" part="CreateAckResponse"/>
348 <to variable="AnnounceNewPatientOut" part="AnnounceNewPatientResponse"/>
349 </copy>
350 </assign>
351 </sequence>
352 </else>
353 </if>
354 </sequence>
355 </scope>
356 <reply name="ReplyNhincComponentInternalSubDiscOrch" partnerLink="NhincComponentInternalSubDiscOrchPL" operation="AnnounceNewPatient" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201301orch" portType="tns:NhincComponentInternalSubDiscovery201301OrchPortType" variable="AnnounceNewPatientOut"/>
357 </sequence>
358</process>
Note: See TracBrowser for help on using the repository browser.