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>
|
---|