I am using ca.uhn.hl7v2.util.Terser to create hl7 message. For one of the hl7 fields I need to set the following value \"\\home\\one\\two\".
HL7 message type is M
You may refer description of HL7 Escape Sequences here or here.
HL7 defines character sequences to represent ’special’ characters not otherwise permitted in HL7 messages. These sequences begin and end with the message’s Escape character (usually ‘\’), and contain an identifying character, followed by 0 or more characters. The most common use of HL7 HL7 is a Standards Developing Organization accredited by the American National Standards Institute (ANSI) to author consensus-based standards representing a board view from healthcare system stakeholders. HL7 has compiled a collection of message form... More escape sequences is to escape the HL7 defined delimiter characters.
Character Description Conversion \Cxxyy\ Single-byte character set escape sequence with two hexadecimal values not converted \E\ Escape character converted to escape character (e.g., ‘\’) \F\ Field separator converted to field separator character (e.g., ‘|’) \H\ Start highlighting not converted \Mxxyyzz\ Multi-byte character set escape sequence with two or three hexadecimal values (zz is optional) not converted \N\ Normal text (end highlighting) not converted \R\ Repetition separator converted to repetition separator character (e.g., ‘~’) \S\ Component separator converted to component separator character (e.g., ‘^’) \T\ Subcomponent separator converted to subcomponent separator character (e.g., ‘&’) \Xdd…\ Hexadecimal data (dd must be hexadecimal characters) converted to the characters identified by each pair of digits \Zdd…\ Locally defined escape sequence not converted
If \
is part of your data, you need to escape it with \E\
.
So your value:
"\home\one\two"
becomes
"\E\home\E\one\E\two"
About second issue:
In the hl7 messge OBX-5-1 is printed as "\E\E\usne-server\E\Pathology\E\Quantum"
While reading the value, you have to reverse the process. That means, you should replace \E\
with \
back to get original value.