手順 12: オーケストレーション図形の構成
この手順では、不十分な構成スマート タグを削除するために、オーケストレーション図形の構成を完了します。 最初の変換プロセスの出力として DoorbellOutputMessage を指定し、そのプロセスで使用されるマップとして DoorbellMap.btm を指定します。 次に、2 番目の変換プロセスの出力として DoorbellFinalMessage を指定し、追加のフィールド データでメッセージをエンリッチする式を追加します。
オーケストレーション図形を構成するには
Visual Studio のオーケストレーションデザイン ビュー画面で、 ConstructMessage_1 図形をクリックします。
[ プロパティ ] ウィンドウで、 Messages Constructed プロパティをクリックし、ドロップダウン リストから DoorbellOutputMessage を選択し、 Enter キーを押します。
オーケストレーションのデザイン ビュー画面で、ConstructMessage_1図形内の DoorbellTransform 図形をクリックします。 [ プロパティ ] ウィンドウで、[ マップ名] をクリックし、属性フィールドの省略記号 (...) ボタンをクリックします。
[構成の変換] ダイアログ ボックスで、[ 既存のマップ] を選択します。 [ 完全修飾マップ名 ] ドロップダウン リストで、[ BTAHL7_Project.DoorbellMap] をクリックします。
左側のウィンドウで [ ソース ] をクリックします。
[ 変数名 ] の下の空のボックスをクリックし、ドロップダウン リストから [DoorBellInputMessage ] をクリックします。
左側のウィンドウで [ 宛先] をクリックします。
[ 変数名 ] の下の空のボックスをクリックし、ドロップダウン リストから [DoorbellOutputMessage ] をクリックします。
[OK] をクリックして、変更を保存します。
オーケストレーションのデザイン ビュー画面で、 ConstructMessage_2 図形をクリックします。
[ プロパティ ] ウィンドウで、[ 作成されたメッセージ] をクリックし、ドロップダウン リストから [DoorbellFinalMessage ] を選択し、 Enter キーを押します。
オーケストレーションのデザイン ビュー画面で、ConstructMessage_2図形内の DoorbellFinalTransform 図形をクリックします。 [ プロパティ ] ウィンドウで [ 式] をクリックし、省略記号 (...) ボタンをクリックして BizTalk 式エディターを開きます。
BizTalk 式エディターで、テキスト フィールドをクリックし、次のテキストを貼り付けます。
HeaderInfo = new System.Xml.XmlDocument(); HeaderInfo.LoadXml("<ns0:MSH_25_GLO_DEF xmlns:ns0=\"http://microsoft.com/HealthCare/HL7/2X\"> <MSH><MSH.2_EncodingCharacters>^~\\&</MSH.2_EncodingCharacters><MSH.3_SendingApplication> <HD.0_NamespaceId>SrcApp</HD.0_NamespaceId><HD.1_UniversalId>SrcAppUid</HD.1_UniversalId> </MSH.3_SendingApplication><MSH.4_SendingFacility><HD.0_NamespaceId>srcFac</HD.0_NamespaceId> <HD.1_UniversalId>srcFacUid</HD.1_UniversalId></MSH.4_SendingFacility><MSH.5_ReceivingApplication> <HD.0_NamespaceId>dstApp</HD.0_NamespaceId><HD.1_UniversalId>dstAppUid</HD.1_UniversalId> </MSH.5_ReceivingApplication><MSH.6_ReceivingFacility><HD.0_NamespaceId>dstFac</HD.0_NamespaceId> <HD.1_UniversalId>dstFacUid</HD.1_UniversalId></MSH.6_ReceivingFacility><MSH.7_DateTimeOfMessage> <TS.1>200307092343</TS.1></MSH.7_DateTimeOfMessage><MSH.8_Security>sec</MSH.8_Security> <MSH.9_MessageType><CM_MSG.0_MessageType>ADT</CM_MSG.0_MessageType> <CM_MSG.1_TriggerEvent>A04</CM_MSG.1_TriggerEvent></MSH.9_MessageType> <MSH.10_MessageControlId>msgid2134</MSH.10_MessageControlId><MSH.11_ProcessingId> <PT.0_ProcessingId>P</PT.0_ProcessingId></MSH.11_ProcessingId><MSH.12_VersionId> <VID_0_VersionId>2.2</VID_0_VersionId></MSH.12_VersionId></MSH></ns0:MSH_25_GLO_DEF>"); DoorbellFinalMessage.MSHSegment = HeaderInfo; DoorbellFinalMessage.BodySegments = DoorbellOutputMessage; DoorbellFinalMessage.ZSegments = ""; DoorbellFinalMessage(BTAHL7Schemas.MSH1) = 124; DoorbellFinalMessage(BTAHL7Schemas.MessageEncoding) = 65001; DoorbellFinalMessage(BTAHL7Schemas.MSH2) = "^~\\&"; DoorbellFinalMessage(BTAHL7Schemas.ParseError) = false; DoorbellFinalMessage(BTAHL7Schemas.ZPartPresent) = false; DoorbellFinalMessage(BTAHL7Schemas.SegmentDelimiter2Char) = true;
[OK] をクリックします。
重要
"HeaderInfo.LoadXml" 式で、キャリッジ リターンと式内のスペースを削除します。 "HeaderInfo.LoadXml" ステートメントは 1 行に記述する必要があります。
注意
上記のテキストの最初のブロックは、ハードコーディングされた XML ヘッダーの例です。 BTAHL7 シリアライザーにはヘッダー セグメントが必要です。 これらのヘッダー値は、環境のニーズに応じてカスタマイズできます。 前のテキストの 2 番目のブロックは、マルチパート メッセージに必要な 3 つのメッセージ部分を定義します。 BTAHL7 シリアライザーには、マルチパート メッセージが必要です。 上記のテキストの 3 番目のブロックには、XML メッセージを HL7 フラット ファイル メッセージにシリアル化するために BTAHL7 シリアライザーが調べる昇格されたプロパティが含まれています。