PL / SQL per l'analisi EDI (X12, NCPDP, HL7)
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
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.