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 не должен храниться, поэтому у меня его нет.
Достаточно лекции.:)
Я бы предложил функцию / процедуру для каждого сегмента и разделить сообщение на временную таблицу.