HL7DFDLInput-Knoten

Mit einem HL7DFDLInput-Knoten können Sie Nachrichten von Clients empfangen, die über das Protokoll MLLP über TCP/IP eine Verbindung mit dem Integrationsknoten herstellen.

Zweck

Der HL7DFDLInput-Knoten ist an einem Port empfangsbereit, und sobald ein Client-Socket eine Verbindung zum Port aufbaut, stellt das Server-Socket eine Verbindung für den Client her. Ist eine Verbindung geöffnet, wird ein Datensatz empfangen, wobei das Ende des Datensatzes am Vorhandensein eines konfigurierbaren Begrenzers erkannt wird. Wenn beim Lesen von Daten ein Fehler auftritt, z. B. eine Zeitlimitüberschreitung beim Warten auf Daten oder das Schließen einer Verbindung beim Warten auf den vollständigen Datensatz, werden die Daten an das Fehlerterminal gesendet. Wenn keine Verbindung zum Fehlerterminal besteht, wird eine Ausnahmebedingung ausgelöst. Wenn die Eigenschaft Wiederholungsmechanismus für den Knoten nicht auf Fehler gesetzt ist, wiederholt der Knoten den Verbindungsversuch so lange, bis die Daten erfolgreich empfangen werden oder die Anzahl der Wiederholungsversuche, die durch die Eigenschaft Wiederholungsschwellenwert festgelegt ist, erreicht wird.

Der HL7DFDLInput-Knoten erfordert, dass Nachrichten das Protokoll MLLP über TCP/IP verwenden. Wenn die führenden MLLP-Bytes nicht vorhanden sind, wird die Nachricht an das Fehlerterminal gesendet.

Der HL7DFDLInput-Knoten verarbeitet Nachrichten, die in der DFDL-Domäne definiert sind. Zum Parsen der Nachrichten wird das HL7-Nachrichtenformat im DFDL-Nachrichtenmodell verwendet. Wenn ein Parsing-Fehler auftritt oder obligatorische MSH-Felder nicht vorhanden sind, wird die Nachricht an das Fehlerterminal übergeben. Informationen zu Nachrichtenmodellen finden Sie unter Nachrichtenmodelle in der IBM® Integration Bus-Produktdokumentation.

Sie können den HL7DFDLInput-Knoten so konfigurieren, dass er eine Prüfung auf Duplikate durchführt. Jede ankommende HL7-Nachricht enthält im MSH-Headersegment ein MessageControlID-Feld, das den Datensatz identifiziert. Wenn die Eigenschaft Duplikate prüfen ausgewählt ist, werden alle IDs zusammen mit der Bestätigung, die an den Sender zurückgegeben wurde, in der Warteschlange für Duplikate gespeichert. Die ID einer ankommenden Nachricht wird gegen die gespeicherten IDs abgeglichen, um festzustellen, ob es sich um ein Duplikat handelt. Wird ein Duplikat erkannt, wird es nicht verarbeitet, sondern es wird dieselbe Bestätigung, die mit der ersten Nachricht gesendet wurde, an den Sender zurückgegeben. Die Warteschlange für Duplikate wird als Knoteneigenschaft angegeben.

IDs werden für die Dauer in der Warteschlange für Duplikate gespeichert, die durch die Eigenschaft Duplikatzeitraum angegeben ist. Nach Ablauf dieses Zeitraums werden die IDs gelöscht und Nachrichten mit derselben ID nicht mehr als Duplikate behandelt. Sie müssen die Größe der Warteschlange für Duplikate so festlegen, dass sie die maximale Anzahl der Nachrichten-IDs, die im angegebenen Zeitraum erwartet wird, aufnehmen kann.

Wenn eine ankommende Nachricht kein Duplikat ist, wird sie zur weiteren Verarbeitung an das Ausgangsterminal des HL7DFDLInput-Knotens übergeben. Wird ein Duplikat erkannt, gibt der HL7DFDLInput-Knoten eine Bestätigung an den Anforderer zurück. Wenn die Duplikatberichterstellung aktiviert ist und ein Duplikat erkannt wird, wird die Nachricht an das Fehlerterminal übergeben.

Die Verarbeitung der Nachrichten unterliegt einer transaktionsorientierten Steuerung. Wenn der Nachrichtenfluss rückgängig gemacht wird, werden die Duplikat-IDs, die zur Warteschlange für Duplikat-IDs hinzugefügt wurden, entfernt. Dies stellt sicher, dass eine Nachricht, die erneut gesendet wird, nicht als Duplikat identifiziert, sondern als neue Nachricht verarbeitet wird.

Informationen zu HL7 finden Sie unter Health Level Seven International.

Der HL7DFDLInput-Knoten befindet sich im Ablagefach Healthcare der Nachrichtenflussknotenpalette und wird in IBM Integration Toolkit durch folgendes Symbol dargestellt:

Symbol für GenericHL7DFDLInput-Knoten

Verwendung dieses Knotens in einem Nachrichtenfluss

Wenn ein HL7DFDLInput-Knoten in einem Nachrichtenfluss verwendet wird, enthalten Nachrichten, die an das Ausgangsterminal übergeben werden, vom Parser analysierte HL7-Nachrichten, aus denen die führenden und abschließenden MLLP-Bytes entfernt wurden. Die Nachrichtenbaumstruktur enthält MQMD- und MQRFH2-Header, sodass die Nachricht bei Bedarf direkt in eine Warteschlange geschrieben werden kann. Der Nachrichtentext enthält eine HL7-Nachricht in der DFDL-Domäne. Der Nachrichtenfluss ist dafür verantwortlich, dass eine Bestätigung an den Anforderer zurückgegeben wird.

Wenn im HL7DFDLInput-Knoten ein Fehler auftritt, wird die Nachricht an das Fehlerterminal übergeben. LocalEnvironment.HL7 enthält die Felder, die in der folgenden Umgebungstabelle beschrieben werden. Mithilfe der Informationen in diesen Feldern wird eine negative Rückmeldung oder eine Fehlernachricht erstellt.

Feld Beschreibung
FlowMilestoneReached Gibt die Aktion an, die beim Auftreten des Fehlers ausgeführt wird.
SendNACK Es wird eine negative Bestätigungsantwort gesendet.
EndConnection YES: Verbindung schließen

NO: Verbindung nicht schließen

HL7RC HL7-Rückgabecode
ErrorCondition Fehlertext, der in die negative Bestätigung eingeschlossen wird.
Wenn das Feld SendNACK auf YES gesetzt ist, wird eine negative Bestätigung an den Anforderer zurückgegeben. Das Feld SendNACK wird auf NO gesetzt, wenn eine der folgenden Bedingungen zutrifft:
  • Die ankommende Nachricht enthielt nicht die richtigen MLLP-Begrenzer; deshalb wird davon ausgegangen, dass das MLLP-Protokoll nicht unterstützt wird.
  • Die Nachricht ist ein Duplikat und der HL7DFDLInput-Knoten hat die negative Bestätigung zurückgegeben.

Wenn EndConnection auf YES gesetzt ist, muss die Verbindung geschlossen werden. Diese Aktion wird ausgeführt, wenn die ankommende Nachricht nicht die richtigen MLLP-Begrenzer enthielt und deshalb davon ausgegangen wird, dass das MLLP-Protokoll nicht unterstützt wird.

Die Felder HL7RC (HL7-Rückgabecode) und ErrorCondition (Fehlerbedingung) dienen dazu, Informationen in der negativen Bestätigung bereitzustellen, die an den Anforderer zurückgegeben wird.

In der folgenden Fehlertabelle sind die möglichen Fehlercodes aufgeführt.
Erreichter Nachrichtenflussmeilenstein Rückkehrcode Fehlertext
DETECTDUPLICATE AR Fehler beim Überprüfen der Duplikate
PARSE AE Eine DFDL-Analysefehlernachricht wird angezeigt. Das Problem wird in der Nachricht zusammengefasst.
BUILDACK AR Fehler beim Erstellen der ACK-Nachricht

(Dieser Fehler tritt auf, wenn eine Bestätigung zurückgegeben wird, weil die Nachricht ein Duplikat ist).

SENDACK AR Fehler beim Erstellen der ACK-Nachricht

(Dieser Fehler tritt auf, wenn eine Bestätigung zurückgegeben wird, weil die Nachricht ein Duplikat ist).

DUPLICATEERROR AR Fehler bei der Duplikaterkennung. Duplikatwarteschlange ist voll.

Fehler während der Duplikaterkennung. Nachrichtenverarbeitung fehlgeschlagen.

SAVINGDUPDATA AR Fehler beim Speichern der Duplikatdaten
DUPLICATE RECORD AR Doppelter Datensatz erkannt

Der HL7DFDLInput-Knoten arbeitet transaktionsorientiert. Wenn der Nachrichtenfluss, in dem sich der Knoten befindet, erfolgreich endet, werden alle innerhalb der Transaktion geschriebenen Nachrichten festgeschrieben. Endet die Nachricht mit einer Ausnahmebedingung, die nicht abgefangen wird, werden alle innerhalb der Transaktion geschriebenen Nachrichten rückgängig gemacht, einschließlich der Nachricht selbst. Diese Aktion schließt die Nachricht an die Warteschlange ein, in der bei Duplikaterkennungen die Duplikat-IDs gespeichert werden. Sie müssen bestimmen, welche Nachrichten unter diesen Bedingungen rückgängig gemacht werden sollen, und sicherstellen, dass andere Nachrichten, z. B. Fehlernachrichten, nicht innerhalb der Transaktion geschrieben werden.

HL7DFDLInput-Knoten konfigurieren

Nachdem Sie eine Instanz eines HL7DFDLInput-Knotens in einem Nachrichtenfluss hinzugefügt haben, können Sie ihn konfigurieren.

Alle obligatorischen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind mit einem Stern markiert.

Terminals und Eigenschaften

Die HL7DFDLInput-Knotenterminals werden in der folgenden Tabelle beschrieben.
Terminal Beschreibung
Fehler Das Ausgabeterminal, an das eine Nachricht weitergeleitet wird, wenn ein Fehler auftritt.
Out Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich von einer externen Ressource abgerufen wurde.
Catch-Terminal Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn nachgeschaltet eine Ausnahmebedingung ausgelöst und von diesem Knoten abgefangen wurde. Ausnahmebedingungen werden nur abgefangen, wenn dieses Terminal angeschlossen ist.

In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss zur BAR-Datei hinzugefügt wird, um ihn einzusetzen).

In der folgenden Tabelle werden die Beschreibungseigenschaften für den HL7DFDLInput-Knoten beschrieben.
Eigenschaft O K Standardwert Beschreibung
Knotenname Ja Nein HL7DFDLInput Der Name des Knotens.
Kurzbeschreibung Nein Nein   Kurzbeschreibung des Knotens
Ausführliche Beschreibung Nein Nein   Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt
In der folgenden Tabelle werden die HL7-Verarbeitungseigenschaften für den HL7DFDLInput-Knoten beschrieben.
Eigenschaft O K Standardwert Beschreibung
Duplikate prüfen Nein Nein Ausgewählt Gibt an, ob Duplikate (doppelte Nachrichten) erkannt werden, wie durch die eindeutige Nachrichten-ID im HL7-MSH-Header festgelegt.
Bei Erkennung eines Duplikats wird folgende Aktion ausgeführt:
  • Wird die Nachricht innerhalb des Zeitlimitintervalls empfangen, wird die Nachricht nicht verarbeitet, sondern es wird dieselbe Bestätigung, die für die Originalnachricht gesendet wurde, an den Sender zurückgegeben.
  • Nach Ablauf des Zeitlimitintervalls werden Duplikate normal verarbeitet.
Duplikate melden Nein Ja Ausgewählt Gibt an, ob Duplikate, die innerhalb der angegebenen Zeit eintreffen, eine Fehlernachricht generieren.
Duplikatzeitraum Nein Ja 86400 Gibt den Zeitraum (in Sekunden) bis zum Verfall gespeicherter Duplikat-IDs an. Nach Ablauf dieses Zeitraums werden Duplikate nicht erkannt und normal verarbeitet. Der Standardwert (86400) entspricht 24 Stunden.

Diese Eigenschaft ist obligatorisch, wenn Duplikate prüfen ausgewählt ist.

Doppelte ID-Warteschlange Nein Nein   Gibt die Warteschlange mit der Liste der aktuellen Duplikat-IDs an, gegen die ankommende Nachrichten abgeglichen werden.

Diese Eigenschaft ist obligatorisch, wenn Duplikate prüfen ausgewählt ist.

Führende MLLP-Bytes Ja Nein 0B Gibt das führende Byte an, das Teil des MLLP-Protokolls ist und das entfernt wird, bevor die Nachricht geparst und verarbeitet wird.
Duplikate bestätigen Nein Ja Ausgewählt Gibt an, ob bei der Erkennung von Duplikaten Bestätigungsnachrichten gesendet werden.
Generisches Modell verwenden Nein Nein Ausgewählt Bestimmt den Aufbau der Nachrichtenbaumstruktur, die vom Knoten gesendet wird.
  • Wenn diese Option abgewählt ist, wird die Baumstruktur durch den Inhalt des Felds MSH.9.MessageType in der eingehenden Nachricht bestimmt. Die Baumstruktur enthält ein Element der höchsten Ebene, das dem Nachrichtentyp entspricht, z. B. ADT_A01, und dieses Element enthält ein untergeordnetes Element für jedes HL7-Segment, z. B. MSH, EVN, PID, PV1.
    ADT_A01
      MSH
      EVN
      PID
      PV1
  • Wenn diese Option ausgewählt ist, enthält die Baumstruktur ein Element der höchsten Ebene HL7, das ein untergeordnetes Element MSH und ein untergeordnetes Element für jedes HL7-Segment, anyHL7Segment, enthält. Jede Instanz von anyHL7Segment enthält ein untergeordnetes Element, das den Namen des HL7-Segments hat, z. B. EVN, PID, PV1.
    HL7  MSH
      anyHL7Segment
        EVN
      anyHL7Segment
        PID
      anyHL7Segment
        PV1
In der folgenden Tabelle werden die grundlegenden Eigenschaften für den HL7DFDLInput-Knoten beschrieben.
Eigenschaft O K Standardwert Beschreibung
Verbindungsdetails Ja Ja 1111 Die TCP/IP-Verbindung für die Quellenanwendung im Format Hostname:Port.
Zeitlimitüberschreitung bei Warten auf Datensatz (Sekunden) Ja Ja 60 Gibt an, wie lange der Knoten an einer Verbindung auf weitere Daten wartet, nachdem das erste Datenbyte eingegangen ist. Sie können einen beliebigen Zeitwert in Sekunden angeben. Der Standardwert beträgt 60 Sekunden. Sobald die festgelegte Zeitspanne überschritten wird, werden alle verfügbaren Daten an das Fehlerterminal gesendet.
In der folgenden Tabelle werden die Datensatzerkennungseigenschaften für den HL7DFDLInput-Knoten beschrieben.
Eigenschaft O K Standardwert Beschreibung
Begrenzer Ja Nein Angepasster Begrenzer Diese Eigenschaft ist nicht bearbeitbar.
Abschließende MLLP-Bytes Ja Ja 1C0D Die abschließenden MLLP-Bytes werden als HL7-Datensatzbegrenzer verwendet. Sie werden vom HL7DFDLInput-Knoten entfernt.
In der folgenden Tabelle werden die Wiederholungseigenschaften für den HL7DFDLInput-Knoten beschrieben.
Eigenschaft O K Standardwert Beschreibung
Wiederholungsmechanismus Ja Nein Kurzes Wiederholungsintervall (Sekunden) Gibt an, wie der Knoten einen Nachrichtenflussfehler handhabt. Gültige Optionen:
  • Fehler
  • Kurzes Wiederholungsintervall (Sekunden)
  • Kurze und lange Wiederholungszeit
Kurzes Wiederholungsintervall (Sekunden) Ja Ja 0 Das Intervall in Sekunden zwischen den Wiederholungen, wenn der Wiederholungsschwellenwert ungleich null ist.
Wiederholungsschwellenwert Ja Ja 0 Gibt an, wie oft die Flusstransaktion wiederholt werden soll, wenn Wiederholungsmechanismus auf Kurzes Wiederholungsintervall (Sekunden) gesetzt ist.
Langes Wiederholungsintervall (Sekunden) Ja Ja 300 Das Intervall zwischen Wiederholungen, wenn Wiederholungsmechanismus auf Kurze und lange Wiederholungszeit gesetzt ist und der Wiederholungsschwellenwert erreicht ist.
In der folgenden Tabelle werden die Parsing-Eigenschaften für den HL7DFDLInput-Knoten beschrieben.
Eigenschaft O K Standardwert Beschreibung
Auswerten Ja Ja Keine Diese Eigenschaft steuert, ob eine Validierung stattfindet. Gültige Werte:
  • Keine
  • Inhalt und Wert
  • Wert
Zeitpunkt für Syntaxanalyse Ja Nein On demand Diese Eigenschaft steuert, wann eine Eingabenachricht geparst wird. Gültige Werte:
  • Bei Bedarf
  • Sofort
  • Vollständig

Eine vollständige Beschreibung dieser Eigenschaft finden Sie unter Bedarfsgerechte Syntaxanalyse.

ID des codierten Nachrichtenzeichensatzes Ja Nein 1208 Die ID des codierten Zeichensatzes, der für die Interpretation der zu lesenden Daten verwendet werden soll.
Copyright IBM Corporation 2011, 2015Copyright IBM Corporation 2011, 2015.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: : 2015-06-23 08:47:35


ReferenzthemaReferenzthema | Version 4.0.0.0 | ha05110