Pergunta

Eu tenho algumas mensagens EDI (x12, hl7, etc ...) armazenadas em um banco de dados Oracle. Às vezes, quero extrair campos individuais (por exemplo, ISA-03). Atualmente, tenho um SQL realmente feio. Eu gostaria de criar um pacote PL/SQL para facilitar e estava se perguntando se alguém já havia feito isso.

Eu imagino algo como:

Selecione EDI.X12.EXTRAT_FIELD (CLOB_COLUMN, 'ISA', 4) de EDI_TABLE

Foi útil?

Solução

Embora eu nunca tenha armazenado a mensagem HL7, como está em um banco de dados, ela deve ser possível.

A idéia de HL7 (e XML) é que é um formato comum para os sistemas usarem para transferir informações. Nunca foi projetado como um item "armazenável". Geralmente, eu retirava os dados do formato do armazém para uma mensagem HL7 específica e os enviava para o MQHUB/EGATE para transmitir. No retorno, faça o extrato oposto dos campos, estou armazenando e salvo -os. Ou seja, o HL7 não deve ser armazenado, então eu não tenho um.

Chega da palestra. :)

Eu sugeriria uma função/procedimento por segmento e dividiria a mensagem em uma tabela temporária.

Exemplo de divisão no Oracle

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top