source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/EntityInternalOrchBPEL/src/EntityComponentInternalCdcNotifyOrch.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: 14.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<process
3 name="EntityComponentInternalCdcNotifyOrch"
4 targetNamespace="urn:gov:hhs:fha:nhinc:gateway:entityinternalorchbpel:entitycomponentinternalcdcnotifyorch"
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:entitycomponentinternalcdcnotifyorch"
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:subscriptionb2overrideforcdc"
15 xmlns:subdte="urn:gov:hhs:fha:nhinc:common:subscriptiondte"
16 xmlns:nccommonsub="urn:gov:hhs:fha:nhinc:common:subscription"
17 xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
18 xmlns:nccommonproxy="urn:gov:hhs:fha:nhinc:common:nhinccommonproxy">
19 <import namespace="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" location="Interfaces/wsdl/EntityComponentInternalCdcNotifyOrch.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
20 <import namespace="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" location="Interfaces/wsdl/NhincComponentInternalSubscriptionDte.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:nhinccomponentsubscriptionrepository" location="Interfaces/wsdl/NhincComponentSubscriptionRepository.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
23 <partnerLinks>
24 <partnerLink name="SubscriptionDtePL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" partnerLinkType="tns:NhincComponentInternalSubscriptionDte" partnerRole="NhincComponentInternalSubscriptionDtePortTypeRole"/>
25 <partnerLink name="SubscriptionRepoPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" partnerLinkType="tns:NhincComponentSubscriptionRepository" partnerRole="NhincComponentSubscriptionRepositoryPortTypeRole"/>
26 <partnerLink name="NhincNotifyProxyPL" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" partnerLinkType="tns:NhincProxyNotificationConsumer" partnerRole="NhincProxyNotificationConsumerPortTypeRole"/>
27 <partnerLink name="EntityCdcNotifyPL" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" partnerLinkType="tns:EntityComponentInternalCdcNotifyOrch" myRole="EntityComponentInternalCdcNotifyOrchPortTypeRole"/>
28 </partnerLinks>
29 <variables>
30 <variable name="CdcNotifyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" messageType="tns:CdcNotifyRequestMessage"/>
31 </variables>
32 <sequence>
33 <receive name="ReceiveEntityCdcNotify" createInstance="yes" partnerLink="EntityCdcNotifyPL" operation="CdcNotify" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" portType="tns:EntityComponentInternalCdcNotifyOrchPortType" variable="CdcNotifyIn"/>
34 <scope name="ProcessCdcNotifyScope">
35 <variables>
36 <variable name="CdcNotifyOut" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" messageType="tns:CdcNotifyResponseMessage"/>
37 </variables>
38 <faultHandlers>
39 <catch faultName="sxeh:systemFault" faultVariable="systemFaultVar" faultMessageType="sxeh:faultMessage">
40 <sequence name="SystemFaultCdcNotifySeq">
41 <assign name="AssignCdcNotifyFault">
42 <sxt:trace>
43 <sxt:log level="info" location="onStart">
44 <from>'EntityComponentInternalCdcNotifyOrch.bpel - A system fault was encounterd processing a Document Notify message. Fault detials follow...'</from>
45 </sxt:log>
46 <sxt:log level="warning" location="onStart">
47 <from variable="systemFaultVar"/>
48 </sxt:log>
49 </sxt:trace>
50 <copy>
51 <from>'Internal Gateway Error'</from>
52 <to>$CdcNotifyOut.CdcNotifyResponse/nccommon:message</to>
53 </copy>
54 </assign>
55 <reply name="ReplyCdcNotifyFault" partnerLink="EntityCdcNotifyPL" operation="CdcNotify" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" portType="tns:EntityComponentInternalCdcNotifyOrchPortType" variable="CdcNotifyOut"/>
56 </sequence>
57 </catch>
58 </faultHandlers>
59 <sequence name="ProcessCdcNotifySeq">
60 <forEach name="ForEachNotificationMessage" parallel="no" counterName="NotifyMsgCtr">
61 <startCounterValue>1</startCounterValue>
62 <finalCounterValue>count($CdcNotifyIn.CdcNotifyRequest/nccommonentity:notify/nccommonsubcdc:NotificationMessage)</finalCounterValue>
63 <scope name="ProcessNotifyMessageScope">
64 <variables>
65 <variable name="RetrieveByCriteriaOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" messageType="tns:RetrieveByCriteriaResponse"/>
66 <variable name="RetrieveByCriteriaIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" messageType="tns:RetrieveByCriteriaRequest"/>
67 <variable name="CreateSubscriptionCriteriaOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:TransformEntityNotifyCdcBioPackageToSubscriptionCriteriaResponseMessage"/>
68 <variable name="CreateSubscriptionCriteriaIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:TransformEntityNotifyCdcBioPackageToSubscriptionCriteriaRequestMessage"/>
69 </variables>
70 <sequence name="ProcessNotifyMessageSeq">
71 <assign name="AssignCreateSubscriptionCriteria">
72 <copy>
73 <from>$CdcNotifyIn.CdcNotifyRequest/nccommonentity:notify/nccommonsubcdc:NotificationMessage[$NotifyMsgCtr]</from>
74 <to>$CreateSubscriptionCriteriaIn.TransformEntityNotifyCdcBioPackageToSubscriptionCriteria/subdte:NotifyCdcBioPackage/nccommonsubcdc:NotificationMessage</to>
75 </copy>
76 </assign>
77 <invoke name="InvokeCreateSubscriptionCriteria" partnerLink="SubscriptionDtePL" operation="TransformEntityNotifyCdcBioPackageToSubscriptionCriteria" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateSubscriptionCriteriaIn" outputVariable="CreateSubscriptionCriteriaOut"/>
78 <assign name="AssignSubscriptionLookup">
79 <copy>
80 <from>$CreateSubscriptionCriteriaOut.TransformEntityNotifyCdcBioPackageToSubscriptionCriteria/nccommonsub:SubscriptionCriteria</from>
81 <to variable="RetrieveByCriteriaIn" part="subscriptionCriteria"/>
82 </copy>
83 </assign>
84 <invoke name="InvokeSubscriptionLookup" partnerLink="SubscriptionRepoPL" operation="RetrieveByCriteria" xmlns:tns="urn:gov:hhs:fha:nhinc:nhinccomponentsubscriptionrepository" portType="tns:NhincComponentSubscriptionRepositoryPortType" inputVariable="RetrieveByCriteriaIn" outputVariable="RetrieveByCriteriaOut"/>
85 <forEach name="ForEachSubscription" parallel="no" counterName="SubItemCtr">
86 <startCounterValue>1</startCounterValue>
87 <finalCounterValue>count($RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem)</finalCounterValue>
88 <scope name="ProcessSubItemScope">
89 <variables>
90 <variable name="CreateNhinNotifyCdcBioPackageOut" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateNhinNotifyCdcBioPackageResponseMessage"/>
91 <variable name="CreateNhinNotifyCdcBioPackageIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" messageType="tns:CreateNhinNotifyCdcBioPackageRequestMessage"/>
92 <variable name="NotifyIn" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" messageType="tns:NotifyRequestMessage"/>
93 </variables>
94 <sequence name="ProcessSubItemSeq">
95 <assign name="AssignCreateNhinNotify">
96 <copy>
97 <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]
98 <sxed:editor>
99 <sxed:predicate path="$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]" source="from"/>
100 </sxed:editor>
101 </from>
102 <to>$CreateNhinNotifyCdcBioPackageIn.CreateNhinNotifyCdcBioPackageRequest/nccommonsub:SubscriptionItem</to>
103 </copy>
104 <copy>
105 <from>$CdcNotifyIn.CdcNotifyRequest/nccommonentity:notify</from>
106 <to>$CreateNhinNotifyCdcBioPackageIn.CreateNhinNotifyCdcBioPackageRequest/subdte:notify</to>
107 </copy>
108 </assign>
109 <invoke name="InvokeCreateNhinNotify" partnerLink="SubscriptionDtePL" operation="CreateNhinNotifyCdcBioPackage" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincinternalcomponentpolicyenginetransform" portType="tns:NhincComponentInternalSubscriptionDtePortType" inputVariable="CreateNhinNotifyCdcBioPackageIn" outputVariable="CreateNhinNotifyCdcBioPackageOut"/>
110 <empty name="Policy_Placeholder"/>
111 <assign name="AssignNotifyProxy">
112 <copy>
113 <from>$CdcNotifyIn.CdcNotifyRequest/nccommonentity:assertion</from>
114 <to>$NotifyIn.NotifyRequest/nccommonproxy:assertion</to>
115 </copy>
116 <copy>
117 <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]/nccommonsub:Subscriber/nccommonsub:NotificationConsumerEndpointAddress</from>
118 <to>$NotifyIn.NotifyRequest/nccommonproxy:nhinTargetSystem/nccommon:url</to>
119 </copy>
120 <copy>
121 <from>$RetrieveByCriteriaOut.subscriptionItems/nccommonsub:subscriptionItem[$SubItemCtr]/nccommonsub:Subscribee/nccommonsub:Community/nccommonsub:Id</from>
122 <to>$NotifyIn.NotifyRequest/nccommonproxy:assertion/nccommon:userInfo/nccommon:org/nccommon:homeCommunityId</to>
123 </copy>
124 <copy>
125 <from>$CreateNhinNotifyCdcBioPackageOut.CreateNhinNotifyCdcBioPackageResponse/wsnt:Notify/wsnt:NotificationMessage</from>
126 <to>$NotifyIn.NotifyRequest/wsnt:Notify/wsnt:NotificationMessage</to>
127 </copy>
128 </assign>
129 <invoke name="InvokeNotifyProxy" partnerLink="NhincNotifyProxyPL" operation="Notify" xmlns:tns="urn:gov:hhs:fha:nhinc:nhincproxynotificationconsumer" portType="tns:NhincProxyNotificationConsumerPortType" inputVariable="NotifyIn"/>
130 </sequence>
131 </scope>
132 </forEach>
133 </sequence>
134 </scope>
135 </forEach>
136 <assign name="AssignEntityCdcNotifyResp">
137 <copy>
138 <from>'Successfully processed cdc notify message'</from>
139 <to>$CdcNotifyOut.CdcNotifyResponse/nccommon:message</to>
140 </copy>
141 </assign>
142 <reply name="ReplyEntityCdcNotify" partnerLink="EntityCdcNotifyPL" operation="CdcNotify" xmlns:tns="urn:gov:hhs:fha:nhinc:entitycomponentinternalcdcnotifyorch" portType="tns:EntityComponentInternalCdcNotifyOrchPortType" variable="CdcNotifyOut"/>
143 </sequence>
144 </scope>
145 </sequence>
146</process>
Note: See TracBrowser for help on using the repository browser.