Domanda

Ho alcuni messaggi EDI (X12, HL7, ecc ...) memorizzati in un database Oracle. A volte voglio estrarre singoli campi (ad esempio ISA-03). Attualmente, ho alcuni sql davvero brutti. Vorrei creare un pacchetto PL / SQL per renderlo più semplice e mi chiedevo se qualcuno lo avesse già fatto.

Immagino qualcosa del tipo:

selezionare    edi.x12.extract_field (clob_column, 'ISA', 4) a partire dal    edi_table

È stato utile?

Soluzione

Anche se non ho mai archiviato il messaggio HL7 come in un database, dovrebbe essere possibile.

L'idea di HL7 (e XML) è che è un formato comune che i sistemi possono utilizzare per trasferire informazioni. Non è mai stato progettato come "memorizzabile" articolo. Solitamente, estrarrei i dati dal formato del magazzino in un particolare messaggio HL7 e li invierei a MQHub / eGate per la trasmissione. Al ritorno fai il contrario estrai i campi che sto immagazzinando e salvali. OSSIA HL7 non deve essere archiviato, quindi non ne ho uno.

Basta con la lezione. :)

Suggerirei una funzione / procedura per segmento e dividere il messaggio in una tabella temporanea.

esempio di split in oracle

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top