HL7 MLLP コネクタ

Premium

Mule HL7 MLLP トランスポートでは、HL7 MLLP メッセージの接続および解析機能が提供されます。

前提条件

このドキュメントは、読者が HL7、Mule、Anypoint コネクタ、Studio の基礎、Mule フローの要素、グローバル要素に精通していることを前提としています。

互換性

ソフトウェア バージョン

Mule Runtime

3.7 以降

Java

7

このコネクタのインストール方法

  1. Studio で、Studio タスクバーの [Exchange (交換)] アイコンをクリックします。

  2. Exchange で [Login (ログイン)] をクリックします。

  3. コネクタを検索して [Install (インストール)] をクリックします。

  4. 画面の指示に従ってコネクタをインストールします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

コネクタのグローバル要素を設定する

HL7 MLLP グローバル要素を作成する手順は、次のとおりです。

  1. キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックします。

  2. [Global Mule Configuration Elements (グローバル Mule 設定要素)] 画面で、[Create (作成)] をクリックします。

  3. [Choose Global Type (グローバル種別の選択)] ウィザードで、[Connector Endpoints (コネクタエンドポイント)] を展開し、[HL7 MLLP: Configuration (HL7 MLLP: 設定)] を選択します。

HL7 MLLP エンドポイントにより、HL7 MLLP を介してメッセージを送受信するチャネルが作成され、Mule アプリケーションは指定されたポートでメッセージを送受信できるようになります。

フローの最初に配置される HL7 MLLP エンドポイントは自動的にインバウンドエンドポイントとして設定されますが、フローの中間または最後に配置されるエンドポイントはアウトバウンドエンドポイントとして機能します。

このセクションでは、HL7 MLLP エンドポイント設定について説明します。

  • [General (一般)] タブ

    HL7 MLLP の [General (一般)] タブ
    要素 説明

    Display Name (表示名)

    フローに表示されるときの構成要素の名前。

    Host (ホスト)

    エンドポイントの接続先にする必要があるホストの名前。

    Port (ポート)

    接続のポート番号。

  • [Advanced (詳細)] タブ

    HL7 MLLP の [Advanced (詳細)] タブ
    要素 説明

    Address (住所)

    エンドポイントの接続先にする必要があるホストの完全な URI の場所。このパラメータは、次に示す他のパラメータと相互に排他的です。

    * Host (ホスト) * Port (ポート) * Endpoint Reference (エンドポイント参照)

    応答タイムアウト

    応答のタイムアウト (ミリ秒)。

    Exchange Patterns (交換パターン)

    2 つの交換パターンのいずれかを選択します。[one-way (一方向)] では、インバウンドエンドポイントはデータの受信のみを行うことができ、元のアプリケーションに送り返すことはしません。アウトバウンドエンドポイントはデータの送信のみを行います。[request-response (要求-応答)] では、エンドポイントと外部アプリケーション間の双方向通信を行うことができます。

  • [References (参照)] タブ

    HL7 MLLP の [References (参照)] タブ
    要素 説明

    Connector Reference (コネクタ参照)

    グローバル要素として設定された HL7 MLLP コネクタを参照します。

    Endpoint Reference (エンドポイント参照)

    グローバル要素として設定された HL7 MLLP エンドポイントを参照できます。このパラメータは、以下に示す他のパラメータと相互に排他的です。

    * Host (ホスト) ([General (一般)] タブ) * Port (ポート) ([General (一般)] タブ) * Address (アドレス) [Advanced (詳細)] タブ

    Global Transformers ([Request (要求)] セクション)

    エンドポイントで受信情報に適用されるトランスフォーマを追加します。[Global Transformers (グローバルトランスフォーマ)] 項目の横にある追加アイコンを使用して、追加するトランスフォーマを選択します。

    Global Transformers ([Response (応答)] セクション)

    エンドポイントで受信情報に適用されるトランスフォーマを追加します。[Global Transformers (グローバルトランスフォーマ)] 項目の横にある追加アイコンを使用して、追加するトランスフォーマを選択します。

    Transformers to be applied ([Request (要求)] および [Response (応答)] セクション)

    編集アイコンを使用して、選択したトランスフォーマの編集、並び替え、削除を行います。

コネクタの使用

HL7 MLLP トランスポートでは、HL7 MLLP メッセージの送受信がサポートされています。

HL7 MLLP の名前空間とスキーマ

Studio でアプリケーションを設計するときに、コネクタをパレットから Anypoint Studio キャンバスにドラッグすると、XML コードにコネクタの名前空間とスキーマの場所が自動的に入力されます。

  • 名前空間: http://www.mulesoft.org/schema/mule/connector

  • スキーマの場所: http://www.mulesoft.org/schema/mule/connector/current/mule-connector.xsd

Studio の XML エディタまたはその他のテキストエディタで Mule アプリケーションを手動でコーディングする場合は、設定 XML のヘッダーの <mule> タグの内部で名前空間とスキーマの場所を定義します。
<mule xmlns:mllp="http://www.mulesoft.org/schema/mule/mllp" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
	xmlns:spring="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/mllp http://www.mulesoft.org/schema/mule/mllp/current/mule-mllp.xsd">
          <!-- put your global configuration elements and flows here -->
</mule>

Maven 対応の Mule アプリケーションでのコネクタの使用

Maven 対応の Mule アプリケーションをコーディングしている場合は、次のスニペットを pom.xml ファイルに含める必要があります。

<dependency>
  <groupId>com.mulesoft.mule.transport</groupId>
  <artifactId>mule-transport-mllp</artifactId>
  <version>1.0.0</version>
</dependency>

コネクタを使用する Mule アプリケーションのデモ

ユースケースの例 - ビジュアルエディタ

このセクションでは、HL7 MLLP をインバウンドおよびアウトバウンドエンドポイントとして使用する方法を示します。

mllp use case

HL7 MLLP メッセージの送受信

  1. HTTP コネクタをキャンバスにドラッグして、次のパラメータを設定します。

    パラメータ

    Connector Configuration

    HTTP_Listener_Configuration

    Path

    /send

  2. HL7 MLLP コンポーネントを HTTP エンドポイントの横にドラッグします。

  3. [General (一般)] タブで次の値を使用して HL7 MLLP を設定します。

    パラメータ

    Host (ホスト)

    localhost

    Port (ポート)

    5004

  4. Set Payload コンポーネントを HL7 MLLP トランスポートの前にドラッグし、HL7 メッセージを設定します。

    <set-payload value="#[&quot;MSH|^~\\&amp;|system1|W|system2|UHN|200105231927||ADT^A01^ADT_A01|22139243|P|2.4\rEVN|A01|200105231927|\rPID||9999999999^^|2216506^||Duck^Donald^^^MR.^MR.||19720227|M|||123 Foo ST.^^TORONTO^ON^M6G 3E6^CA^H^~123 Foo ST.^^TORONTO^ON^M6G 3E6^CA^M^|1811|(416)111-1111||E^ ENGLISH|S| PATIENT DID NOT INDICATE|211004554^||||||||||||\rPV1|||ZFAST TRACK^WAITING^13|E^EMERGENCY||369^6^13^U EM EMERGENCY DEPARTMENT^ZFAST TRACK WAITING^FT WAIT 13^FTWAIT13^FT WAITING^FTWAIT13|^MOUSE^MICKEY^M^^DR.^MD|||SUR||||||||I|211004554^||||||||||||||||||||W|||||200105231927|||||\rPV2||F|^R/O APPENDICIAL ABSCESS|||||||||||||||||||||||||\rIN1|1||001001|  OHIP||||||||||||^^^^^|||^^^^^^M^|||||||||||||||||||||||||^^^^^^M^|||||\rACC|&quot;]" doc:name="Set Payload"/>
  5. 別のフローを作成し、HL7 MLLP をインバウンドエンドポイントとして設定します。

  6. [General (一般)] タブで次の値を使用して HL7 MLLP を設定します。

    パラメータ

    Host (ホスト)

    localhost

    Port (ポート)

    5004

  7. アプリケーションをデプロイし、Web ブラウザを開いて URL http://localhost:8081/send に対して要求を実行します。

  8. 応答してメッセージを受信します。

    MSH|^~\&|system1|W|system2|UHN|200105231927||ADT^A01^ADT_A01|22139243|P|2.4
    EVN|A01|200105231927|
    PID||9999999999^^|2216506^||Duck^Donald^^^MR.^MR.||19720227|M|||123 Foo ST.^^TORONTO^ON^M6G 3E6^CA^H^~123 Foo ST.^^TORONTO^ON^M6G 3E6^CA^M^|1811|(416)111-1111||E^ ENGLISH|S| PATIENT DID NOT INDICATE|211004554^||||||||||||
    PV1|||ZFAST TRACK^WAITING^13|E^EMERGENCY||369^6^13^U EM EMERGENCY DEPARTMENT^ZFAST TRACK WAITING^FT WAIT 13^FTWAIT13^FT WAITING^FTWAIT13|^MOUSE^MICKEY^M^^DR.^MD|||SUR||||||||I|211004554^||||||||||||||||||||W|||||200105231927|||||
    PV2||F|^R/O APPENDICIAL ABSCESS|||||||||||||||||||||||||
    IN1|1||001001|  OHIP||||||||||||^^^^^|||^^^^^^M^|||||||||||||||||||||||||^^^^^^M^|||||
    ACC|

ユースケースの例 - XML

これを Anypoint Studio に貼り付けて、このガイドで説明されているサンプルユースケースアプリケーションとやりとりします。

<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:mllp="http://www.mulesoft.org/schema/mule/mllp"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/mllp
http://www.mulesoft.org/schema/mule/mllp/current/mule-mllp.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/tracking
http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    <flow name="mllp-outbound-endpoint">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/send" doc:name="HTTP"/>
        <set-payload value="#[&quot;MSH|^~\\&amp;|system1|W|system2|UHN|200105231927||ADT^A01^ADT_A01|22139243|P|2.4\rEVN|A01|200105231927|\rPID||9999999999^^|2216506^||Duck^Donald^^^MR.^MR.||19720227|M|||123 Foo ST.^^TORONTO^ON^M6G 3E6^CA^H^~123 Foo ST.^^TORONTO^ON^M6G 3E6^CA^M^|1811|(416)111-1111||E^ ENGLISH|S| PATIENT DID NOT INDICATE|211004554^||||||||||||\rPV1|||ZFAST TRACK^WAITING^13|E^EMERGENCY||369^6^13^U EM EMERGENCY DEPARTMENT^ZFAST TRACK WAITING^FT WAIT 13^FTWAIT13^FT WAITING^FTWAIT13|^MOUSE^MICKEY^M^^DR.^MD|||SUR||||||||I|211004554^||||||||||||||||||||W|||||200105231927|||||\rPV2||F|^R/O APPENDICIAL ABSCESS|||||||||||||||||||||||||\rIN1|1||001001|  OHIP||||||||||||^^^^^|||^^^^^^M^|||||||||||||||||||||||||^^^^^^M^|||||\rACC|&quot;]" doc:name="Set Payload"/>
        <mllp:outbound-endpoint host="localhost" port="5004" responseTimeout="10000" exchange-pattern="request-response" doc:name="HL7 MLLP"/>
    </flow>
    <flow name="mllp-inbound-endpoint">
        <mllp:inbound-endpoint host="localhost" port="5004" responseTimeout="10000" exchange-pattern="request-response" doc:name="HL7 MLLP"/>
        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>

リソース

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub