PL/SQL для разбора EDI (X12, NCPDP, HL7)

У меня есть некоторые сообщения EDI (X12, HL7 и т. д.), хранящиеся в базе данных Oracle. Иногда я хочу вытащить отдельные поля (например, ISA-03). В настоящее время у меня действительно уродливый sql. Я хотел бы создать пакет PL/SQL, чтобы упростить его, и мне было интересно, сделал ли кто-нибудь это уже.

Я представляю что-то вроде:

выберите edi.x12.extract_field (clob_column, 'ISA', 4) из edi_table


person Dave    schedule 24.10.2008    source источник


Ответы (1)


Хотя я никогда не сохранял сообщение HL7 как есть в базе данных, это должно быть возможно.

Идея HL7 (и XML) заключается в том, что это общий формат, используемый системами для передачи информации. Он никогда не разрабатывался как «хранимый» предмет. Обычно я извлекал данные из формата хранилища в определенное сообщение HL7 и отправлял его на MQHub/eGate для передачи. По возвращении сделайте наоборот, извлеките поля, которые я храню, и сохраните их. т.е. HL7 не должен храниться, поэтому у меня его нет.

Хватит лекций. :)

Я бы предложил функцию/процедуру для каждого сегмента и разбил сообщение на временную таблицу.

пример разделения оракул

person jim    schedule 27.10.2008