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

1 ответ

Решение

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

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

Достаточно лекции.:)

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

пример раскола в оракуле

Другие вопросы по тегам