Compartir a través de


Codificación de caracteres con texto sin formato

A partir de BizTalk Server 2013 R2, se puede usar "FreeText" en un campo o segmento. Los datos del campo o segmento "FreeText" no se analizan.

Lo que necesita saber

Separador Comportamiento Ejemplo
~: Separador de repetición En un campo, la repetición (~) se trata como un delimitador de repetición. En un segmento no libre, la repetición (~) se trata como un delimitador de repetición. En un segmento libre, la repetición (~) se trata como parte del texto libre, no como una nueva repetición. En el ejemplo siguiente, FRE es free Segment. Puede tener cualquier carácter como texto libre, incluido ~. Las repeticiones adicionales (~) no se consideran delimitadores de repetición y se tratan como el contenido de texto libre. La validación se realiza correctamente incluso si el elemento secundario del segmento libre no es repetible y contiene repetición (~). Ejemplo de FRE:

FRE| Foo&^|Foo&^|Foo&^|Foo&^~Foo&^|Foo&^|Foo&^|Foo&^

En el ejemplo siguiente, EVN4 se define como texto libre porque contiene &^. Cuando se encuentra el delimitador "|", se trata como el final del texto libre actual. Ejemplo de EVN:

EVN||||Foo&^Foo&^Foo&^Foo&^Foo&^||

En el ejemplo siguiente, el primer elemento secundario de EVN5 se define como texto libre porque contiene &. Cuando se encuentra el delimitador "^", se trata como el final del texto libre actual. Ejemplo de EVN5:

EVN|||| | Foo&Foo&Foo&Foo&Foo&^5.2|

En el ejemplo siguiente, 5.2.1 y 5.2.2 no pueden tener delimitadores como texto libre, incluso si se define como FreeText en el esquema. Ejemplo 5.2.1 y 5.2.2:

EVN|||| | Foo1^5.2.1&5.2.2|

En el ejemplo siguiente, supongamos que EVN4 se puede repetir y es del tipo de texto libre. Foo1&^ se trata como la primera repetición y Foo2&^ se trata como la segunda repetición. Si EVN4 no es repetible (MaxOccurs = 1), se produce un error en la validación si contiene ~, incluso si es de tipo de texto libre (como en los casos de campos de texto no libre). Ejemplo de EVN4:

EVN |||| Foo1&^~ Foo2&^ ||
|: separador de campo Si falta un delimitador de campo después de la etiqueta de segmento de un segmento libre, la validación se realiza correctamente. En los ejemplos siguientes, FRE es un tipo de texto libre. El contenido de texto libre se puede iniciar inmediatamente después de la etiqueta de segmento FRE, con o sin delimitador de campo "|". Ambos ejemplos se realizan correctamente:

FREabc
FRE|abc

En los ejemplos siguientes, la validación se realiza correctamente:

Mensaje de entrada a DASM: FRE|abcd
Salida de DASM: <SegmentData>|abcd</SegmentData>
Salida de ASM: FRE|abcd

Mensaje de entrada a DASM: FREabcd
Salida de DASM: <SegmentData>abcd</SegmentData>
Salida de ASM: FREabcd
Parent-Child opcional Las reglas de validación opcionales de elementos primarios y secundarios se siguen aplicando. Supongamos que el elemento primario es opcional y uno de sus elementos secundarios es obligatorio y, a continuación, :

- Si ninguno de los demás elementos secundarios y el elemento secundario obligatorio no se rellenan, la validación del mensaje se realiza correctamente.
- Si se rellena al menos un elemento secundario, también se debe rellenar el elemento secundario obligatorio. De lo contrario, se produce un error en la validación del mensaje.

En el ejemplo siguiente, Campo 1 como opcional. Su 1.un elemento secundario es opcional y es el tipo de texto libre. Su elemento secundario 1.b es obligatorio:

xyz|1.a^1.b|2

En el siguiente mensaje de ejemplo, dfssdf&sdf se considera un único elemento : 1.a. El analizador comprueba si existe 1.b. | Cuando se alcanza , se supone que la versión 1.b no se rellena y se produce un error en la validación del mensaje:

xyz|dfssdf&sdf|2
Segmentos MSH, FSH y BSH El texto libre se omite para todos los campos. Estos segmentos corresponden a la sección de encabezado. La validación se produce como lo haría normalmente, incluso si se definen como texto libre.
\: Carácter de escape Si hay un número par de "\" en el elemento, la validación se realiza correctamente (incluso si no son contiguos). Si hay un número impar, se produce un error en la validación. El mismo comportamiento continúa para los campos de texto no libre. Con los campos de texto libre, no hay validación en el número; se trata como contenido de texto libre.

Los delimitadores de mensajes proporcionan más información sobre los separadores de estos ejemplos.

Uso de texto libre

  1. En el proyecto de Visual Studio, abra el esquema.

  2. Haga clic con el botón derecho en un registro, seleccione Insertar nodo de esquema, seleccione Elemento de campo secundario.

  3. En Propiedades, seleccione Tipo de datos y, a continuación, seleccione Texto libre (SimpleType).

Consulte también

Procesamiento de mensajes de HL7