Frage

Ich habe einige EDI -Nachrichten (x12, hl7 usw.), die in einer Oracle -Datenbank gespeichert sind. Ich möchte manchmal einzelne Felder herausziehen (z. B. ISA-03). Derzeit habe ich einige wirklich hässliche SQL. Ich möchte ein PL/SQL -Paket erstellen, um es einfacher zu machen, und fragte sich, ob jemand dies bereits getan hatte.

Ich stelle mir so etwas wie:

Wählen Sie EDI.X12.EXTRACT_FIELD (CLOB_COLUMN, 'ISA', 4) von EDI_TABLE

War es hilfreich?

Lösung

Während ich die HL7 -Nachricht wie in einer Datenbank nie gespeichert habe, sollte sie möglich sein.

Die Idee von HL7 (und XML) ist, dass es ein gemeinsames Format für Systeme ist, um Informationen zu übertragen. Es wurde nie als "aufbewahrtes" Artikel gestaltet. Normalerweise habe ich die Daten aus dem Lagerformat in eine bestimmte HL7 -Nachricht herausgezogen und sie zur Übertragung an den MQHUB/Egate senden. Bei der Rückkehr extrahieren Sie den Gegenteil die Felder, die ich Lagerung und rette diese. IE HL7 sollte nicht gespeichert werden, also habe ich keine.

Genug der Vorlesung. :)

Ich würde eine Funktion/eine Prozedur per Segment vorschlagen und die Nachricht in eine TEMP -Tabelle teilen.

Beispiel für Split in Oracle

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top