Mithilfe eines GenericHL7Output-Knotens kann eine Nachricht für die Zielanwendung aufbereitet werden.
Falls möglich, sollten Sie für neue und aktualisierte Anwendungen jedoch den HL7DFDLOutput-Knoten verwenden, da das DFDL-Nachrichtenmodell die folgenden Vorteile bietet:
Weitere Informationen zum HL7DFDLOutput-Knoten finden Sie unter HL7DFDLOutput-Knoten.
Der GenericHL7Output-Knoten empfängt eine HL7-Nachricht in der MRM-Domäne und öffnet Verbindungen zu einer Zielanwendung, die an einem TCP/IP-Port empfangsbereit ist. Sobald die Verbindung hergestellt ist, wird die HL7-Nachricht mit einem Datensatzende gesendet, das dem mit der Eigenschaft Abschließende MLLP-Bytes angegebenen Begrenzer entspricht; der Standardwert ist 1C0D. Wenn die Daten nicht innerhalb des durch Zeitlimitüberschreitung beim Senden eines Datensatzes (Sekunden) für den Knoten festgelegten Zeitlimits erfolgreich gesendet wurden, wird die Nachricht an das Fehlerterminal übergeben.
Nach dem erfolgreichen Senden der Nachricht wartet der GenericHL7Output-Knoten auf eine Bestätigung von der Zielanwendung. Bei einer HL7-Bestätigung werden MLLP-Bytes entfernt, sie wird analysiert und der Rückgabecode wird überprüft. Wenn im GenericHL7Output-Knoten ein Fehler auftritt, wird die Nachricht entweder an das Terminal für Wiederholungsprotokollierung oder das Fehlerterminal übergeben.
Wenn die Übermittlung erfolgreich ist und die zurückgegebene Bestätigung den Code AR enthält, wird die Nachricht an das Terminal für Wiederholungsprotokollierung übergeben, falls das Wiederholungslimit nicht überschritten wurde.
Wenn die Nachricht übermittelt und in der Bestätigung der Code AE zurückgegeben wird oder die empfangene Bestätigung ungültig ist, wird die Nachricht an das Fehlerterminal übergeben.
Wenn die Nachricht nicht übermittelt wird, wird vorausgesetzt, dass das Ziel nicht verfügbar ist, und die Nachricht an das Terminal für Wiederholungsprotokollierung übergeben, falls das Wiederholungslimit nicht überschritten wurde.
Wenn keine Verbindung zum Terminal für Wiederholungsprotokollierung besteht oder der Pfad erfolgreich endet, wird die Übermittlung wiederholt. Wenn eine Verbindung zum Terminal für Wiederholungsprotokollierung besteht und nachgeschaltet eine Ausnahmebedingung ausgelöst wird, erfolgt keine Wiederholung der Nachricht und sie wird an das Fehlerterminal übergeben.
Wenn keine Verbindung zum Fehlerterminal besteht, wird eine Ausnahmebedingung ausgelöst.
Informationen zu HL7 finden Sie unter Health Level Seven International.
Der GenericHL7Output-Knoten befindet sich im Ablagefach Healthcare der Nachrichtenflussknotenpalette und wird im WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:
Ein Beispiel für die Verwendung des GenericHL7Output-Knotens wird im integrierten Muster 'Healthcare: HL7 an HL7' in der Kategorie 'Healthcare' in der Musterexplorer-Ansicht gezeigt.
Wenn ein GenericHL7Output-Knoten in einem Nachrichtenfluss verwendet wird, erwartet der Knoten, dass die MRM-Baumstruktur eine Nachricht enthält, die im Abgleich mit der HL7-Nachricht in der Nachrichtengruppe 'HL7v25P' geparst wurde. Falls Sie nicht sicher sind, ob Nachrichten, die an den GenericHL7Output-Knoten übergeben werden, korrekt sind, können Sie die Eigenschaft Auswerten so konfigurieren, dass vor Beginn der Verarbeitung ein Parsing durchgeführt wird. Wenn die Nachricht erfolgreich an das konfigurierte Ziel gesendet wird und das Ziel eine Bestätigung der erfolgreichen Verarbeitung zurückgibt, wird die Bestätigung an das Ausgangsterminal des Knotens übergeben.
Wenn der Knoten nach einem Fehler versuchen soll, die Nachricht erneut zu senden, müssen Sie den Wert der Eigenschaft Wiederholungslimit auf die Anzahl der Versuche setzen, die der Knoten durchführen soll, um die Nachricht zu senden. Wenn außerdem jeder Wiederholungsversuch protokolliert werden soll, müssen Sie die Eigenschaft Wiederholung protokollieren auswählen. Ist die Eigenschaft Wiederholung protokollieren ausgewählt, wird die Nachricht für jeden Versuch an das Terminal für Wiederholungsprotokollierung übergeben. Die Umgebung enthält die Werte, die Sie in Ihrer Protokollnachricht verwenden können (siehe folgende Umgebungstabelle).
Wenn Sie eine Verbindung mit dem Terminal für Wiederholungsprotokollierung herstellen, endet der Nachrichtenfluss-Thread erfolgreich und es werden weitere Wiederholungsversuche unternommen. Falls nicht abgefangene Ausnahmebedingungen für diesen Thread ausgelöst werden, werden die Wiederholungen nicht fortgesetzt.
Wenn eine Nachricht an das Fehlerterminal übergeben wird, verhält sich der Nachrichtenfluss, wie in Ihren Fehlerbehandlungsprozeduren vorgegeben. Es muss eine Verbindung zum Fehlerterminal bestehen, sodass der Fehler protokolliert wird und entweder die Daten gespeichert und/oder eine Ausnahmebedingung ausgelöst werden. Wenn keine Verbindung zum Fehlerterminal besteht, verursacht der Fehler einen Hintergrundfehler, es wird keine Ausnahmebedingung ausgelöst und es werden keine Ereignisse im Ereignisprotokoll erfasst. Fehlercodes und andere Informationen, die Sie in Ihrer Fehlerbehandlung verwenden können, sind in der folgenden Fehlertabelle aufgeführt.
Wenn im GenericHL7Output-Knoten ein Fehler aufgetreten ist, wird die Nachricht an das Fehlerterminal übergeben. LocalEnvironment.HL7 enthält die Felder, die in der folgenden Umgebungstabelle aufgeführt sind. Mithilfe der Informationen in diesen Feldern wird eine negative Rückmeldung oder eine Fehlernachricht erstellt.
Feld | Beschreibung |
---|---|
FlowMilestoneReached | Gibt an, wo der Fehler aufgetreten ist. |
Retry | Gibt an, ob diese Aktion erneut versucht werden kann. |
ErrorCondition | Enthält eine Beschreibung des Fehlers. |
Attempt | Tritt der Fehler in einer Wiederholungsschleife auf, enthält diese Variable folgenden Text: Attempt <i> of <n> |
RetryCount | Gibt die Nummer der aktuellen Wiederholung an. |
RetryLimit | Gibt die Anzahl der zulässigen Wiederholungen an. |
In der folgenden Fehlertabelle sind die Fehlercodes aufgeführt, die auftreten können.
Fehler | Terminal | Retry | Code | Fehlertext |
---|---|---|---|---|
Der Knoten konnte die ankommende Nachricht nicht mithilfe der Nachrichtengruppe 'HL7v25P' und des HL7-Nachrichtenformats parsen. | Fehlerterminal | Nein | BADHL7 MESSAGE | The incoming HL7 message cannot be parsed. |
Der Knoten konnte die Nachricht nicht an das konfigurierte Ziel senden. | Terminal für Wiederholungsprotokollierung | Ja | SENDHL7 | TCP/IP error. The HL7 message was not sent. |
Der Knoten konnte die Bestätigung nicht parsen. | Fehlerterminal | Nein | ACKPARSE ERROR | MSH error while ACK message was being parsed. |
Die Bestätigung wurde empfangen, aber sie enthält keinen Bestätigungscode. | Fehlerterminal | Nein | ACKERROR | MSA parsing or validation error: MSA 1. The acknowledgment code is null. The ACK contained the following error message: Fehlernachricht |
Die Bestätigung wurde empfangen, aber sie enthält keine Nachrichtensteuerungs-ID. | Fehlerterminal | Nein | ACKERROR | MSA parsing or validation error: MSA 2. The MessageControlID is null. The ACK sent the following error message: Fehlernachricht |
Es wurde keine Bestätigung im Zeitlimitintervall empfangen. | Fehlerterminal | Nein | TIMEOUT | The node failed to receive ACK message within the specified time-out. |
Der Knoten hat die Bestätigung nicht empfangen. | Fehlerterminal | Nein | RECEIVE ACK | TCPIP error. The node failed to receive ACK message. |
Der Knoten versuchte, die Nachricht zu übermitteln, hat jedoch das konfigurierte Wiederholungslimit erreicht. | Fehlerterminal | Nein | SENDHL7 TOOMANY REPEATS | The node failed to receive the ACK message. |
Der Knoten empfing AR-Bestätigungen, hat jedoch das konfigurierte Wiederholungslimit erreicht. | Fehlerterminal | Nein | ACKAR TOOMANY REPEATS | The node has retried sending the message and cannot successfully deliver the message. |
Nachdem Sie eine Instanz eines GenericHL7Output-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.
Terminal | Beschreibung |
---|---|
Eingangsterminal | Das Eingabeterminal, das eine HL7-Nachricht zur Verarbeitung durch den Knoten annimmt. |
Fehlerterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn der Knoten sie nicht erfolgreich senden kann und keine Bestätigung der erfolgreichen Verarbeitung empfängt. |
Ausgangsterminal | Das Ausgabeterminal, an das die Bestätigung weitergeleitet wird, wenn eine Nachricht erfolgreich an das Ziel gesendet wurde und eine Bestätigung der erfolgreichen Verarbeitung empfangen wird. Ausnahmebedingungen treten entweder innerhalb des Knotens auf oder wenn eine doppelte Nachricht gefunden wird. |
Terminal für Wiederholungsprotokollierung | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn der Knoten die Nachricht entweder nicht erfolgreich senden kann oder keine Bestätigung der erfolgreichen Verarbeitung empfängt und wenn der Wiederholungszähler nicht überschritten ist. |
In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Stern, 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 zu implementieren).
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | GenericHL7Output | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Eine Kurzbeschreibung des Knotens. | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Verbindungsdetails | Ja | Ja | localhost:2222 | Die TCP/IP-Verbindung für die Zielanwendung im Format Hostname:Port. |
Zeitlimitüberschreitung beim Senden eines Datensatzes (Sekunden) | Ja | Ja | 60 | Die Zeit in Sekunden, die der Knoten wartet, bevor er versucht, Daten zu senden oder eine Bestätigung zu empfangen. |
Führende MLLP-Bytes | Ja | Ja | 0B | Das führende MLLP-Byte, das zu abgehenden HL7-Datensätzen hinzugefügt und aus eingehenden Bestätigungen entfernt wird. |
Wiederholungslimit | Ja | Ja | 5 | Die maximale Anzahl Versuche, die der Knoten unternimmt, um eine HL7-Nachricht an die Zielanwendung zu übermitteln. |
Wiederholung protokollieren | Ja | Ja | Ausgewählt | Gibt an, ob jeder Versuch, eine Nachricht zu übermitteln, an das Terminal für Wiederholungsprotokollierung übergeben wird, um eine Protokollierung zu ermöglichen. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Begrenzer | Nein | 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 TCPIPClientOutput-Knoten hinzugefügt. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Begrenzer | Nein | Nein | Angepasster Begrenzer | Diese Eigenschaft ist nicht bearbeitbar. |
Abschließende MLLP-Bytes (Bestätigung) | Ja | Nein | 1C0D | Der HL7-Begrenzer, an dem das Ende von eingehenden Bestätigungen erkannt wird. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Auswerten | Nein | Ja | Keine | Diese Eigenschaft legt die Auswertungsstufe für die ankommende
HL7-Nachricht in der MRM-Domäne fest. Gültige Werte:
|