Efferent-Health/HL7-dotnetcore

Messages are limited to 32767 segments . Have undefined results after that

tkent opened this issue · 2 comments

tkent commented

A short is used to manage the sequence number for segments (here)

For messages with > 32767 segments, you run over max value that can be held by a short. We occasionally need to process messages of this size and get undefined results.

Simply swapping the data type to a long would fix the issue. For reference, from the HL7v2 spec.

HL7 sets no limits on the maximum size of HL7 messages.

Changed to the datatype to int. No need to change to long which is even larger.
Already published in version 2.8

tkent commented

👋 - thanks for the quick response and the fix!

I see that the C# List can only return an int anyway, so that makes sense.