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