HL segments are hiarchial levels. An HL segment will state in it’s elements if it has a child HL. For the type of practice you’re working with you’ll have mainly a patient loop (rather than just a subscriber loop). You’ll see an HL32230
The 3 means the 3rd HL in the EDI. The 2 goes back to the parent HL and says this HL is under the parent, and the 23 says it’s a dependent. Finally the 0 tells the parser if there are children as in other child loops with-in the HL area.
Because it’s talking about HL 2 I know that it’s the 2nd HL in the EDI, you’re Segment probably looks like this:
HL21221
the 22 says it’s the subscriber and the last element being 1 says there are children. So the parser is expecting this HL to have a child which would be the start of the 2000C loop.
Now in insurance terms, this patient is probably not the subscriber to the insurance, so you should see the subscriber being the mom or dad and then patient being the final loop or the 2000C loop.
Now, if the patient is the subscriber, you won’t have a patient loop 2000C and that HL I spoke of with the 22 should end in 0.
I like to brag about my parsers for my system. I believe this would be allowed in the system because I don’t care if an HL is saying there are children or not, I see the 23 and handle it as it should. Then I rewrite the HL segments properly before going out. I have a process that counts the HL’s to make sure they are numbered properly and fixes the child element to reflect properly.
To me it sounds like something isn’t setup right when create the claim. I’d look closely at your 837 and see what’s missing. If a patient loop really was supposed to be created, you might be lacking a claim loop too. Or it simply could be your HL loop was created wrong. That would surprise me though because more people would have this exact same issue.