XMLをX12(270-医療適格性要求)に変換してから、X12応答(271-適格性応答)をXMLに戻すためのツール/ライブラリを探しています。これはサーバーアプリケーションに埋め込まれます(任意のターゲット言語を考慮します)。私は独自のX12パーサーとジェネレーターを作成するというアイデアをいじくりまわしましたが、このプロジェクトは他のX12トランザクションにも拡張される可能性が高く、拡張可能なソリューションを見つけたいと思います。
最終的に、独自のXML <-> x12変換ツールを作成しました。私が出くわしたいくつかの商用製品がありましたが(そのうちの1つは EtaSoft から、それらの優れたドキュメントをチェックする価値があります)、最終的には自家製のソリューションの利点が大きすぎました。
X12 :: Parser の構成ファイルをX12パーサーの基礎として使用しました。基本的に、構成ファイルをコードに変換し、理論的にはほとんどないはずの構成ファイルを管理するためのオーバーヘッドとエラー処理を排除しました。変化する。
私はこれに出くわしました:OopFactoryX12パーサー- https://x12parser.codeplex.com/releases/view/106524
信じられない。ソースコードは適切に構造化されており、すべてが最初に開いた状態で構築され、単体テストもありました。
私のプロジェクトに引き込まれ、それは私が試したすべてのファイルを変換しました。
動作するコマンドラインexeが含まれていますが、.Netの人として、ライブラリは本当に印象的でした。
-更新-
短い短いバージョンは次のようになります。
var fstream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
var parser = new X12Parser();
var interchange = parser.ParseMultiple(fstream).First();
var x12Xml = interchange.Serialize();
絶対に避けなければならない製品の1つがEcMapです。 EDI部門での私自身の雇用で、約1年の経験がありますが、インターフェイスの設計が不十分なアプリケーション(おそらくLotus Notesを除く)はめったに見たことがありません。より紛らわしいユーザードキュメント、そして絶対にばかげたライセンススキーム。これは基本的にCPUごとにライセンスされ(CPUとはコアを意味するため、新しいクアッドコアCPUを持っている場合は本当に困惑します)、ライセンスごとに10Kを超えます。私が聞いた最後の引用。
これは、 pyx12 を使用してXMLファイルに書き込む例です。
import pyx12.x12n_document
fd_source = "/path/to/edi/file"
output_file = "result.xml"
with open(output_file, 'w') as fd_xml:
result = pyx12.x12n_document.x12n_document(param=param, src_file=fd_source,
fd_997=None, fd_html=None, fd_xmldoc=fd_xml, xslt_files=None)
pyx12 を見てください。
X12からXMLおよびXMLからX12のスクリプトが含まれています。
なぜPythonなのか?支払人とプロバイダーの間で許可されているバリエーションを処理するために、X12ドキュメントをカスタマイズする必要がある場合が多いためです。