Pub/Sub 通知

このページでは、Cloud Healthcare API データストアで医療イベントが発生したときに Pub/Sub を使用して通知を受け取る方法について説明します。Pub/Sub メッセージを設定して使用する方法については、Pub/Sub 通知の構成をご覧ください。

概要

次のいずれかの医療イベントが発生したときに、Pub/Sub を使用して通知を受け取ることができます。

  • DICOM インスタンスは、dicomStores.dicomWeb.studies.storeInstances メソッドを使用して DICOM ストアに保存します。
  • DICOM インスタンスを DICOM ストアにインポートするには、dicomStores.import メソッドを使用します。
  • FHIR リソースが FHIR ストア内で作成、パッチ適用、更新、削除された。ただし、FHIR リソースが Cloud Storage からインポートされたときには、通知は送信されません。
  • HL7v2 メッセージが HL7v2 ストアで作成または取り込まれます。

各イベントに関する情報は、対応するデータストアの Pub/Sub トピックにメッセージの形式で追加されます。

十分な権限がある任意のプロジェクトの Pub/Sub トピックに対して、メッセージを公開できます。Pub/Sub トピックでメッセージを受信すると、メッセージは、トピックの任意の数のサブスクライバーに転送されます。

DICOM 通知

DICOM データでの Pub/Sub 通知の使用については、DICOM Pub/Sub 通知をご覧ください。

FHIR 通知

FHIR データでの Pub/Sub 通知の使用については、FHIR Pub/Sub 通知をご覧ください。

HL7v2 通知

次の図は、HL7v2 メッセージの取り込み時または作成時に発生する通知のフローを示しています。

hl7v2_pubsub

  1. Cloud Healthcare API では、医療システムから HL7v2 メッセージを取り込みます。
  2. このメッセージは、HL7v2 ストアに保存されます。
  3. HL7v2 ストアは、Pub/Sub メッセージを作成して、HL7v2 メッセージと一致するフィルタを持つストアの Pub/Sub トピックに送信します。
  4. Pub/Sub で Pub/Sub メッセージがトピックのサブスクリプションに転送されます。
  5. サブスクライバーは、サブスクリプションから Pub/Sub メッセージの形式で通知を受け取ります。並列処理を強化するために、各サブスクリプションに 1 つ以上のサブスクライバーを含めることが可能です。

通知形式

Pub/Sub トピックに送信される通知は、次の 2 つの部分で構成されます。

  • 属性: イベントを記述するキー値のペアのセット これらの値を使用すると、サブスクリプションからのメッセージをフィルタして、クライアントが受信するイベントをフィルタできます。
  • データ: 関連する FHIR リソース、DICOM インスタンス、HL7v2 メッセージの識別子を含む文字列

DICOM インスタンスのデータ

DICOM インスタンスが DICOM ストアに保存されたときには、次の ID が常に Pub/Sub メッセージの data フィールドに含まれます。

projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_UID/series/SERIES_UID/instances/INSTANCE_UID

保存された DICOM インスタンスの通知には、attribute 値は含まれません。

HL7v2 メッセージのデータと属性

HL7v2 メッセージが作成されるか、HL7v2 ストアに取り込まれると、次の ID が常に Pub/Sub メッセージの data フィールドに含まれます。

projects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_MESSAGE_ID

次の Key-Value ペアのセットは、常に Pub/Sub メッセージの attributes フィールドに含まれます。

属性名 指定できる値 説明
msgType HL7v2 メッセージのタイプ ADT 作成または取り込まれた HL7v2 メッセージのタイプ。

次のステップ