Vertex AI Search で臨床データを検索するには、次のいずれかのワークフローに沿って操作します。
- ヘルスケア データストアを作成し、FHIR R4 データをデータストアにインポートして医療検索アプリに接続し、臨床データをクエリします。
- 医療検索アプリを作成し、ヘルスケア データストアを作成して、アプリの作成プロセス中に FHIR R4 データをデータストアにインポートし、臨床データをクエリします。 詳細については、医療検索アプリを作成するをご覧ください。
このページでは、最初の方法について説明します。
データ インポートの頻度について
FHIR R4 データをデータストアにインポートするには、次の方法があります。
一括インポート: 1 回限りのインポート。データがデータストアにインポートされます。その他の増分インポートについては、ヘルスケア データを更新するをご覧ください。
ストリーミング インポート(プレビュー版): ニア リアルタイムのストリーミング データのインポート。ソース FHIR ストアの増分変更は、Vertex AI Search データストアで同期されます。ストリーミングにはデータコネクタが必要です。これは、エンティティを含むデータストアの一種です。エンティティはデータストア インスタンスでもあります。
特定の Google Cloud プロジェクトのデータ ストリーミング レートは、次の割り当てによって異なります。割り当てを超えると、ストリーミングが遅延する可能性があります。
- 1 分あたりの保留中の FHIR または BigQuery ストリーミング書き込みの数。 詳細については、割り当てと上限をご覧ください。
- 1 分間、1 リージョンあたりの FHIR 読み取りオペレーション数。詳細については、Cloud Healthcare API FHIR の割り当てをご覧ください。
データ インポートの頻度は、データストアの作成時に選択できます。この構成は後で変更できません。
ストリーミング インポートは、Vertex AI Search がサポートするすべてのリソースで使用できます。詳細については、Healthcare FHIR R4 データスキーマ リファレンスをご覧ください。
始める前に
ヘルスケア データストアを作成してデータをインポートする前に、次の要件を満たしてください。
医療検索のアプリとデータストアの関係を理解します。 詳細については、アプリとデータストアについてをご覧ください。
取り込む FHIR データを準備します。
Vertex AI Search for Healthcare は、米国のマルチリージョン(
us
)でのみ検索サービスを提供します。したがって、医療検索アプリとデータストアはus
マルチリージョンに配置する必要があります。
データストアを作成
データストアは、Google Cloud コンソールまたは API を使用して作成できます。2 つのアプローチの違いは次のとおりです。
- Google Cloud コンソールで、Cloud Healthcare API のソース FHIR ストアを選択し、医療検索データストアの作成プロセスの一部として FHIR データをインポートします。FHIR データをストリーミングするには(プレビュー版)、ソース FHIR ストアが宛先 Vertex AI Search データストアと同じ Google Cloud プロジェクトに存在する必要があります。
- REST API を使用: 同じ Google Cloud プロジェクト内または別のプロジェクト内の Cloud Healthcare API FHIR ストアから FHIR データをインポートできます。
dataStores.create
メソッドを使用して、医療データストアを作成します。documents.import
メソッドを使用して、Cloud Healthcare API で FHIR ストアを指定し、FHIR R4 データをインポートします。
ヘルスケア データストアを作成する手順は次のとおりです。
Console
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
add_boxデータストアを作成 をクリックします。
- [データソースを選択] ペインで、データソースとして [Healthcare API(FHIR)] を選択します。
- FHIR ストアからデータをインポートするには、次のいずれかを行います。
- 使用可能な FHIR ストアのリストから FHIR ストアを選択します。
- [FHIR ストア] フィールドを開きます。
- このリストで、許可されたロケーションにあるデータセットを選択し、FHIR バージョン R4 を使用する FHIR ストアを選択します。
FHIR データをストリーミングするには(プレビュー版)、ソース FHIR ストアが宛先 Vertex AI Search データストアと同じ Google Cloud プロジェクトに存在する必要があります。
- FHIR ストアを手動で入力します。
- [FHIR ストア] フィールドを開きます。
- [FHIR ストアを手動で入力] をクリックします。
- [FHIR ストア名] ダイアログで、FHIR ストアの完全な名前を次の形式で入力します。
project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
- [保存] をクリックします。
- 使用可能な FHIR ストアのリストから FHIR ストアを選択します。
- [ロケーション] セクションで、次のいずれかのオプションを選択します。
この選択は、データストアの作成後に変更することはできません
- 1 回限り: 1 回限りの一括データ インポートを実行します。増分インポートの詳細については、ヘルスケア データを更新するをご覧ください。
- ストリーミング: ニア リアルタイムのストリーミング データのインポートを実行します。データをストリーミングするには、データストアの一種であるデータコネクタを作成する必要があります。これはプレビュー機能です。REST API を使用してストリーミング データストアを設定するには、カスタマー エンジニアにお問い合わせください。
- [このデータのスキーマ] セクションで、次のいずれかのオプションを選択します。
- Google の事前定義スキーマ: サポートされている FHIR リソースと要素に対して、Google が定義したスキーマ構成(インデックス登録可能性、検索可能性、取得可能性など)を保持します。このオプションを選択すると、データストアの作成後にスキーマを更新することはできません。データストアの作成後にスキーマを変更できるようにするには、[カスタム スキーマ(プレビュー)] オプションを選択します。
- [続行] をクリックします。
- [データストア名] フィールドに、データストアの名前を入力します。
- [作成] をクリックします。
作成したデータストアが [データストア] ページに表示されます。
- カスタム スキーマ(プレビュー): サポートされている FHIR リソースと要素に独自のスキーマ構成(インデックス登録可能性、検索可能性、取得可能性など)を定義します。これはプレビュー機能です。構成可能なスキーマを設定するには、カスタマー エンジニアにお問い合わせください。
- [続行] をクリックします。
- スキーマを確認し、各フィールドを開いてフィールドの設定を編集します。
- [新しいフィールドを追加] をクリックして、サポートされている FHIR リソースに新しいフィールドを追加します。Google 定義のスキーマで指定されているフィールドは削除できません。
- [続行] をクリックします。
- [データ コネクタ名] フィールドに、データ コネクタの名前を入力します。
- [作成] をクリックします。
作成したデータコネクタが [データストア] ページに表示されます。 ソース FHIR ストアがデータコネクタ内にエンティティとして追加されます。
- Google の事前定義スキーマ: サポートされている FHIR リソースと要素に対して、Google が定義したスキーマ構成(インデックス登録可能性、検索可能性、取得可能性など)を保持します。このオプションを選択すると、データストアの作成後にスキーマを更新することはできません。データストアの作成後にスキーマを変更できるようにするには、[カスタム スキーマ(プレビュー)] オプションを選択します。
- [続行] をクリックします。
REST
データストアを作成します。
curl -X POST\ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json"\ -H "X-Goog-User-Project: PROJECT_ID" \ "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "HEALTHCARE_FHIR", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "searchTier": "STANDARD", "searchAddOns": ["LLM"] }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
ソース FHIR ストアとターゲット Vertex AI Search データストアが同じ Google Cloud プロジェクトにある場合は、次のメソッドを呼び出して 1 回限りの一括インポートを実行します。同じプロジェクトにない場合は、次のステップに進みます。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "reconciliation_mode": "FULL", "fhir_store_source": {"fhir_store": "projects/PROJECT_ID/locations/CLOUD_HEALTHCARE_DATASET_LOCATION/datasets/CLOUD_HEALTHCARE_DATASET_ID/fhirStores/FHIR_STORE_ID"} }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。CLOUD_HEALTHCARE_DATASET_ID
: ソース FHIR ストアを含む Cloud Healthcare API データセットの ID。CLOUD_HEALTHCARE_DATASET_LOCATION
: ソース FHIR ストアを含む Cloud Healthcare API データセットのロケーション。FHIR_STORE_ID
: Cloud Healthcare API FHIR R4 ストアの ID。
ソース FHIR ストアとターゲット Vertex AI Search データストアが異なる Google Cloud プロジェクトにある場合は、次のメソッドを呼び出して 1 回限りの一括インポートを実行します。同じプロジェクトにある場合は、前の手順に戻ります。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: TARGET_PROJECT_ID" \ "https://us-discoveryengine.googleapis.com/v1alpha/projects/TARGET_PROJECT_ID/locations/us/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "reconciliation_mode": "FULL", "fhir_store_source": {"fhir_store": "projects/SOURCE_PROJECT_ID/locations/CLOUD_HEALTHCARE_DATASET_LOCATION/datasets/CLOUD_HEALTHCARE_DATASET_ID/fhirStores/FHIR_STORE_ID"} }'
以下を置き換えます。
TARGET_PROJECT_ID
: Vertex AI Search データストアを含む Google Cloud プロジェクトの ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。SOURCE_PROJECT_ID
: Cloud Healthcare API データセットと FHIR ストアを含む Google Cloud プロジェクトの ID。CLOUD_HEALTHCARE_DATASET_ID
: ソース FHIR ストアを含む Cloud Healthcare API データセットの ID。CLOUD_HEALTHCARE_DATASET_LOCATION
: ソース FHIR ストアを含む Cloud Healthcare API データセットのロケーション。FHIR_STORE_ID
: Cloud Healthcare API FHIR R4 ストアの ID。
省略可: REST API を使用してストリーミング データのインポート(プレビュー)を設定するには、カスタマー エンジニアにお問い合わせください。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
データストアの作成と FHIR データのインポートを確認する
このタスクでは、データストアが正常に作成されたかどうか、FHIR データがデータストアに正常にインポートされたかどうかを確認する方法について説明します。
- Google Cloud コンソールで、データストアを選択し、詳細を確認します。
- REST API を使用する:
dataStores.get
メソッドを使用して、ヘルスケア データストアの詳細を取得します。- インポート オペレーションの詳細を取得するには、
operations.get
メソッドを使用します。
データストアの作成とデータのインポートを確認する手順は次のとおりです。
Console
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストア] ページに、Google Cloud プロジェクト内のデータストアのリストと詳細が表示されます。
作成したデータストアまたはデータコネクタがデータストアのリストに含まれていることを確認します。
データストアまたはデータコネクタを選択し、詳細を確認します。
- データストアの場合:
- 概要の表には、次の詳細が表示されます。
- データストア ID、タイプ、リージョン。
- インポートされた FHIR リソースの数を示すドキュメントの数。
- ドキュメントが最後にインポートされたときのタイムスタンプ。
- 必要に応じて、[詳細を表示] をクリックして、ドキュメントのインポートの詳細(インポートの成功、部分的な成功、失敗の詳細など)を確認します。
- [ドキュメント] タブには、インポートされた FHIR リソースのリソース ID とリソースタイプがページネーションされた表に表示されます。このテーブルをフィルタして、特定のリソースがインポートされたかどうかを確認できます。
- [アクティビティ] タブには、インポートの成功、部分的な成功、失敗に関する詳細など、ドキュメントのインポートの詳細が表示されます。
- 概要の表には、次の詳細が表示されます。
- データコネクタの場合:
- 概要の表には、次の詳細が表示されます。
- コレクション ID、タイプ、リージョン。
- 接続されたアプリの名前。
- コネクタの状態(アクティブまたは一時停止)。
- [エンティティ] テーブルには、データ コネクタ内のエンティティが表示されます。エンティティの名前は、ソース FHIR ストア名です。エンティティの ID は、ソース FHIR ストア名が付加されたデータ コネクタの ID です。
- ポリシー名をクリックして、その詳細を確認します。エンティティはデータコネクタ内のデータストア インスタンスであるため、エンティティの詳細はデータストアの詳細と同じです。
- 概要の表には、次の詳細が表示されます。
- データストアの場合:
[スキーマ] タブで、サポートされている FHIR リソースと要素のプロパティを表示します。[編集] をクリックしてスキーマを構成します。これは非公開プレビュー機能です。構成可能なスキーマを設定するには、カスタマー エンジニアにお問い合わせください。
REST
データストアの作成を確認します。
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json"\ -H "X-Goog-User-Project: PROJECT_ID" \ "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/dataStores/DATA_STORE_ID"
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。
FHIR データのインポート オペレーションが完了しているかどうかを確認します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/operations/IMPORT_OPERATION_ID"
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。IMPORT_OPERATION_ID
:import
メソッドを呼び出したときに返される長時間実行オペレーションのオペレーション ID
次のステップ
- 医療検索アプリを作成し、データストアを接続する。
- 医療検索アプリでヘルスケア データを検索する。
- ヘルスケア データを更新する。