Application Integration でサポートされているコネクタをご覧ください。
HL7 トリガー
HL7 トリガーは、HL7 接続に登録している HL7 イベントに基づいて統合を呼び出すことができるコネクタ イベント トリガーです。
始める前に
- Pub/Sub トピックを作成する。
- HL7 ストアを作成します。
最小階層プロトコル(MLLP)を使用して TCP/IP 接続で HL7 メッセージを受信するには、MLLP アダプターを構成する必要があります。REST(Google Cloud Healthcare API)経由で HL7 メッセージを受信する場合は、MLLP アダプターを構成する必要はありません。アダプタを実行する手順は次のとおりです。
- gcloud CLI でプロジェクトとリージョンを設定します。
gcloud config set project PROJECT_ID \ gcloud config set compute/region LOCATION
詳細については、プロパティを設定するをご覧ください。
- VM インスタンスを作成します。
gcloud compute instances create VM_NAME \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=https://www.googleapis.com/auth/cloud-platform
次のように置き換えます。
SERVICE_ACCOUNT_EMAIL
: 作成したサービス アカウントのメールアドレス。VM_NAME
: VM インスタンスの名前。
- 新しく作成した VM インスタンスにタグを追加します。
gcloud compute instances add-tags INSTANCE_NAME \ --zone ZONE \ --tags TAGS
次のように置き換えます。
INSTANCE_NAME
: VM インスタンスの名前。ZONE
: VM インスタンスのゾーン。TAGS
: VM インスタンスに追加するタグ。
- ファイアウォール ルールを追加して、MLLP アダプタが実行されているポートを公開します。
gcloud compute firewall-rules create FIREWALL_RULE \ --action=ALLOW \ --direction=INGRESS \ --priority=1000 \ --rules=tcp:PORT\ --network=default \ --source-ranges=0.0.0.0/0
次のように置き換えます。
FIREWALL_RULE
: ファイアウォール ルールの名前。PORT
: MLLP アダプターが実行されているポート。
- VM インスタンスに SSH 接続します。
gcloud compute ssh VM_NAME --zone ZONE
次のように置き換えます。
VM_NAME
: VM インスタンスの名前。ZONE
: VM インスタンスのゾーン。
- 次のコマンドを使用して、VM に Docker をインストールします。
sudo apt-get update && sudo apt-get install -y docker.io
- 次のコマンドを実行して Docker サービスを起動します。
sudo systemctl start docker sudo systemctl enable docker
- コンテナ レジストリで Docker イメージを pull します。
docker pull gcr.io/cloud-healthcare-containers/mllp-adapter:latest
- VM インスタンスで MLLP アダプタを実行します。
docker run \ --network=host \ -v ~/.config:/root/.config \ gcr.io/cloud-healthcare-containers/mllp-adapter \ /usr/mllp_adapter/mllp_adapter \ --hl7_v2_project_id=PROJECT_ID \ --hl7_v2_location_id=LOCATION \ --hl7_v2_dataset_id=DATASET_ID \ --hl7_v2_store_id=HL7V2_STORE_ID \ --export_stats=false \ --receiver_ip=0.0.0.0 \ --port=PORT \ --api_addr_prefix=https://healthcare.googleapis.com:443/v1 \ --logtostderr
次のように置き換えます。
PROJECT_ID
: Google Cloud プロジェクトのプロジェクト ID。LOCATION
: HL7 ストアの場所。DATASET_ID
: HL7 ストアを保持するデータセットの ID。HL7V2_STORE_ID
: HL7 ストアの ID。PORT
: MLLP アダプターが実行されているポート。
- 次のコマンドを実行して、コンテナが実行されていることを確認します。
sudo docker ps
- コンテナのログを確認するには、次のコマンドを実行します。
sudo docker logs CONTAINER_ID
- gcloud CLI でプロジェクトとリージョンを設定します。
必要なロール
HL7 トリガーの新しい接続を作成または構成する場合は、プロジェクトに対して次の IAM ロールがあることを確認してください。
- コネクタ管理者(
roles/connectors.admin
)
ロールの付与については、アクセスの管理をご覧ください。
HL7 トリガーに使用するサービス アカウントに、次の IAM ロールまたは権限を付与します。
- Application Integration の起動元(
roles/integrations.integrationInvoker
) - Healthcare HL7v2 メッセージ コンシューマ(
roles/healthcare.hl7V2Consumer
) - Healthcare HL7v2 メッセージ取り込み(
roles/healthcare.hl7V2Ingest
) - 権限(
healthcare.hl7V2Stores.update
) - Pub/Sub 編集者(
roles/pubsub.editor
)
サービス アカウントへのロールの付与については、サービス アカウントに対するアクセス権の管理をご覧ください。
HL7 トリガーを追加する
統合に HL7 トリガーを追加する手順は次のとおりです。
- Google Cloud consoleで、[Application Integration] ページに移動します。
- ナビゲーション メニューで [統合] をクリックします。
[統合リスト] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。
- 既存の統合を選択するか、[統合の作成] をクリックして新しい統合を作成します。
新しい統合を作成する場合:
- [統合の作成] ペインで名前と説明を入力します。
- 統合のリージョンを選択します。
- 統合用のサービス アカウントを選択します。統合のサービス アカウントの詳細は、統合ツールバーの [統合の概要] ペインでいつでも変更または更新できます。
- [作成] をクリックします。
統合エディタで統合が開きます。
- 統合エディタのナビゲーション バーで、[トリガー] をクリックして、使用可能なトリガーのリストを表示します。
- 統合エディタで、[HL7 トリガー] 要素をクリックして配置します。
HL7 トリガーを構成するには、Integration Connectors で使用可能な宛先プロトコルとして REST(Cloud Healthcare API)を使用する既存の HL7 接続を使用するか、インライン接続作成オプションを使用して新しい HL7 REST(Google Cloud Healthcare API)接続を作成します。
既存の接続を使用して HL7 トリガーを構成する
Integration Connectors で、宛先プロトコルとして REST(Cloud Healthcare API)を使用する既存の HL7 接続を使用して、HL7 トリガーを構成できます。HL7 トリガーは コネクタ イベント トリガーであるため、トリガーを構成するには、イベント サブスクリプションを有効にした HL7 REST(Google Cloud Healthcare API)接続のみが使用できます。
新しい HL7 REST(Google Cloud Healthcare API)接続を使用して HL7 トリガーを構成する方法については、新しい HL7 REST(Google Cloud Healthcare API)接続を使用して HL7 トリガーを構成するをご覧ください。
既存の HL7 接続を使用して、REST(Cloud Healthcare API)を宛先プロトコルとして HL7 トリガーを構成するには、次の操作を行います。
- 統合エディタの [HL7 トリガー] 要素をクリックして、トリガー構成ペインを開きます。
- [トリガーの構成] をクリックします。
- [Connector Event Trigger Editor] ページで、構成の詳細を次のとおりに入力します。
- リージョン: HL7 REST(Google Cloud HealthCare API)接続のリージョンを選択します。
- 接続: 使用する HL7 REST(Google Cloud HealthCare API)接続を選択します。
Application Integration には、アクティブであり、イベント サブスクリプションが有効になっている HL7 REST(Google Cloud HealthCare API)接続のみが表示されます。
- プルダウン メニューから [HL7 Message Content Type](HL7 メッセージ コンテンツ タイプ): text または bytes を選択します。
- HL7 メッセージ タイプを入力します。たとえば、
ADT_A01
や、ADT_02
です。
- [Done] をクリックしてトリガーの構成を完了し、ページを閉じます。
新しい接続を使用して HL7 トリガーを構成する
新しい HL7 REST(Google Cloud Healthcare API)接続を使用して HL7 トリガーを構成するには、次の操作を行います。
- 統合エディタの [HL7 トリガー] 要素をクリックして、トリガー構成ペインを開きます。
- [トリガーの構成] をクリックします。
- HL7 トリガーのリージョンを選択します。
- [接続] をクリックし、プルダウン メニューから [接続を作成] オプションを選択します。
- [接続の作成] ペインで次の手順を行います。
- [接続の詳細] ステップで、新しい HL7 接続の詳細を入力します。
- コネクタのバージョン: プルダウン リストから、使用可能な HL7 コネクタのバージョンを選択します。
- 接続名: HL7 接続の名前を入力します。
- (省略可)説明文: 接続の説明を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Error
に設定されています。 - サービス アカウント: HL7 接続に必要な IAM ロールを持つサービス アカウントを選択します。
- イベント サブスクリプションの有効化: このオプションを選択すると、HL7 接続のイベント サブスクリプションが有効になります。
- (省略可)[受信タイムアウト] に入力します。SO_TIMEOUT 値(ミリ秒単位)は、フレームの開始を待機するときに使用されます。デフォルト値は 15,000 ミリ秒です。
- 宛先プロトコル: HL7 REST(Google Cloud Healthcare API)宛先プロトコルを選択し、次のように指定します。
- プロジェクト ID: HL7 ストアが配置されている Google Cloud プロジェクト ID。
- ロケーション: データセットと HL7v2 ストアのロケーション。
- データセット ID: HL7v2 ストアを保持するデータセットの ID。
- HL7 ストア ID: HL7v2 メッセージを保存する HL7v2 ストアの ID。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- 必要に応じて SSL を使用する場合は、[SSL を有効にする] を選択します。これにより、SSL 構成の詳細が表示されます。
- トラストストアの種類を選択します。[パブリック]、[プライベート]、[安全でない接続] のいずれかになります。
- トラストストアの選択に基づいて表示される証明書を選択します。
- mTLS を使用している場合は、[Key Store] セクションでキーストア証明書を選択します。
- 必要に応じて、TLS のバージョンを選択します。
- サポートされている暗号スイートを入力します。複数の暗号スイートをカンマ区切りの値で入力します。詳細については、サポートされている暗号スイートをご覧ください。
- [次へ] をクリックします。
- [リンク先] セクションをスキップします。
- [次へ] をクリックします。
- HL7 接続に認証は必要ないため、[認証] セクションで認証の詳細を指定する必要はありません。
- [イベント サブスクリプションの詳細] セクションで、イベント関連の詳細を構成します。
- プロジェクト名: Pub/Sub インスタンスが存在する Google Cloud プロジェクト。
- Pub/Sub トピック名: 通知メッセージが送信される HL7v2 ストアに関連付ける Pub/Sub トピック名。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
サポートされている暗号スイート
TLS バージョン | サポートされている暗号スイート |
---|---|
1.2 |
|
1.3 |
|
トリガー出力
HL7 トリガーがイベント サブスクリプションの構成を完了するまでに数分かかります。イベント サブスクリプションのステータスは、トリガー構成ペインの [Event Subscription details] で確認できます。
HL7 トリガーは、次の状態を使用して、イベント サブスクリプションのステータスを示します。
Creating
: トリガーがイベント サブスクリプションに登録中であることを示します。Active
: トリガーがイベント サブスクリプションに正常に登録されたことを示します。Error
: 構成されたイベント サブスクリプションに問題があることを示します。
[Event Subscription details] セクションには、イベント サブスクリプションのステータスに加えて、接続リージョン、接続名、イベント サブスクリプション名の詳細が表示されます。
トリガー出力変数
イベントごとに、HL7 トリガーにより、ダウンストリーム タスクで使用できる ConnectorEventPayload
出力変数(JSON 形式)が生成されます。出力変数には、HL7 イベントのペイロードが含まれます。例:
{ "messageType": "ADT_A01", "message": "MSH|^~\\&|SendingApp|SendingFacility|ReceivingApp|ReceivingFacility|20240209120000||ADT^A01|123456789|P|2.3|||NE|AL|||||\rEVN|A02222221|20240209120000|||\rPID|1||123456789|^^^Hospital^MR||Doe^John^^^Mr.||19800101|M|||123 Main St^^New York^NY^10001^USA||(555)555-1234|(555)555-1235\rPV1|1|I|2000^2012^01||||123^Doe^John|||SUR||||ADM|A0||\r", "contentType": "text/plain" }
イベント サブスクリプションを表示する
Integration Connectors で接続に関連付けられているすべてのイベント サブスクリプションの表示と管理を行う手順は、次のとおりです。
- [Integration Connectors] > [接続] ページに移動します。
- サブスクリプションを表示する接続をクリックします。
- [イベント サブスクリプション] タブをクリックします。
ここでは、接続のすべてのサブスクリプションが表示されます。
HL7 トリガーを編集する
HL7 トリガーを編集して、接続構成とイベント サブスクリプションの詳細を変更または更新できます。
HL7 トリガーを編集する手順は次のとおりです。
- 統合エディタの [HL7 トリガー] 要素をクリックして、トリガー構成ペインを開きます。
- [Configure HL7 trigger] をクリックします。
- [Connector Event Trigger Editor] ページで、次の操作を行います。
- 構成済みのイベント サブスクリプションを保持するには、[保持] をクリックします。それ以外の場合は、[削除] をクリックします。
- 必要に応じて、接続構成とイベント サブスクリプションの詳細を更新します。
- [完了] をクリックします。
更新された接続とイベント サブスクリプションの詳細は、トリガー構成ペインの [Event Subscription details] で確認できます。
割り当てと上限
割り当てと上限については、割り当てと上限をご覧ください。
次のステップ
- すべてのタスクとトリガーを確認する。
- インテグレーションをテストして公開する方法について学習する。
- エラー処理について学習する。
- 統合の実行ログについて学習する。