Validation Known Issues
This section contains useful information that may help you avoid validation errors.
Disabling XML validation
The "Validate Body Segments" flag in BTAHL7 Configuration Explorer controls the XML body validation and does not include validation of unexpected delimiters and trailing delimiters. If a message does not have the proper delimiters, the message cannot be successfully parsed. If a message cannot be successfully parsed, BTAHL7 cannot generate valid intermediate XML. Disabling the "Validate Body Segments" flag results in the following:
Empty required fields.
Data types not validated.
Segment structure is not validated (order of segments is not validated).
V2.XML ACKs with multiple errors will fail validation
If an incoming V2.XML message contains more than one error, the Microsoft BizTalk Accelerator for HL7 (BTAHL7) parser may generate a V2.XML acknowledgment (ACK) with more than one error in the error field. Such a V2.XML ACK will fail validation, because the HL7 standard specifies that the parser can report only one error in a V2.XML ACK error field.
Two parsing errors are logged when messages in the Batch In/Batch Out scenario contain validation errors
When the first message in the Batch In/Batch Out scenario (multiple messages batched without batch headers) contains validation errors, BTAHL7 logs two errors in the Event Log. The first error pertains to the first message in the batch, and the second error pertains to the remainder of the messages.
Restrictions in validating field length
Fields associated with HL7 complex data types are comprised of components and subcomponents. HL7 rules specify the length and optionality at the field level and not at the component/subcomponent level. For example in V2.4, HL7 governs MSH3 to be of HD data type and 180 characters maximum length. HD is a composite data type with HD1 set as IS, HD2 set as ST, and HD3 set as ID. The field length restriction implies that the data in the three components (including the two component separators) should be less than or equal to 180. However, the optionality of the three data types is not specified; which means that all or some components may exist. Additionally, data types ST and IS are user defined and therefore BTAHL7 cannot be aware of the length distribution across the three components, since these are normally site defined.
Due to these and other complications, BTAHL7 does not validate the field length. However, you can apply length restrictions at each individual component/subcomponent (of data type simple) using BizTalk Editor in Visual Studio. BTAHL7 will validate these during processing.
Validation of batch and file headers/trailers are affected by enabling fragmentation
BTAHL7 does not validate batch and file headers/trailers when the FHS3 field contains a party that has fragmentation enabled.