8

java または python を使用して HL7 v2.x メッセージを FHIR JSON に変換しようとしています。しかし、私は解決策を見つけることができません。これを達成する方法はありますか?

FHIR は JSON に変換できることがわかりましたが、その方法がわかりません。

4

4 に答える 4

7

ここに提案があります:

  1. マースコネクトをダウンロードしてインストールする
  2. 新しいチャンネルを作成する
  3. [スクリプト] タブで、[プリプロセッサ] を選択します。
  4. 以下を使用して、HL7 メッセージを XML に変換します。

// Modify the message variable below to pre process data
message = SerializerFactory.getSerializer('HL7V2').toXML(message);
    
return message;

  1. これで、変数messageに XML ファイルがあるので、インライン コードを記述して、ライブラリなしで JSON に変換できます: https://davidwalsh.name/convert-xml-json
于 2016-11-10T22:35:40.477 に答える
7

HL7 2.x について

HL7 2.x バージョンは、標準の一部としてXML も JSON もサポートしていません。

HL7 バージョン 2.5 以前のバージョン 2 v2.xml XML スキーマは、Sun Microsystems によって提供されました。XML スキーマは XML 表現を記述するコンパクトで具体的な方法であるため、これらの表現は便宜上提供されています。ただし、スキーマ自体は、この仕様の規範的な部分ではありません
hl7.org

上記のように、「v2.xml XML スキーマ」は仕様の一部ではありません。それらは追加の貢献です。

この仕様の目的は、HL7 バージョン 2.3.1、2.4、2.5、および将来の 2.x メッセージのエンコード規則を、送信者と受信者の両方が XML を理解する環境で使用できる拡張マークアップ言語 XML に基づいて提示することです。v2.xml 仕様は、v2.3.1、v.2.4、および v2.5 (および HL7 v2.x 標準の将来のリリース) の 2 番目の標準エンコーディングとして機能することを目的としています。
hl7.org

以下はウィキペディアからの引用です。

HL7 v2.x メッセージは、セグメント (行) と 1 文字の区切り記号wikipediaに基づく非 XML エンコーディング構文を使用します

HL7 v3.x について

HL7 v3.x バージョンは、標準の一部として XML をサポートしています。

HL7 V3 メッセージのメッセージング構文として、いくつかの XML エンコーディング メソッドを使用できます。このドキュメントは、HL7 で推奨されている方法を表し、基本的なルールと原則を説明しています。この仕様に必要な対応するデータ型の説明は、データ型 XML ITS で説明されています。
hl7.org

以下は、「HL7 V3 ガイド」からの引用です。

HL7 はそのメッセージを抽象レベルで定義します。HL7 の「7」は、ISO 通信モデルのアプリケーション レベル (ISO レベル 7) を表します。このレベルは、メッセージがどのように表現されるかではなく、これらの表現が送信のためにどのようにエンコードされるかではなく、メッセージのセマンティック コンテンツを強調します。

HL7 はそのメッセージを抽象レベルで定義します。HL7 の「7」は、ISO 通信モデルのアプリケーション レベル (ISO レベル 7) を表します。このレベルは、メッセージがどのように表現されるかではなく、これらの表現が送信のためにどのようにエンコードされるかではなく、メッセージのセマンティック コンテンツを強調します。

HL7 バージョン 2 の抽象メッセージ モデルには、セグメントとフィールドの概念があります。これは、抽象的なメッセージのインスタンスを表す特定のエンコーディング スキームを定義します。いわゆる「垂直バー エンコーディング」です。ヘルス ドメイン (セマンティック レベル 7) からの情報は、バージョン 2 ではセグメントとフィールドとして表され、多数の垂直バーを含む ASCII 文字として表されます。このアプローチと一致して、V2 の新しい XML エンコーディングは、ほとんどが垂直バー エンコーディングの直接的な置き換えです。

バージョン 3 の抽象メッセージ モデルは、RIM に基づいています。HL7 バージョン 3 メッセージは、送信側から受信側への RIM オブジェクトのグラフの通信と考えることができます。ITS は、オブジェクト、属性、およびデータ型を適切に表現することで、これらのメッセージを表現するのに最適です。
hl7.ihelse.net

以下はウィキペディアからの引用です。

HL7 v3 メッセージは、XML エンコーディング構文のウィキペディアに基づいています。

互換性の詳細については、こちらをご覧ください。

それらのいずれも、標準の一部として JSON をサポートしていません。
したがって、HL7 から XML への変換、または HL7 から JSON への変換は規格外です。それを自分で処理する必要があります。


FHIR (Fast Healthcare Interoperability Resources) について

FHIR は、HL7 によって発行された医療データ交換の標準です。
HL7 と FHIR の関係については、こちらを参照してください。

FHIRは、標準の一部としてXMLJSONの両方の形式をサポートしています。詳細については、これらのリンクを参照してください。


v2 から FHIR への変換:

この変換には、大まかに次の 2 つの方法があります。

  • v2 メッセージの内容をミラーリングし、v2 メッセージと同じように動作する同等の表現を意図した FHIR メッセージ バンドルの作成
  • v2 メッセージのコンテンツを使用して FHIR サーバーを更新します。おそらく、Encounter リソースを抽出するか、FHIR サーバーに対する「トランザクション」バンドルとして機能することを目的としたバンドルを作成します。これはもっと一般的なユースケースになると思います。

FHIR ブログ

変換の詳細については、そのブログをお読みください。コミュニティは変換に取り組んでいます。すぐに使えるソリューションがすぐに利用可能になることを願っています。

v2 と FHIR の間の変換は、コミュニティが取り組んでいるものです。ここにチャット ストリームがあります: https://chat.fhir.org/#narrow/stream/179188-v2-to.20FHIRで参加できます。2 つの標準間のマッピングを定義するには多少の作業が必要であり、実装には差異がありますが、プロジェクトの目標は、「ベース」マッピングを出発点として定義することです。v2 と FHIR の関係はかなり密接ですが、解決しなければならない問題がかなりあります…</p>

実際に変換を実行する方法は 1 つではありません。使用する技術によって異なります。たとえば、投稿では NodeRED で単純な JavaScript を使用していましたが、概念実証としてだけです。ほとんどの統合エンジン ベンダーは、この分野で製品を提供していると思います。
コメント

マッピングの詳細はHL7 サイトで説明されています。


以下にいくつかのツールを示します。

https://github.com/rimiti/hl7-object-parser#hl7-object-parser (HL7 v2.x から JSON)
https://github.com/nezt/hl72xml#hl72xml (HL7 V2.x から XML)
https://github.com/KevinMayfield/ITKHL7v2-FHIR

Mirth は、HL7 を XML/JSON に変換する機能を提供します。
@Bryan からの他の回答を参照してください。ここここ
にいくつかのサンプルがあります。

于 2020-03-04T14:00:17.897 に答える