Healthcare

IBM WebSphere Message Broker には Healthcare サンプルが含まれます。 このサンプルは Healthcare: HL7 to HL7 パターンの基本例であり、IBM WebSphere Message Broker Connectivity Pack for Healthcare の一部として含まれます。

IBM WebSphere Message Broker Connectivity Pack for Healthcare の概要

IBM WebSphere Message Broker Connectivity Pack for HealthcareWebSphere Message Broker 上に構築され、医療機関の環境でのアプリケーションのためのサポートを提供します。

IBM WebSphere Message Broker Connectivity Pack for Healthcare は以下の機能を提供します。

以下の図は、IBM WebSphere Message Broker Connectivity Pack for Healthcare 構成の基本アーキテクチャーを示します。 IBM WebSphere Message Broker Connectivity Pack for Healthcare が、医療機器、臨床アプリケーション、機器ゲートウェイ、会計システム、医療情報交換などの多様な医療機関システムにどのように接続できるかが示されています。

この図は、IBM WebSphere Message Broker Connectivity Pack for Healthcare が、医療機器、臨床アプリケーション、機器ゲートウェイ、会計システム、医療情報交換などの多様な医療機関システムにどのように接続できるかを示します。

IBM WebSphere Message Broker Connectivity Pack for Healthcare について詳しくは、WebSphere Message Broker を参照してください。

医療機関パターン

IBM WebSphere Message Broker Connectivity Pack for Healthcare に含まれる Healthcare: HL7 to HL7 パターンは、メッセージに HL7 v2 規格を使用する臨床アプリケーション間の仲立ちをします。 例えば、患者管理システム (PAS: Patient Administration System) が、患者情報を必要とする 1 つ以上の臨床アプリケーションに配布されるメッセージを送出することがあります。

このパターンは、単一の HL7 タイプ (例えば ADT) とコード (例えば A01) のメッセージの処理に制約されません。有効なメッセージ・タイプとコードを持つメッセージなら何でも受信して処理できます。 HL7 について詳しくは、Health Level Seven International を参照してください。

このパターンには 3 つの異なるメッセージ・フロー (複数の宛先を選択する場合は、さらに追加のメッセージ・フロー) が含まれます。

この図は、Healthcare: HL7 to HL7 パターンのメッセージ・フローを示します。ソース・アプリケーションは MLLP over TCP/IP を使用して Receiver フローにメッセージを送信します。Receiver フローはメッセージの送信に WebSphere MQ を使用し、メッセージを変換および経路指定フローに送信します。変換および経路指定フローは WebSphere MQ を使用してメッセージを 1 つ以上の Sender フローに送信します。Sender フローは MLLP over TCP/IP を使用してメッセージを宛先アプリケーションに送信します。
Receiver フロー
Receiver フローは HL7 v2.x メッセージを HL7 臨床アプリケーションから受信します。 この接続には MLLP over TCP/IP プロトコルが使用されます。 メッセージから MLLP バイトが取り除かれ、残りのレコードが HL7v25P メッセージ・セット (すべての標準 HL7 セグメントをモデル化する) で定義される HL7 メッセージ・タイプに対して解析されます。 この HL7 メッセージ・タイプは汎用 HL7 メッセージを表し、着信メッセージのすべてのセグメントが読み取られます。 セグメントのフィルター処理は後のフローで行われます。

メッセージを処理した後、このフローはメッセージを WebSphereMQ キュー (パターン内の後続のフローがそこからメッセージを読み取ります) に書き込みます。 それから、このフローはソース・アプリケーションに確認応答を返します。 メッセージが送信されると、残りのフローはメッセージ・データが決して失われないようにします。メッセージはすべての宛先に送信されるか、エラー・キューに送信されます。

変換および経路指定フロー
変換および経路指定フローは、すべての必要な宛先のために HL7 データを準備します。 宛先ごとに以下を行います。
  1. フィルターが適用されて、そのメッセージがこの宛先に必要とされるかどうかを判別します。 このメッセージ・フィルターはパターン・パラメーターから構成されます。
  2. メッセージが宛先に必要な場合は、セグメント・フィルターが適用されます。 セグメント・フィルター (これもパターン・パラメーターから構成可能) は、着信メッセージ内にメッセージの送信先の臨床アプリケーションが必要としない、または処理できないセグメントがあればそれを取り除きます。
  3. 最後に、変換および経路指定フローは当該宛先のための Sender フローのキューにメッセージを送信します。

変換および経路指定フローには、カスタマイズ可能なサブフローが含まれます。 これらのサブフローには、標準でない機能を含む可能性がある臨床アプリケーション用のデータの変換を含めることができます。 このようなカスタマイズ・ポイントを使用して、全体のフローの構造を変更することなく、変更を加えることができます。

Sender フロー
宛先ごとに別々の Sender フローが作成されます。 Sender フローは、単一スレッドであり、メッセージを並び替えてからそれぞれを正しい宛先に送信します。 メッセージは、順序どおりに到着しなかった場合、送信できるようになるまで順序付けキューに保管されます。

Healthcare: HL7 to HL7 パターンを使用する場合、着信 HL7 メッセージの処理、必要な宛先の数、各宛先用にメッセージを変換する方法を構成しなければなりません。 構成についての詳細は、パターン・エクスプローラー・ビューHealthcare: HL7 to HL7 パターンを選択したときに表示されるパターン仕様で指定します。

パターンを構成して、いくつかの処理オプションをサポートすることができます。
重複検出
重複を検出するオプションは Receiver フローで管理されます。 各メッセージの HL7 メッセージ ID が、指定された時間枠内に受信されたすべてのメッセージの ID に対してチェックされます。 重複した ID が見つかった場合、そのメッセージは処理されず、その ID を持つ最初のメッセージで返されたのと同じ確認応答がソース・アプリケーションに返されます。

重複が発生したことを知る必要がある場合、オプションでパターンが検出した重複を報告するようにもできます。

メッセージ・シーケンス
場合によって (例えば、検査を依頼する前に患者を登録する場合など) は、メッセージが生成されたとおりの順序で臨床アプリケーションがメッセージを受信することが重要であることがあります。 メッセージ順序付け機能を構成して、正しい順序をサポートできます。
レポートおよび通知
パターンを構成して、構成された宛先アプリケーションにメッセージを引き渡すことに加えて、出力を行うようにすることができます。 パターンは以下の出力を行うことができます。
  • 重複メッセージについてのレポート
  • HL7 メッセージ・セットでモデル化されていない追加フィールドについてのレポート
  • WebSphereMQ キューまたは公開ポイントに HL7 フォーマットでソース・メッセージをコピーして、他の IBM WebSphere Message Broker Connectivity Pack for Healthcare メッセージ・フロー・アプリケーションがメッセージを処理できるようにする。 このメッセージのコピーを使用して、監査用またはパターンでサポートされる以上のジャーナル記録用にデータウェアハウスにフィードすることができます。
  • 最初のカスタマイズ・フローの適用後に MLLP バイトを取り除いた HL7 v2 フォーマットのメッセージのコピー。 このメッセージのコピーを使って、他の IBM WebSphere Message Broker Connectivity Pack for Healthcare メッセージ・フロー・アプリケーションにフィードすることができます。
  • 順序どおりに到着しなかったメッセージについてのレポート。
  • 問題の発見と解決を支援するためのエラー・メッセージ。

HL7 ノード

HL7 メッセージの送信および受信用にメッセージ・フロー内で使用するために、以下の 2 つの HL7 ノードが提供されています。
  • GenericHL7Input。これは、メッセージ・フローで使用して、メッセージ・フローでの処理のために HL7 メッセージを受信し、メッセージが重複していないか判別するために使用します。
  • GenericHL7Output。これは、MLLP で宛先にメッセージを渡し、 有効な確認応答を受け取ったかどうかをチェックするために使用します。

運用モニター

IBM WebSphere Message Broker Connectivity Pack for Healthcare には、WebSphere Message Broker Explorer 内に医療機関運用モニター・ビューが含まれており、臨床アプリケーション間のメッセージのフローをモニターし、発生するコネクティビティーの問題の識別と修正を支援します。

パターン・インスタンスとして生成されるメッセージ・フローは、WebSphere Message Broker Explorer の運用モニターが各メッセージ・フローの TCP/IP 接続と、これらの TCP/IP 接続のそれぞれに関連付けられたアプリケーションを識別できるようにするプロパティーで定義されます。 このため、アプリケーションが切断された場合にそのことを示す警告アイコンをモニター・パネルに表示できるので、管理者は是正措置を取ることができます。

この図は、ソース・アプリケーションから Healthcare: HL7 to HL7 パターンと、パターンから宛先アプリケーションの両方の、モニターされる接続を示します。

TCP/IP モニター・パネルは、Healthcare: HL7 to HL7 パターンによって生成されたのでないメッセージ・フロー (例えば、HL7v25P メッセージ・セットを使って開発されたフロー) の一部である TCP/IP 接続の状態も表示できます。 このようなフローには、パターンが使用するのと同じプロパティーを使ってフローが定義されていない限り、パターン・インスタンスによって構成される追加情報がありません。

運用モニターのための医療機関運用モニター・ビューは、パターン・インスタンスのメッセージ・フローによって使用されるキューの状況も表示します。 特定のパターン・インスタンスのすべてのキューは、そのパターン・インスタンスに固有のキュー接頭部を付けた名前を付けられます。 キュー接頭部を使用しているので、管理者は 1 つのパターン・インスタンスのすべてのキューを表示し、キュー項目数をモニターし、しきい値に達したこと (キューに表示される警告アイコンで示される) を識別できます。 すべてのキューを表示できる機能はさらなる問題判別に役立ちます。特に順序付けキューにメッセージが貯まっていれば、順序で抜けているメッセージのためにそれが到着するまでその後ろのメッセージが保留にされていることが分かります。 このアクションにより、メッセージがソースから宛先に流れ続けるように是正措置を取ることができます。

TCP/IP 接続と同じようにして、HL7v25P メッセージ・セットを使用して開発された医療機関メッセージ・フロー・アプリケーションでキューをモニターできます。 モニターが必要な場合、モニターするキューにはすべて同じ接頭部を付けた名前を付けて、モニター表示上で臨床アプリケーションの情報のグループ分けができるようにする必要があります。

HL7v25P メッセージ・セット

WebSphere Message Broker Healthcare サンプルで提供される HL7v25P メッセージ・セットの既存のユーザーであれば、CIM 正規メッセージ・セットについて通じていることでしょう。 IBM WebSphere Message Broker Connectivity Pack for Healthcare は CIM 正規形式を使用しませんが、HL7v25P メッセージ・セット上の追加の XML ワイヤー・フォーマット層を提供します。 データをプラットフォームに依存しない表記で保持するために XML ワイヤー・フォーマット層を使用することができますが、このフォーマットが HL7 XML (業界標準によって定義されている) ではなく、以前に提供されていた IBM CIM 正規形式とも違うことを覚えておいてください。

HL7v25P メッセージ・セットには、Healthcare: HL7 to HL7 パターンで使用される汎用の HL7 メッセージの定義が含まれます。 ソースの臨床アプリケーションからの一連の HL7 セグメントを持つメッセージを読み取り、そのメッセージを宛先の臨床アプリケーションに書き込むために、この汎用の HL7 メッセージが、パターン内の MRM パーサーと共に使用されます。 この HL7 メッセージは、HL7 バージョン 2.5.1 以前で定義された有効なセグメントを処理できます。

臨床アプリケーションは、HL7 メッセージの Z セグメントを使用することにより、標準外の情報を伝達することもできます。 パターンでこのタイプのメッセージを使用すると、追加の標準外の Z セグメントHL7 メッセージに追加して、サイト固有の Z セグメントをサポートすることができます。

HL7 メッセージがパターン・インスタンスに読み込まれると、HL7v25P メッセージ・セットを使用して、最初のカスタマイズ・ポイントの後で生成される正規形式 (XML フォーマット) を出力することもできます。 パターンによって出力される正規形式は HL7 XML ではありませんが、これを使ってデータをプラットフォームとは独立した表記で保持することができます。 このデータは、標準化された日付と時刻、書式設定された数値、または要求されている他のデータ標準化要求に合わせたフォーマットにできます。

Healthcare: HL7 to HL7 パターンの汎用アプローチは、任意の HL7 セグメントを処理するメッセージ・フローを生成します。 臨床アプリケーション間で特定の HL7 メッセージの交換を処理することが必要な場合もあります。 HL7v25P メッセージ・セットは、特定のタイプとイベント・コードの HL7 メッセージを処理することもできます。 特定の HL7 チャプターのメッセージを処理するメッセージ・フロー・アプリケーションを実装する場合は、そのメッセージを HL7v25P メッセージ・セットのチャプター定義からの適切なメッセージ・タイプを使用して読み書きしなければなりません。 HL7 は、そのすべてのメッセージをチャプターと呼ばれるグループに分割します。これは HL7 規格のチャプターに対応します。 このメッセージ・セットからの特定の HL7 メッセージを処理している場合、メッセージの出力は HL7 フォーマットで行うことも HL7 XML フォーマットで行うことも可能です。 これらのフォーマットを使用すると、ソース・メッセージと宛先メッセージの間のメッセージの変換でグラフィカル・マッピングの使用も簡単になります。