Each segment consists of the fields (defined as composites).
Therefore, second level delimitation will be between the fields in the segment.
The delimiter can be either permanently defined in the character column, or can be taken from message header (position 3 for HL7).
For HL7, it will always be the '|' character. Very rare and legacy
implementations will use different characters at this level.
'~' characters are used as the delimiter characters to identify repeating fields inside a particular segment. Remember that the difference between a repeating segment and a repeating field is that only a specific composite is repeated, not the entire segment.