Testing HL7 v2 IN1-36: What Policy Number Actually Needs to Handle
Policy number sits so far down the IN1 segment that some sending systems truncate their messages before ever reaching it — and your parser needs to handle that gracefully.
IN1-36 is a free-text (ST) field holding the subscriber's policy number — the identifier the payer uses to look up the individual coverage record, as distinct from the group-level identifier in IN1-8.
What this field contains
Example
IN1-36, the final field on the segment, carries policy number POL-77213840.
Where this trips people up
Because IN1-36 is the very last field on the segment, some sending systems truncate the message right after the last populated field rather than padding out to field 36 with empty placeholders — which is valid HL7 but breaks naive parsers that expect a fixed field count. A parser that indexes fields by position instead of counting delimiters will read a truncated segment and either throw an error or silently return an empty policy number, and test suites built only against fully-padded examples won't catch it.