function formatHL7String(str)
{
	var hl7String = str.replace(/\\/g,   '\\E\\');
	hl7String = hl7String.replace(/\|/g, '\\F\\');
	hl7String = hl7String.replace(/\^/g, '\\S\\');
	hl7String = hl7String.replace(/~/g,  '\\R\\');
	hl7String = hl7String.replace(/&/g,  '\\T\\');
	return hl7String;
}

console.log(" \\ | ^ ~ & ");

console.log(formatHL7String(" \\ | ^ ~ & "));


function parseHL7String(hl7String)
{
	var parsedString = hl7String.replace(/\\F\\/g, '\|');
	parsedString = parsedString.replace(/\\S\\/g, '^');
	parsedString = parsedString.replace(/\\R\\/g, '~');
	parsedString = parsedString.replace(/\\T\\/g, '&');
	parsedString = parsedString.replace(/\\E\\/g, '\\');
	return parsedString;
}


console.log(parseHL7String(formatHL7String(" \\ | ^ ~ & ")));