Es kann – z.B. innerhalb von Labordaten (HL7 ORU) – vorkommen, dass Steuerzeichen mit gesendet werden, die in XML nicht erlaubt sind. Da der Mirth / BridgeLink eine HL7v2 Nachricht – sofern es einen Filter oder Transformer gibt – immer in XML umwandelt, kann es hier zu Problemen kommen. Als Beispiel für einen dann auftretenden Fehler ist die Meldung:
TypeError: An invalid XML character (Unicode: 0x15) was found in the element content of the document.
Das Problem kann im Preprocessor des Channels abgefangen werden, indem man ungültige Steuerzeichen entfernt. Um alle ungültigen Steuerzeichen zu entfernen, kann man folgenden String verwenden:
message = message.replace(/[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD]/g, '');
Es ist allerdings ratsam die Steuerzeichen gegen das erwartete Zeichen zu ersetzen. Im obigen Beispiel ist der Unicode 0x15 erwähnt. Wenn man sich die Nachricht anschaut, sollte hier ein Paragraph-Zeichen stehen (§). In dem Fall könnte man also nur den Unicode 0x15 mit § ersetzen:
message = message.replace(/\u0015/g, '§');