Required Field Is Missing or Empty
A field marked with usage R (Required) in the segment definition is either absent or contains no value. Level 3 field validation flags it against the version spec.
HL7v2 · Error
The error
PID-3 (Patient Identifier List) is required but missing or emptyWhy it happens
A source feed that does not populate the field, an off-by-one error in field positions (an extra or missing | shifts every value), or a value that was blanked during de-identification.
How to fix it
Populate the required field with a valid value. If positions look shifted, count the pipe separators carefully. Remember MSH is special: MSH-1 is the separator itself, so MSH fields are effectively offset by one compared to other segments.
Example
The snippet below triggers the error:
PID|1|||DOE^JOHN||19800101|MThe corrected version:
PID|1||12345^^^HOSP^MR||DOE^JOHN||19800101|MFrequently asked questions
Why is my field counted as empty when it looks populated?
A common cause is a misplaced field separator that shifts values into the wrong positions. Count the pipes from the start of the segment; the required field may actually be one position over from where you think it is.
Related
- Open the HL7v2 Validator
- All validation errors
- Message Does Not Begin With an MSH Segment
- MSH-1 Field Separator Must Be Exactly One Character
- MSH-2 Encoding Characters Must Be Exactly 4 Characters
- Delimiter Characters Are Not Unique
- Required Segment Is Missing
- Segment Appears More Times Than Allowed
- Segment Is Not Defined in This HL7v2 Version
- Invalid Message Type and Trigger Event Combination