1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
2 | <process
|
---|
3 | name="EntityComponentInternalNotifyOrch"
|
---|
4 | targetNamespace="urn:gov:hhs:fha:nhinc:gateway:entityinternalorchbpel:entitycomponentinternalnotifyorch"
|
---|
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:entityinternalorchbpel:entitycomponentinternalnotifyorch"
|
---|
12 | xmlns:nccommon="urn:gov:hhs:fha:nhinc:common:nhinccommon"
|
---|
13 | xmlns:nccommonentity="urn:gov:hhs:fha:nhinc:common:nhinccommonentity"
|
---|
14 | xmlns:nccommonsubcdc="urn:gov:hhs:fha:nhinc:common:subscriptionb2overridefordocuments"
|
---|
15 | xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
|
---|
16 | xmlns:subdte="urn:gov:hhs:fha:nhinc:common:subscriptiondte"
|
---|
17 | xmlns:nccommonsub="urn:gov:hhs:fha:nhinc:common:subscription"
|
---|
18 | xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
|
---|
19 | xmlns:nccommonproxy="urn:gov:hhs:fha:nhinc:common:nhinccommonproxy">
|
---|
20 | <import namespace="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" location="Interfaces/wsdl/EntityComponentInternalNotifyOrch.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
|
---|
21 | <import namespace="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" location="Interfaces/wsdl/NhincProxyNotificationConsumer.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
|
---|
22 | <import namespace="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" location="Interfaces/wsdl/NhincComponentInternalSubscriptionDte.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
|
---|
23 | <import namespace="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" location="Interfaces/wsdl/NhincComponentSubscriptionRepository.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
|
---|
24 | <partnerLinks>
|
---|
25 | <partnerLink name="SubscriptionDtePL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" partnerLinkType="tns:NhincComponentInternalSubscriptionDte" partnerRole="NhincComponentInternalSubscriptionDtePortTypeRole"/>
|
---|
26 | <partnerLink name="SubscriptionRepoPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" partnerLinkType="tns:NhincComponentSubscriptionRepository" partnerRole="NhincComponentSubscriptionRepositoryPortTypeRole"/>
|
---|
27 | <partnerLink name="NhincNotifyProxyPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" partnerLinkType="tns:NhincProxyNotificationConsumer" partnerRole="NhincProxyNotificationConsumerPortTypeRole"/>
|
---|
28 | <partnerLink name="EntityNotifyPL" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" partnerLinkType="tns:EntityComponentInternalNotifyOrch" myRole="EntityComponentInternalNotifyOrchPortTypeRole"/>
|
---|
29 | </partnerLinks>
|
---|
30 | <variables>
|
---|
31 | <variable name="DocumentNotifyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" messageType="tns:DocumentNotifyRequestMessage"/>
|
---|
32 | </variables>
|
---|
33 | <sequence>
|
---|
34 | <receive name="ReceiveEntityNotify" createInstance="yes" partnerLink="EntityNotifyPL" operation="DocumentNotify" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" portType="tns:EntityComponentInternalNotifyOrchPortType" variable="DocumentNotifyIn"/>
|
---|
35 | <scope name="ProcessDocumentNotifyScope">
|
---|
36 | <variables>
|
---|
37 | <variable name="DocumentNotifyOut" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" messageType="tns:DocumentNotifyResponseMessage"/>
|
---|
38 | </variables>
|
---|
39 | <faultHandlers>
|
---|
40 | <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
|
---|
41 | <sequence name="SystemFaultDocNotifySeq">
|
---|
42 | <assign name="AssignDocNotifyFault">
|
---|
43 | <sxt:trace>
|
---|
44 | <sxt:log level="info" location="onStart">
|
---|
45 | <from>'EntityComponentInternalNotifyOrch.bpel - A system fault was encounterd processing a Document Notify message. Fault detials follow...'</from>
|
---|
46 | </sxt:log>
|
---|
47 | <sxt:log level="warning" location="onStart">
|
---|
48 | <from variable="systemFaultVar"/>
|
---|
49 | </sxt:log>
|
---|
50 | </sxt:trace>
|
---|
51 | <copy>
|
---|
52 | <from>'Internal Gateway Error'</from>
|
---|
53 | <to>$DocumentNotifyOut.DocumentNotifyResponse/nccommon:message</to>
|
---|
54 | </copy>
|
---|
55 | </assign>
|
---|
56 | <reply name="ReplyDocNotifyFault" partnerLink="EntityNotifyPL" operation="DocumentNotify" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" portType="tns:EntityComponentInternalNotifyOrchPortType" variable="DocumentNotifyOut"/>
|
---|
57 | </sequence>
|
---|
58 | </catch>
|
---|
59 | </faultHandlers>
|
---|
60 | <sequence name="ProcessDocumentNotifySeq">
|
---|
61 | <forEach name="ForEachNotificationMessage" parallel="no" counterName="NotifyMsgCtr">
|
---|
62 | <startCounterValue>1</startCounterValue>
|
---|
63 | <finalCounterValue>count($DocumentNotifyIn.DocumentNotifyRequest/nccommonentity:notify/nccommonsubcdc:NotificationMessage)</finalCounterValue>
|
---|
64 | <scope name="ProcessNotifyMessageScope">
|
---|
65 | <variables>
|
---|
66 | <variable name="RetrieveByCriteriaOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" messageType="tns:RetrieveByCriteriaResponse"/>
|
---|
67 | <variable name="RetrieveByCriteriaIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" messageType="tns:RetrieveByCriteriaRequest"/>
|
---|
68 | <variable name="CreateSubscriptionCriteriaOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:TransformEntityNotifyDocumentToSubscriptionCriteriaResponseMessage"/>
|
---|
69 | <variable name="CreateSubscriptionCriteriaIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:TransformEntityNotifyDocumentToSubscriptionCriteriaRequestMessage"/>
|
---|
70 | </variables>
|
---|
71 | <sequence name="ProcessNotifyMessageSeq">
|
---|
72 | <assign name="AssignCreateSubscriptionCriteria">
|
---|
73 | <copy>
|
---|
74 | <from>$DocumentNotifyIn.DocumentNotifyRequest/rim:RegistryObjectList</from>
|
---|
75 | <to>$CreateSubscriptionCriteriaIn.TransformEntityNotifyDocumentToSubscriptionCriteria/subdte:RegistryObjectList</to>
|
---|
76 | </copy>
|
---|
77 | <copy>
|
---|
78 | <from>$DocumentNotifyIn.DocumentNotifyRequest/nccommonentity:notify/nccommonsubcdc:NotificationMessage[$NotifyMsgCtr]</from>
|
---|
79 | <to>$CreateSubscriptionCriteriaIn.TransformEntityNotifyDocumentToSubscriptionCriteria/subdte:NotifyDocument/nccommonsubcdc:NotificationMessage</to>
|
---|
80 | </copy>
|
---|
81 | </assign>
|
---|
82 | <invoke name="InvokeCreateSubscriptionCriteria" partnerLink="SubscriptionDtePL" operation="TransformEntityNotifyDocumentToSubscriptionCriteria" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateSubscriptionCriteriaIn" outputVariable="CreateSubscriptionCriteriaOut"/>
|
---|
83 | <assign name="AssignSubscriptionLookup">
|
---|
84 | <copy>
|
---|
85 | <from>$CreateSubscriptionCriteriaOut.TransformEntityNotifyDocumentToSubscriptionCriteria/nccommonsub:SubscriptionCriteria</from>
|
---|
86 | <to variable="RetrieveByCriteriaIn" part="subscriptionCriteria"/>
|
---|
87 | </copy>
|
---|
88 | </assign>
|
---|
89 | <invoke name="InvokeSubscriptionLookup" partnerLink="SubscriptionRepoPL" operation="RetrieveByCriteria" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" portType="tns:NhincComponentSubscriptionRepositoryPortType" inputVariable="RetrieveByCriteriaIn" outputVariable="RetrieveByCriteriaOut"/>
|
---|
90 | <forEach name="ForEachSubscription" parallel="no" counterName="SubItemCtr">
|
---|
91 | <startCounterValue>1</startCounterValue>
|
---|
92 | <finalCounterValue>count($RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem)</finalCounterValue>
|
---|
93 | <scope name="ProcessSubItemScope">
|
---|
94 | <variables>
|
---|
95 | <variable name="CreateNhinNotifyDocumentOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateNhinNotifyDocumentResponseMessage"/>
|
---|
96 | <variable name="CreateNhinNotifyDocumentIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateNhinNotifyDocumentRequestMessage"/>
|
---|
97 | <variable name="NotifyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" messageType="tns:NotifyRequestMessage"/>
|
---|
98 | </variables>
|
---|
99 | <sequence name="ProcessSubItemSeq">
|
---|
100 | <assign name="AssignCreateNhinNotify">
|
---|
101 | <copy>
|
---|
102 | <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]
|
---|
103 | <sxed:editor>
|
---|
104 | <sxed:predicate path="$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]" source="from"/>
|
---|
105 | </sxed:editor>
|
---|
106 | </from>
|
---|
107 | <to>$CreateNhinNotifyDocumentIn.CreateNhinNotifyDocumentRequest/nccommonsub:SubscriptionItem</to>
|
---|
108 | </copy>
|
---|
109 | <copy>
|
---|
110 | <from>$DocumentNotifyIn.DocumentNotifyRequest/nccommonentity:notify</from>
|
---|
111 | <to>$CreateNhinNotifyDocumentIn.CreateNhinNotifyDocumentRequest/subdte:notify</to>
|
---|
112 | </copy>
|
---|
113 | </assign>
|
---|
114 | <invoke name="InvokeCreateNhinNotify" partnerLink="SubscriptionDtePL" operation="CreateNhinNotifyDocument" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateNhinNotifyDocumentIn" outputVariable="CreateNhinNotifyDocumentOut"/>
|
---|
115 | <empty name="Policy_Placeholder"/>
|
---|
116 | <assign name="AssignNotifyProxy">
|
---|
117 | <copy>
|
---|
118 | <from>$DocumentNotifyIn.DocumentNotifyRequest/nccommonentity:assertion</from>
|
---|
119 | <to>$NotifyIn.NotifyRequest/nccommonproxy:assertion</to>
|
---|
120 | </copy>
|
---|
121 | <copy>
|
---|
122 | <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]/nccommonsub:Subscriber/nccommonsub:NotificationConsumerEndpointAddress</from>
|
---|
123 | <to>$NotifyIn.NotifyRequest/nccommonproxy:nhinTargetSystem/nccommon:url</to>
|
---|
124 | </copy>
|
---|
125 | <copy>
|
---|
126 | <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]/nccommonsub:SubscriptionCriteria/nccommonsub:SubscribeePatient/nccommon:SubjectIdentifier</from>
|
---|
127 | <to>$NotifyIn.NotifyRequest/nccommonproxy:assertion/nccommon:uniquePatientId</to>
|
---|
128 | </copy>
|
---|
129 | <copy>
|
---|
130 | <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]/nccommonsub:Subscribee/nccommonsub:Community/nccommonsub:Id</from>
|
---|
131 | <to>$NotifyIn.NotifyRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:org/nccommon:homeCommunityId</to>
|
---|
132 | </copy>
|
---|
133 | <copy>
|
---|
134 | <from>$CreateNhinNotifyDocumentOut.CreateNhinNotifyDocumentResponse/wsnt:Notify/wsnt:NotificationMessage</from>
|
---|
135 | <to>$NotifyIn.NotifyRequest/wsnt:Notify/wsnt:NotificationMessage</to>
|
---|
136 | </copy>
|
---|
137 | </assign>
|
---|
138 | <invoke name="InvokeNotifyProxy" partnerLink="NhincNotifyProxyPL" operation="Notify" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" portType="tns:NhincProxyNotificationConsumerPortType" inputVariable="NotifyIn"/>
|
---|
139 | </sequence>
|
---|
140 | </scope>
|
---|
141 | </forEach>
|
---|
142 | </sequence>
|
---|
143 | </scope>
|
---|
144 | </forEach>
|
---|
145 | <assign name="AssignEntityNotifyResp">
|
---|
146 | <copy>
|
---|
147 | <from>'Successfully processed document notify message'</from>
|
---|
148 | <to>$DocumentNotifyOut.DocumentNotifyResponse/nccommon:message</to>
|
---|
149 | </copy>
|
---|
150 | </assign>
|
---|
151 | <reply name="ReplyEntityNotify" partnerLink="EntityNotifyPL" operation="DocumentNotify" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalnotifyorch" portType="tns:EntityComponentInternalNotifyOrchPortType" variable="DocumentNotifyOut"/>
|
---|
152 | </sequence>
|
---|
153 | </scope>
|
---|
154 | </sequence>
|
---|
155 | </process>
|
---|