Rectangle 27 2

..What is the expected behaviour of allow trailing delimiters in this ...

Although even HL7 Messaging Standard Version 2.6 did not extend the PV1 segment with other fields and thus your original code was correct from the point of supporting only 52 segment fields

1. It is perfectly valid to extend the HL7 messaging protocol with custom fields and custom segments, providing that this extension is agreed on by all involved parties and documented in the HL7 conformance statement (you can find some explaining links here and here)

2. Your parsing and message processing code should be compatible with both old and some future versions of the protocol. Number of segments, their names and order and number of fields and number of components in fields can be determined and handled dynamically. The message syntax was designed to support it. Hardcoding things like "there will be 52 fields in the PV1 segment regardless of what the HL7 version field MSH-12 contains" is not very good approach as it will not scale

Expected behavior is that your application will not crash, will not block the data processing, if the data travels through your code into another system you should not drop/remove fields you don't understand (it is more or less written in the HL7 specification somewhere..)

It sounds like this is answering the expected behaviour of an application that uses HL7 in general. However, I'm talking about BizTalk specifically. I'm just wondering if Microsoft considers this to be "as designed" or if it truly is a bug which disallows that last trailing delimiter.

@LaMMMy I'm sorry if you find my answer useless. I can delete it in that case. HL7 in general allows any number of trailing delimiters, their meaning is just a NOP instruction. Your specific implementation choice (the Microsoft's BizTalk engine) is no exception and no excuse. It is your implementation choice as the service provider and your responsibility to configure it to behave correctly. If you are looking for an answer to question "Can I blame Microsoft?" then my answer is "I don't know" and did not read it from your original question

Haha. Your answer is useful in determining that I do believe that biztalk is definitely not following the standard here. Don't be so hard on yourself.

biztalk - HL7 Accelerator Trailing Delimiter expected behaviour - Stac...

biztalk hl7 hl7-v2
Rectangle 27 2

..What is the expected behaviour of allow trailing delimiters in this ...

Although even HL7 Messaging Standard Version 2.6 did not extend the PV1 segment with other fields and thus your original code was correct from the point of supporting only 52 segment fields

1. It is perfectly valid to extend the HL7 messaging protocol with custom fields and custom segments, providing that this extension is agreed on by all involved parties and documented in the HL7 conformance statement (you can find some explaining links here and here)

2. Your parsing and message processing code should be compatible with both old and some future versions of the protocol. Number of segments, their names and order and number of fields and number of components in fields can be determined and handled dynamically. The message syntax was designed to support it. Hardcoding things like "there will be 52 fields in the PV1 segment regardless of what the HL7 version field MSH-12 contains" is not very good approach as it will not scale

Expected behavior is that your application will not crash, will not block the data processing, if the data travels through your code into another system you should not drop/remove fields you don't understand (it is more or less written in the HL7 specification somewhere..)

It sounds like this is answering the expected behaviour of an application that uses HL7 in general. However, I'm talking about BizTalk specifically. I'm just wondering if Microsoft considers this to be "as designed" or if it truly is a bug which disallows that last trailing delimiter.

@LaMMMy I'm sorry if you find my answer useless. I can delete it in that case. HL7 in general allows any number of trailing delimiters, their meaning is just a NOP instruction. Your specific implementation choice (the Microsoft's BizTalk engine) is no exception and no excuse. It is your implementation choice as the service provider and your responsibility to configure it to behave correctly. If you are looking for an answer to question "Can I blame Microsoft?" then my answer is "I don't know" and did not read it from your original question

Haha. Your answer is useful in determining that I do believe that biztalk is definitely not following the standard here. Don't be so hard on yourself.

biztalk - HL7 Accelerator Trailing Delimiter expected behaviour - Stac...

biztalk hl7 hl7-v2