source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/NhincInternalOrchBPEL/src/NhincComponentInternalSubDiscovery201302Orch.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: 35.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="NhincComponentInternalSubDiscovery201302Orch"
4 targetNamespace="urn:gov:hhs:fha:nhinc:gateway:nhincinternalorchbpel:nhinccomponentinternalsubdiscovery201302"
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:gateway:nhincinternalorchbpel:nhinccomponentinternalsubdiscovery201302"
12 xmlns:hl7="urn:hl7-org:v3"
13 xmlns:ncpc="urn:gov:hhs:fha:nhinc:common:patientcorrelationfacade"
14 xmlns:nccommon="urn:gov:hhs:fha:nhinc:common:nhinccommon"
15 xmlns:conninfo="urn:gov:hhs:fha:nhinc:common:connectionmanagerinfo"
16 xmlns:evtcmn="urn:gov:hhs:fha:nhinc:common:eventcommon"
17 xmlns:nccommonadapter="urn:gov:hhs:fha:nhinc:common:nhinccommonadapter"
18 xmlns:xacml="urn:oasis:names:tc:xacml:2.0:context:schema:os"
19 xmlns:propacc="urn:gov:hhs:fha:nhinc:common:propertyaccess" xmlns:ns0="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
20 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" location="Interfaces/wsdl/NhincComponentInternalSubDiscovery201302Orch.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
21 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" location="Interfaces/wsdl/NhincComponentSubDiscTransforms.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
22 <import namespace="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" location="Interfaces/wsdl/NhincComponentPatientCorrelationFacade.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
23 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" location="Interfaces/wsdl/NhincComponentConnectionManager.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
24 <import namespace="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" location="Interfaces/wsdl/NhincComponentInternalPolicyEngineFacade.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
25 <import namespace="urn:gov:hhs:fha:nhinc:adaptermpi" location="Interfaces/wsdl/AdapterMpi.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
26 <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" location="Interfaces/wsdl/NhincComponentPropAccessor.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
27 <partnerLinks>
28 <partnerLink name="PolicyEngineFacadePL" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" partnerLinkType="tns:NhincComponentInternalPolicyEngineFacade" partnerRole="NhincComponentInternalPolicyEngineFacadePortTypeRole"/>
29 <partnerLink name="PropertyAccessorPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" partnerLinkType="tns:NhincComponentPropAccessor" partnerRole="NhincComponentPropAccessorPortTypeRole"/>
30 <partnerLink name="MpiPL" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" partnerLinkType="tns:AdapterMpiService" partnerRole="AdapterMpiPortTypeRole"/>
31 <partnerLink name="SubDiscDataTransformsPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" partnerLinkType="tns:NhincComponentSubDiscTransforms" partnerRole="NhincComponentSubDiscTransformsPortTypeRole"/>
32 <partnerLink name="ConnectionMgrPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" partnerLinkType="tns:NhincComponentConnectionManager" partnerRole="NhincComponentConnectionManagerPortTypeRole"/>
33 <partnerLink name="PatientCorrelationPL" xmlns:tns="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" partnerLinkType="tns:PatientCorrelationFacadePartnerLinkType" partnerRole="PatientCorrelationPortTypeRole"/>
34 <partnerLink name="NhincComponentInternalSubDiscOrchPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" partnerLinkType="tns:NhincComponentInternalSubDiscovery201302Orch" myRole="NhincComponentInternalSubDiscovery201302OrchPortTypeRole"/>
35 </partnerLinks>
36 <variables>
37 <variable name="AnnounceRevisedPatientOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" messageType="tns:AnnounceRevisedPatientResponseMessage"/>
38 <variable name="AnnounceRevisedPatientIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" messageType="tns:AnnounceRevisedPatientRequestMessage"/>
39 </variables>
40 <sequence>
41 <receive name="ReceiveNhincComponentInternalSubDiscOrch" createInstance="yes" partnerLink="NhincComponentInternalSubDiscOrchPL" operation="AnnounceRevisedPatient" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" portType="tns:NhincComponentInternalSubDiscovery201302OrchPortType" variable="AnnounceRevisedPatientIn"/>
42 <scope name="NhincComponentInternalSubDiscOrchScope">
43 <variables>
44 <variable name="FindCandidatesOut" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" messageType="tns:FindCandidatesResponse"/>
45 <variable name="FindCandidatesIn" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" messageType="tns:FindCandidatesRequest"/>
46 <variable name="GetLocalHcidPropOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" messageType="tns:GetPropertyResponseMessage"/>
47 <variable name="GetLocalHcidPropIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" messageType="tns:GetPropertyRequestMessage"/>
48 <variable name="GetMpiEndPtOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpointByServiceNameResponseMessage"/>
49 <variable name="GetMpiEndPtIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:GetConnectionInfoEndpointByServiceNameRequestMessage"/>
50 <variable name="Create201305Out" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:Create201305ResponseMessage"/>
51 <variable name="Create201305In" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" messageType="tns:Create201305RequestMessage"/>
52 <variable name="CheckPolicySubjectRevisedOut" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicyResponseMessage"/>
53 <variable name="CheckPolicySubjectRevisedIn" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" messageType="tns:CheckPolicySubjectRevisedRequestMessage"/>
54 <variable name="StoreAAToHCIDOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:StoreAssigningAuthorityToHomeCommunityMappingResponseMessage"/>
55 <variable name="StoreAAToHCIDIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" messageType="tns:StoreAssigningAuthorityToHomeCommunityMappingRequestMessage"/>
56 <variable name="localPatId" type="xsd:string"/>
57 <variable name="localAssignAuthId" type="xsd:string"/>
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 </variables>
63 <faultHandlers>
64 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
65 <sequence name="SystemFaultSeq">
66 <assign name="AssignFaultAckDte">
67 <sxt:trace>
68 <sxt:log level="info" location="onStart">
69 <from>'NhinComponentInternalSubDiscovery201302Orch.bpel - A system fault was encounterd processing a 201302 message. Fault detials follow...'</from>
70 </sxt:log>
71 <sxt:log level="warning" location="onStart">
72 <from variable="systemFaultVar"/>
73 </sxt:log>
74 </sxt:trace>
75 <copy>
76 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:id</from>
77 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
78 </copy>
79 <copy>
80 <from>'Error - Internal Gateway Error'</from>
81 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
82 </copy>
83 <copy>
84 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
85 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
86 </copy>
87 <copy>
88 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
89 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
90 </copy>
91 </assign>
92 <invoke name="InvokeFaultAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
93 <assign name="AssignFaultInfo">
94 <copy>
95 <from variable="CreateAckOut" part="CreateAckResponse"/>
96 <to variable="AnnounceRevisedPatientOut" part="AnnounceRevisedPatientResponse"/>
97 </copy>
98 </assign>
99 <reply name="ReplyNhincComponentInternalSubDiscOrchFault" partnerLink="NhincComponentInternalSubDiscOrchPL" operation="AnnounceRevisedPatient" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" portType="tns:NhincComponentInternalSubDiscovery201302OrchPortType" variable="AnnounceRevisedPatientOut"/>
100 <exit name="ExitAfterFaultReturn"/>
101 </sequence>
102 </catch>
103 </faultHandlers>
104 <sequence name="NhincComponentInternalSubDiscOrchSequence">
105 <!-- <assign name="AssignPolicyEngineInput">
106 <copy>
107 <from variable="AnnounceRevisedPatientIn" part="AnnounceRevisedPatientRequest"/>
108 <to>$CheckPolicySubjectRevisedIn.CheckPolicySubjectRevisedRequest/evtcmn:message</to>
109 </copy>
110 <copy>
111 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
112 <to>$CheckPolicySubjectRevisedIn.CheckPolicySubjectRevisedRequest/evtcmn:sendingHomeCommunity/nccommon:homeCommunityId</to>
113 </copy>
114 <copy>
115 <from>'Inbound'</from>
116 <to>$CheckPolicySubjectRevisedIn.CheckPolicySubjectRevisedRequest/evtcmn:direction</to>
117 </copy>
118 </assign>
119 <invoke name="InvokePolicyEngine" partnerLink="PolicyEngineFacadePL" operation="CheckPolicySubjectRevised" xmlns:tns="urn:gov:hhs:fha:nhinc:NhincComponentInternalPolicyEngineFacade" portType="tns:NhincComponentInternalPolicyEngineFacadePortType" inputVariable="CheckPolicySubjectRevisedIn" outputVariable="CheckPolicySubjectRevisedOut"/>
120 <if name="IfPolicyValid">
121 <condition>'Permit' = $CheckPolicySubjectRevisedOut.CheckPolicyResponse/nccommonadapter:response/xacml:Result/xacml:Decision</condition>
122 -->
123 <sequence name="ValidPolicySeq">
124 <!-- For now assume 1 id per asOtherIds and that only SSN
125 and remote Patient Id would be included.
126 Will need to revisit, may want to replace
127 with a call to the MPI instead -->
128 <assign name="AssignStoreAAToHcid">
129 <copy>
130 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root)</from>
131 <to>$StoreAAToHCIDIn.StoreAssigningAuthorityToHomeCommunityMappingRequest/conninfo:AssigningAuthority/nccommon:assigningAuthorityId</to>
132 </copy>
133 <copy>
134 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
135 <to>$StoreAAToHCIDIn.StoreAssigningAuthorityToHomeCommunityMappingRequest/conninfo:HomeCommunity/nccommon:homeCommunityId</to>
136 </copy>
137 </assign>
138 <invoke name="InvokeStoreAAToHcid" partnerLink="ConnectionMgrPL" operation="StoreAssigningAuthorityToHomeCommunityMapping" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="StoreAAToHCIDIn" outputVariable="StoreAAToHCIDOut"/>
139 <assign name="AssignGetLocalHcid">
140 <copy>
141 <from>'gateway'</from>
142 <to>$GetLocalHcidPropIn.GetPropertyRequest/propacc:propertyFile</to>
143 </copy>
144 <copy>
145 <from>'localHomeCommunityId'</from>
146 <to>$GetLocalHcidPropIn.GetPropertyRequest/propacc:propertyName</to>
147 </copy>
148 </assign>
149 <invoke name="InvokeGetLocalHcid" partnerLink="PropertyAccessorPL" operation="GetProperty" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentpropaccessor" portType="tns:NhincComponentPropAccessorPortType" inputVariable="GetLocalHcidPropIn" outputVariable="GetLocalHcidPropOut"/>
150 <assign name="AssignCreate201305">
151 <copy>
152 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id</from>
153 <to>$Create201305In.Create201305Request/hl7:PRPA201301Patient/hl7:id</to>
154 </copy>
155 <copy>
156 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:name</from>
157 <to>$Create201305In.Create201305Request/hl7:PRPA201301Patient/hl7:patientPerson/hl7:name</to>
158 </copy>
159 <copy>
160 <from>$GetLocalHcidPropOut.GetPropertyResponse/propacc:propertyValue</from>
161 <to>$Create201305In.Create201305Request/hl7:senderOID</to>
162 </copy>
163 <copy>
164 <from>$GetLocalHcidPropOut.GetPropertyResponse/propacc:propertyValue</from>
165 <to>$Create201305In.Create201305Request/hl7:receiverOID</to>
166 </copy>
167 </assign>
168 <invoke name="InvokeCreate201305" partnerLink="SubDiscDataTransformsPL" operation="Create201305" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="Create201305In" outputVariable="Create201305Out"/>
169 <assign name="AssignGetMpiEndPt">
170 <copy>
171 <from>$GetLocalHcidPropOut.GetPropertyResponse/propacc:propertyValue</from>
172 <to>$GetMpiEndPtIn.GetConnectionInfoEndpointByServiceNameRequest/conninfo:homeCommunityWithServiceName/conninfo:homeCommunity/nccommon:homeCommunityId</to>
173 </copy>
174 <copy>
175 <from>'mpi'</from>
176 <to>$GetMpiEndPtIn.GetConnectionInfoEndpointByServiceNameRequest/conninfo:homeCommunityWithServiceName/conninfo:serviceName</to>
177 </copy>
178 </assign>
179 <invoke name="InvokeGetMpiEndPt" partnerLink="ConnectionMgrPL" operation="GetConnectionInfoEndpointByServiceName" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentconnectionmanager" portType="tns:NhincComponentConnectionManagerPortType" inputVariable="GetMpiEndPtIn" outputVariable="GetMpiEndPtOut"/>
180 <assign name="AssignMpi">
181 <copy>
182 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:assertion</from>
183 <to>$FindCandidatesIn.FindCandidatesRequest/hl7:assertion</to>
184 </copy>
185 <copy>
186 <from variable="Create201305Out" part="Create201305Response"/>
187 <to>$FindCandidatesIn.FindCandidatesRequest/hl7:PRPA_IN201305UV</to>
188 </copy>
189 <copy>
190 <from>ns0:doXslTransform('urn:stylesheets:wrap2serviceref.xsl', $GetMpiEndPtOut.ConnectionInfoEndpoint/conninfo:serviceConnectionInfoEndpoints/conninfo:serviceConnectionInfoEndpoint/nccommon:EPR/nccommon:EndpointReference)</from>
191 <to partnerLink="MpiPL"/>
192 </copy>
193 </assign>
194 <invoke name="InvokeMpi" partnerLink="MpiPL" operation="FindCandidates" xmlns:tns="urn:gov:hhs:fha:nhinc:adaptermpi" portType="tns:AdapterMpiPortType" inputVariable="FindCandidatesIn" outputVariable="FindCandidatesOut"/>
195 <if name="IfPatientFound">
196 <condition>$Create201305Out.Create201305Response/hl7:controlActProcess != 0</condition>
197 <forEach name="ForEachOtherId" parallel="no" counterName="OtherIdCtr">
198 <startCounterValue>1</startCounterValue>
199 <finalCounterValue>count($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs)</finalCounterValue>
200 <scope name="localPatIdSearchScope">
201 <if name="IfMatch">
202 <condition>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs/hl7:id/@root = $FindCandidatesOut.FindCandidatesResponse/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root and $AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs/hl7:id/@extension = $FindCandidatesOut.FindCandidatesResponse/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension</condition>
203 <sequence name="PatientIdMatchSeq">
204 <assign name="AssignLocalPatId">
205 <copy>
206 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs[$OtherIdCtr]/hl7:id/@root)
207 <sxed:editor>
208 <sxed:predicate path="$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs[$OtherIdCtr]" source="from"/>
209 </sxed:editor>
210 </from>
211 <to variable="localAssignAuthId"/>
212 </copy>
213 <copy>
214 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs[$OtherIdCtr]/hl7:id/@extension)
215 <sxed:editor>
216 <sxed:predicate path="$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs[$OtherIdCtr]" source="from"/>
217 </sxed:editor>
218 </from>
219 <to variable="localPatId"/>
220 </copy>
221 </assign>
222 <assign name="AssignPatientCorrelation">
223 <copy>
224 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs/hl7:id/@root)</from>
225 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]/nccommon:AssigningAuthorityIdentifier</to>
226 </copy>
227 <copy>
228 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:patientPerson/hl7:asOtherIDs/hl7:id/@extension)</from>
229 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]/nccommon:SubjectIdentifier</to>
230 </copy>
231 <copy>
232 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@root)</from>
233 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[2]/nccommon:AssigningAuthorityIdentifier</to>
234 </copy>
235 <copy>
236 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:controlActProcess/hl7:subject/hl7:registrationEvent/hl7:subject1/hl7:patient/hl7:id/@extension)</from>
237 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[2]/nccommon:SubjectIdentifier</to>
238 </copy>
239 <copy>
240 <from variable="localPatId"/>
241 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]/nccommon:SubjectIdentifier
242 <sxed:editor>
243 <sxed:predicate path="$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifierPair/ncpc:QualifiedPatientIdentifier[1]" source="to"/>
244 </sxed:editor>
245 </to>
246 </copy>
247 <copy>
248 <from variable="localAssignAuthId"/>
249 <to>$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifier[1]/nccommon:AssigningAuthorityIdentifier
250 <sxed:editor>
251 <sxed:predicate path="$AddPatientCorrelationIn.AddPatientCorrelationRequest/ncpc:QualifiedPatientIdentifierPair/ncpc:QualifiedPatientIdentifier[1]" source="to"/>
252 </sxed:editor>
253 </to>
254 </copy>
255 </assign>
256 <invoke name="InvokePatientCorrelation" partnerLink="PatientCorrelationPL" operation="AddPatientCorrelation" xmlns:tns="urn:gov:hhs:fha:nhinc:componentpatientcorrelationfacade" portType="tns:PatientCorrelationFacadePortType" inputVariable="AddPatientCorrelationIn" outputVariable="AddPatientCorrelationOut"/>
257 <assign name="AssignSuccessAckDte">
258 <copy>
259 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:id</from>
260 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
261 </copy>
262 <copy>
263 <from>'Success'</from>
264 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
265 </copy>
266 <copy>
267 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
268 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
269 </copy>
270 <copy>
271 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
272 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
273 </copy>
274 </assign>
275 <invoke name="InvokeSuccessAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
276 </sequence>
277 <else>
278 <sequence name="PatientIdsDoNotMatchSeq">
279 <assign name="AssignCreatePatIdsNoMatchAck">
280 <copy>
281 <from>'Patient Not Found'</from>
282 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
283 </copy>
284 <copy>
285 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
286 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
287 </copy>
288 <copy>
289 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
290 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
291 </copy>
292 <copy>
293 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:id</from>
294 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
295 </copy>
296 </assign>
297 <invoke name="InvokeCreatePatIdsNoMatchAck" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
298 </sequence>
299 </else>
300 </if>
301 </scope>
302 </forEach>
303 <else>
304 <sequence name="PatientNotFoundSeq">
305 <assign name="AssignCreatePatientNotFoundAck">
306 <copy>
307 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:id</from>
308 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
309 </copy>
310 <copy>
311 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
312 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
313 </copy>
314 <copy>
315 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
316 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
317 </copy>
318 <copy>
319 <from>'Patient Not Found'</from>
320 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
321 </copy>
322 </assign>
323 <invoke name="InvokeCreatePatientNotFoundAck" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
324 </sequence>
325 </else>
326 </if>
327 </sequence>
328
329 <!-- <else>
330 <sequence name="InvalidPolicySeq">
331 <assign name="AssignPolicyInvalidAckDte">
332 <copy>
333 <from>$AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:id</from>
334 <to>$CreateAckIn.CreateAckRequest/hl7:origMsgId</to>
335 </copy>
336 <copy>
337 <from>'Error - Policy Check Failed'</from>
338 <to>$CreateAckIn.CreateAckRequest/hl7:msgText</to>
339 </copy>
340 <copy>
341 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:receiver/hl7:device/hl7:id/@root)</from>
342 <to>$CreateAckIn.CreateAckRequest/hl7:senderOID</to>
343 </copy>
344 <copy>
345 <from>string($AnnounceRevisedPatientIn.AnnounceRevisedPatientRequest/hl7:PRPA_IN201302UV/hl7:sender/hl7:device/hl7:id/@root)</from>
346 <to>$CreateAckIn.CreateAckRequest/hl7:receiverOID</to>
347 </copy>
348 </assign>
349 <invoke name="InvokePolicyInvalidAckDte" partnerLink="SubDiscDataTransformsPL" operation="CreateAck" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubdisctransforms" portType="tns:NhincComponentSubDiscTransformsPortType" inputVariable="CreateAckIn" outputVariable="CreateAckOut"/>
350 </sequence>
351 </else>
352 </if> -->
353 <assign name="AssignResp">
354 <copy>
355 <from variable="CreateAckOut" part="CreateAckResponse"/>
356 <to variable="AnnounceRevisedPatientOut" part="AnnounceRevisedPatientResponse"/>
357 </copy>
358 </assign>
359 </sequence>
360 </scope>
361 <reply name="ReplyNhincComponentInternalSubDiscOrch" partnerLink="NhincComponentInternalSubDiscOrchPL" operation="AnnounceRevisedPatient" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentinternalsubdiscovery201302orch" portType="tns:NhincComponentInternalSubDiscovery201302OrchPortType" variable="AnnounceRevisedPatientOut"/>
362 </sequence>
363</process>
Note: See TracBrowser for help on using the repository browser.