Stream: implementers
Topic: Empty Field
Sharla Passariello (Dec 10 2020 at 16:53):
Hi,
I have a technical HL7 query I was hoping you could answer please.
When a system receives a HL7 message and a data item is blank, is the receiving system allowed to convert the blank data type with a “ in order to ensure old data is deleted in the field so that the new data being displayed is correct? Or is there a strict standard that says that is not allowed?
Kind regards
Sharla Passariello
Edit: this is for HL7v2
Michele Mottini (Dec 10 2020 at 16:57):
Are you talking about FHIR or about HL7v2?
In FHIR (1) empty values are not allowed (2) when you PUT a resource the exiting content is completely replaced, and (3) you can use PATCH to change only individual elements
Sharla Passariello (Dec 10 2020 at 17:01):
HL7 v2. I contacted their email and he directed me to this chat.
Sharla Passariello (Dec 10 2020 at 17:12):
Michele Mottini said:
Are you talking about FHIR or about HL7v2?
In FHIR (1) empty values are not allowed (2) when you PUT a resource the exiting content is completely replaced, and (3) you can use PATCH to change only individual elements
HL7v2 please
Elliot Silver (Dec 10 2020 at 17:12):
Most discussion on here is related to HL7 FHIR, but those interested in V2 have their own #V2 stream you could check out. However, my recollection is that a blank field means "I have nothing to say about that" and is specifically not an indication to delete any value you have. To delete an existing value, an empty pair of quotes is used.
(Actually, I was motivated to look it up -- In HL7 v2.8, see chapter 2, section 2.5.3.0 Field or Component Status, which distinguishes not populated from null.)
Jean Duteau (Dec 10 2020 at 17:13):
Elliot is right - a blank data item means "I have nothing to say". If you want to say "this item is blank", then you send |""| in the field.
Sharla Passariello (Dec 10 2020 at 17:14):
Jean Duteau said:
Elliot is right - a blank data item means "I have nothing to say". If you want to say "this item is blank", then you send |""| in the field.
Hi yes I know that but is it ok for a receiving application to change a blank field to a “ to suit this need instead of a sending application?
Sharla Passariello (Dec 10 2020 at 17:17):
Is there anything that states the receiving application cannot be the ones to change the blank to a “ though?
Lloyd McKenzie (Dec 10 2020 at 17:21):
A receiving system is allowed to consume a message as befits its own business rules. If I send you an address, you're allowed to ignore it. If I tell you "leave this element alone", you're allowed to delete it. However, there should be solid underlying business reasons for ignoring what the sender tells you. In general, if an element is omitted in a v2 message, the sender is saying "leave this alone". Transforming that into "delete this" would seem to be an uncommon situation.
Elliot Silver (Dec 10 2020 at 17:24):
The V2 isn't defined as a storage representation, it's a messaging standard. A "" isn't the value of the field, it's an instruction (delete your contents for this field).
Sharla Passariello (Dec 10 2020 at 17:34):
Hi thanks so much for your response. There is a solid business reason as the the network of systems would mean at least 10 different systems would have to implement a change, where a counter solution could be that the receiving system puts this rule in place.
Thanks so much
Sadhana Alangar (Dec 10 2020 at 19:15):
(deleted)
Sadhana Alangar (Dec 10 2020 at 19:19):
Sharla, I posted this in the V2 stream. Here is the response from Hans Buitendijk:
A blank field in v2 message does not mean the data is to be deleted, thus translating it on receipt to indicate it should be deleted is not appropriate. Only if the field explicitly includes "" (double quote) is it meant to be deleted. A blank field, absent double quotes, only means that the message does not contain that data. It can be known on the source system, just not included.
Depending on the standard/implementation guide/profile the field may be required. If in that case the field is blank, it is still not an indication to delete, rather an error by the sender to conform to the proper standard/implementation guide/profile.
Last updated: Apr 12 2022 at 19:14 UTC