HL7 MLLP コネクタ

Premium

Mule HL7 MLLP コネクタは、HL7 MLLP メッセージに接続性と解析機能を提供します。

このユーザガイドを一読して、このコネクタを使用する基本的なフローのセットアップおよび定義方法を理解してください。

HL7 MLLP Connector Release Notes (HL7 MLLP コネクタリリースノート)

前提条件

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

このコネクタの新機能

これは初めての Mule 4 リリースです。

Design Center での接続方法

  1. Design Center で、HTTP リスナトリガやスケジューラトリガなどのトリガをクリックし、そのトリガを設定します。

    このコネクタの操作はリスン (ソース) と送信の 2 つのみであるため、どちらを使用するかを選択できます。

  2. Listener (ソース) の場合、トリガをクリックして [Mule HL7 MLLP] を選択します。

  3. [Edit (編集)] をクリックして、コネクタを設定します。

    基本的なセキュアではない方法では、接続タブ内にホストとポートを入力するだけです。

    Design Center の [General (全般)] タブ

    タイムアウト設定とバッファ設定を作成できます。TLS 設定も作成できます。

注意: アプリケーションが mllp-rnnf.us-e1.cloudhub.io で実行されている場合、HL7 メッセージを MLLP と Mule アプリケーション経由で mule-worker-mllp-rnnf.us-e1.cloudhub.io に送信できます。

Send 操作設定

Send 操作の場合、手順は同じですが、追加でコネクタ設定内に、異なるホスト、ポート、区切り文字 (メッセージの区切りに使用される文字を指定) でローカルアドレス設定タブを設定できます。

Design Center の [TLS] タブ

送信または受信バッファサイズも設定できます。

Design Center の [Send Buffer Size (送信バッファサイズ)] と [Receive Buffer Size (受信バッファサイズ)]

Anypoint Studio 7 での接続

このコネクタを Anypoint Studio で使用するには、まず Exchange からダウンロードして必要に応じて設定します。

Studio でコネクタをインストールする

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

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

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

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

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

Studio で設定する

  1. コネクタをドラッグして Studio キャンバスにドロップします。

  2. 全般設定について、次の項目を入力します。

    Studio の [General (全般)] タブの項目
    • Delimiter (区切り文字): MLLP メッセージを区切る 標準の HL7 区切り文字値は、16 進の 0x1C 文字 (FS) です。実際には、アプリケーションで異なる区切り値を使用する場合は、 この項目で設定できます。HL7 MLLP コネクタの標準値は 001C として表示されます。

    • Host (ホスト): ソケットのホストアドレスを設定します。

    • Port (ポート): ソケットのポートを設定します。

      高度な接続について、次の項目を入力します。

    • Reuse address (アドレスの再利用): 設定したソケットを再利用するか、ソケットにバインドしようとしたら失敗するかを選択します。

    • Send TCP With No Delay (遅延なしで TCP 送信): データを即時に送信するか、または効率化のためにデータをまとめてから送信するか。

    • Linger (延長): 残りのデータが正しく送信されるように、ソケットが閉じるまでにかかる時間 (ミリ秒)。

    • Keep alive (キープアライブ): ソケットが長時間未使用のまま開いている場合と接続を使用できない場合にソケット接続を閉じるかどうか。

    • Fail on unresolved host (ホストを解決できない場合は失敗): 作成時のソケットがエンドポイントに設定されているホストを解決できない場合に失敗するかどうか。

[TLS] タブでは、新しい TLS 設定を定義できます。この設定が存在することで、プレーン TCP ではなく SSLServerSocket を使用することが暗黙に示されます。

Studio の [Global Element Properties (グローバル要素のプロパティ) - [TLS] タブ

送信または受信バッファサイズも設定できます。

Studio の [Send Buffer Size (送信バッファサイズ)] と [Receive Buffer Size (受信バッファサイズ)]

例 - 読み取りおよび書き込みメッセージ

Studio 7 の MLLP デモフロー

Studio 7 の MLLP デモフロー

Studio 7 の MLLP デモフロー

このデモアプリケーションは、MLLP プロトコル上で読み取りおよび書き込み HL7 メッセージを逐次呼び出すための完全なワークフローを提供します。

前提条件

  • Java 8

  • Anypoint Studio 7.x

  • Mule Runtime 4.x.x EE 以上

フローについて

  • writer-flow: 特定のメッセージをソケット経由で送信して reader-flow で受信できるようにします。

  • reader-flow: MLLP メッセージを受信し、メッセージをログに記録します。

アプリケーション、index、styles、app-config、rest-service、order-controller、write-order は、ユーザインターフェースに関連する静的リソースの読み込みに使用されます。

ユースケース XML の例

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="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/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
	<mllp:mllp-listener-config name="Mule_HL7_MLLP_Listener_config"
	doc:name="Mule HL7 MLLP Listener config">
		<mllp:mllp-listener-connection host="localhost" port="40000" />
	</mllp:mllp-listener-config>
	<mllp:request-config name="Mule_HL7_MLLP_Request_config"
	doc:name="Mule HL7 MLLP Request config">
		<mllp:mllp-requester-connection host="localhost" port="40000" >
			<mllp:local-address-settings port="49999" host="localhost" />
		</mllp:mllp-requester-connection>
	</mllp:request-config>
	<http:listener-config name="HTTP_Listener_config"
	doc:name="HTTP Listener config">
		<http:listener-connection host="localhost" port="8081" />
	</http:listener-config>
	<flow name="reader-flow">
		<mllp:mllp-listener doc:name="Mllp listener"
		config-ref="Mule_HL7_MLLP_Mllp_listener_config"/>
		<logger level="INFO" doc:name="Logger" message="#[payload]"/>
	</flow>
	<flow name="writer-flow">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/send"/>
		<mllp:send doc:name="Send" config-ref="Mule_HL7_MLLP_Request_config">
		</mllp:send>
	</flow>
	<flow name="index">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/"/>
		<parse-template doc:name="Parse Template"
		 location="ui-demo/index.html"/>
	</flow>
	<flow name="styles">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/styles"/>
		<parse-template doc:name="Parse Template"
		location="ui-demo/styles/styles.css"/>
	</flow>
	<flow name="app-config">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/app-config"/>
		<parse-template doc:name="Parse Template"
		location="ui-demo/app-config.js"/>
	</flow>
	<flow name="app">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="/app"/>
		<parse-template doc:name="Parse Template"
		location="ui-demo/app.js"/>
	</flow>
	<flow name="rest-service">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="services/restService"/>
		<parse-template doc:name="Parse Template"
		location="ui-demo/services/restService.js"/>
	</flow>
	<flow name="order-controller">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config"
		path="order/order.controller"/>
		<parse-template doc:name="Parse Template"
		location="ui-demo/order/order.controller.js"/>
	</flow>
	<flow name="write-order">
		<http:listener doc:name="Listener"
		config-ref="HTTP_Listener_config"
		path="/order/writeOrder"/>
		<parse-template doc:name="Parse Template"
		location="ui-demo/order/writeOrder.html"/>
	</flow>
</mule>

関連情報

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub