Question: Interpreter Needed flag in HL7 v2

Apr 30, 2012

We’ve been asked to update a patient’s “Interpreter Needed” flag across HL7 V2.x. I can see the Primary Language field as part of the PID, but cant see any reference to “Interpreter Required” in my reading of the specs. Have you come across this being sent as HL7 in your travels? Well, no. I’ve seen the field in Patient Admin Systems, but I’ve not seen it in any HL7 message. And as you say, there’s no field for it. I’ve asked around, and no one else has seen it either. I have no idea why. I mean, you could assume that if the patient’s primary language isn’t the local language, an interpreter would be required… or maybe not. Whether you could or not would at least be dependent on local clerical policy. And obviously not in this case, or the question wouldn’t have come up.

So, it’s going to be yet another custom interface negotiation between you and the destination system vendor (or the source system).

In principle, there’s two ways to do this, both equally dubious. The first is simply to add a Z-segment, usually after the PID segment. This would look something like this:

 PID|1||12345^^^MR|...
 ZPD|true

Any random inspector of the message would have no idea what ZPD-1 meant - but you would, and anyone you told. This is actually the correct way, but people really hate Z-Segments because who knows what they mean? (Particularly next year when you’ve moved on, and the hospital loses the documentation).

An alternative is to use OBX. Let’s assume you’re using A01, in version 2.5. It has an OBX segment which can repeat after the PID, and you could add an observation about the patient that they need an interpreter. This wanton abuse of observations is a classic pattern of use of HL7 (both v2 and v3) … anyway, it would look like this:

 PID|1||12345^^^MR|...
 PV1...
 OBX|1|ST|code||true

There’s no boolean data type, so the nominal type is ST. The [code] value is some code that identifies whether an interpreter is required. Since there’s no vaguely appropriate code in loinc, you could make any old code up, which means that the OBX is as uninterpretable as the Z-segment approach, though it does offer the interesting possibilities of bringing other poorly written systems (they abound) down when it tries to make sense of you custom observation. There is a better option though: SNOMED-CT has the term 315594003, which is a clinical finding with the preferred description: Interpreter needed. Frankly, for most systems, this would be no different than an invented code, but it does leave a clear signpost for anyone following later:

 PID|1||12345^^^MR|...
 PV1...
 OBX|1|ST|315594003^Interpreter needed^SCT||true

I’d choose the OBX method, simply because there happens to be a good SNOMED-CT code. If there wasn’t…. it’s toss a coin territory.