Z-Segmente löschen

Hin und wieder kommt es vor, dass z.B. KIS Systeme Z-Segmente senden. Davon wird bei vielen Subsystemen meist nur das ZBE-Segment benötigt. Um die Z-Segmente mit Ausnahme des ZBE-Segmentes dynamisch zu löschen, kann folgender JavaScript-Code genutzt werden.

for each(seg in msg.children())
{
    if(seg.name().toString().indexOf('Z') != -1 && seg.name().toString() != 'ZBE')
    {
        delete msg[seg.name().toString()];
    }
}

Prüfen, ob ein Feld numerisch ist

Manchmal kommt es vor, dass bestimmte Felder dahingehend geprüft werden müssen, ob diese ausschließlich Ziffern erhalten. Hierfür kann die JavaScript-Funktion isNaN() genutzt werden. isNaN steht für “is not a number”. Wenn Sie z.B. Nachrichten filtern möchten, bei denen die Fallnummer keine Zahl ist, so können Sie diesen JavaScript Code in ihrem Filter nutzen:

if(!isNaN(msg['PV1']['PV1.19']['PV1.19.1'].toString()))
        return true;
return false;

Wie Sie sehen, lassen wir die Nachricht durch, wenn die Funktion false zurück liefert. Dies hat den Grund, dass die Funktion ein true ausgibt, wenn es sich nicht um eine Zahl handelt.

Hierbei müssen jedoch einige Dinge beachtetet werden. Ist das Feld, das Sie prüfen wollen, nämlich leer, so liefert die Funktion isNaN() ebenfalls false zurück und die Nachricht würde weitergeleitet werden.

Weitere Informationen und Besonderheiten zu dieser Funktion finden Sie auch unter https://www.w3schools.com/jsref/jsref_isNaN.asp

Führende Nullen anhängen / entfernen

Grade bei Systemen wie SAP i.s.h. (med) werden Fall- und Patientennummer auf Grund fixer Längenwerte oft mit führenden Nullen versendet. Da manche Subsysteme mit diesen Werten nicht umgehen können, gibt es am NextGen® Connect Kommunikationsserver die Möglichkeit, mittels Javascript die führenden Nullen beim Versand zum Subsystem zu entfernen und für den Rückweg zum KIS wieder anzuhängen.

Um das Anhängen / Enfernen der Nullen dynamisch zu gestalten, wird hierfür eine while-Schleife verwendet. Wir gehen in dem Beispiel zudem davon aus, dass die Feldlänge 10-stellig ist.

In einen Transformer des Ziels zum Subsystem muss folgender Code (hier im Beispiel die Fallnummer im Feld 19 des PV1 Segmentes) hinzugefügt werden:

while(msg['PV1']['PV1.19']['PV1.19.1'].toString().length < 10)
{
msg['PV1']['PV1.19']['PV1.19.1'] = "0" + msg['PV1']['PV1.19']['PV1.19.1'].toString();
}

Wenn wir auf dem Rückweg vom Subsystem zum KIS die führenden Nullen wieder entfernen möchten, so nutzen wir folgenden Javascript Code im Transformer des Ziels:

while(msg['PV1']['PV1.19']['PV1.19.1'].toString().substring(0,1) == "0")
{
msg['PV1']['PV1.19']['PV1.19.1'] = msg['PV1']['PV1.19']['PV1.19.1'].toString().substring(1);
}