Understanding HL7 v2 PV2-24: Patient Status in Practice
Patient Status looks like a simple status flag until you realize every source system in your integration landscape defines its own code table for it - and that mismatch is where interfaces quietly break.
PV2-24 carries a coded patient status value drawn from a user-defined or site-defined table rather than a single fixed HL7 code set - values like active, pending, discharged, or deceased are common, but the exact codes and their meanings vary by sending system. Because downstream systems frequently use this field as a trigger for state-machine logic (moving a record from "pending" to "active," for instance), it deserves more test coverage than its small size on the segment would suggest.
Valid code values
Example
PV2-24 carries 1^HOME^HL70112 - a status code, its display text, and the table it was pulled from.
Where this trips people up
The single biggest mistake with Patient Status in test data is assuming the code values are portable across source systems. A "3" that means "deceased" in one facility's table might mean something entirely different in another's. Test suites that hardcode a single interpretation of PV2-24 values will pass against one source system and silently misclassify records from a second one. When generating synthetic data across multiple simulated source systems, vary both the codes and the tables they come from to catch that class of mapping bug early.