Paso 12: Configurar formas de orquestación
En este paso, completará la configuración de las formas de orquestación para quitar las etiquetas inteligentes de configuración insuficientes. Designe DoorbellOutputMessage como salida del primer proceso de transformación, designando DoorbellMap.btm como el mapa usado en ese proceso. A continuación, designe DoorbellFinalMessage como salida del segundo proceso de transformación y agregue la expresión que enriquece el mensaje con datos de campo adicionales.
Para configurar formas de orquestación
En la superficie de la vista Diseño de orquestación de Visual Studio, haga clic en la forma ConstructMessage_1 .
En la ventana Propiedades , haga clic en la propiedad Mensajes construidos , seleccione DoorbellOutputMessage en la lista desplegable y presione Entrar.
En la superficie de la vista Diseño de orquestación, haga clic en la forma DoorbellTransform dentro de la forma ConstructMessage_1 . En la ventana Propiedades , haga clic en Nombre de mapa y, a continuación, haga clic en el botón de puntos suspensivos (...) del campo de atributo.
En el cuadro de diálogo Transformar configuración, seleccione Mapa existente. En la lista desplegable Nombre de mapa completo , haga clic en BTAHL7_Project.DoorbellMap.
Haga clic en Origen en el panel izquierdo.
Haga clic en el cuadro vacío en Nombre de variable y haga clic en DoorBellInputMessage en la lista desplegable.
Haga clic en Destino en el panel izquierdo.
Haga clic en el cuadro vacío en Nombre de variable y haga clic en DoorbellOutputMessage en la lista desplegable.
Haga clic en Aceptar para guardar los cambios.
En la superficie de la vista Diseño de orquestación, haga clic en la forma ConstructMessage_2 .
En la ventana Propiedades , haga clic en Mensajes construidos, seleccione DoorbellFinalMessage en la lista desplegable y presione Entrar.
En la superficie de la vista Diseño de orquestación, haga clic en la forma DoorbellFinalTransform dentro de la forma ConstructMessage_2 . En la ventana Propiedades , haga clic en Expresión y, a continuación, haga clic en el botón de puntos suspensivos (...) para abrir el Editor de expresiones de BizTalk.
En el Editor de expresiones de BizTalk, haga clic en el campo de texto y pegue el texto siguiente:
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;
Haga clic en OK.
Importante
En la expresión "HeaderInfo.LoadXml", elimine los retornos de carro y los espacios dentro de la expresión. La instrucción "HeaderInfo.LoadXml" debe estar en una línea.
Nota:
El primer bloque del texto anterior es un ejemplo de un encabezado XML codificado de forma rígida. El serializador BTAHL7 requiere un segmento de encabezado. Puede personalizar estos valores de encabezado según las necesidades de su entorno. El segundo bloque del texto anterior define las tres partes de mensaje necesarias en un mensaje de varias partes. El serializador BTAHL7 requiere un mensaje de varias partes. El tercer bloque del texto anterior contiene las propiedades promocionadas que el serializador BTAHL7 examina para serializar un mensaje XML en un mensaje de archivo plano HL7.
Continúe con el paso 13: Crear y configurar puertos.