Determinación del esquema en el desensamblador HL7 2.X
Los mensajes HL7 2.X contienen un segmento de encabezado (MSH), seguido de un número de segmentos de cuerpo y un número opcional de segmentos Z. MSH contiene 21 campos.
Cuando llega un mensaje, el motor 2.X lee el encabezado para determinar el esquema que se va a usar para analizar el cuerpo del mensaje. Se produce la siguiente secuencia de eventos:
El desensamblador lee el valor de MSH3 (entidad de origen) para determinar las siguientes opciones de validación:
Si se va a realizar la validación XML para el cuerpo
Si se van a validar campos de tipo de datos personalizados en los datos del cuerpo
Si se permiten delimitadores finales en el cuerpo
Cuál es el espacio de nombres de destino del esquema de cuerpo (TargetNS)
A continuación, el desensamblador lee MSH9 y MSH12 para determinar el nombre del nodo raíz del cuerpo. El algoritmo es el siguiente:
Body schema type = TargetNS + "#" + MSH9.1 + MSH9.2 + MSH12.1 (with dots removed) + MSH12.2 (or GLO if the value is blank) + MSH12.3 (or DEF if the value is blank)
El Acelerador de Microsoft BizTalk para HL7 (BTAHL7) siempre permite delimitadores finales en un encabezado de mensaje. El motor examina el identificador de segmento que es los tres primeros caracteres de cada línea. Sigue generando XML para todos los segmentos que define el esquema del cuerpo. Cuando encuentra un segmento no definido, trata ese segmento como un segmento Z. A partir de ese momento, todos los segmentos no definidos constituyen la parte Z del mensaje. El siguiente MSH marca el final de este mensaje. En el caso de los mensajes por lotes, el siguiente MSH o BTS (la etiqueta de segmento del finalizador por lotes) marca el final de un mensaje. Un segmento Z solo puede contener segmentos que no están declarados en un esquema. Es un error encontrar un segmento declarado.
Consulte también
Procesamiento de mensajes
Procesamiento de archivos planos BTAHL72X