医療検索アプリを作成する

Vertex AI Search で臨床データを検索するには、次のいずれかのワークフローに沿って操作します。

  • 医療データストアを作成し、FHIR R4 データをデータストアにインポートして医療検索アプリに接続し、臨床データをクエリします。詳細については、医療データストアを作成するをご覧ください。
  • 医療検索アプリを作成し、医療データストアを作成して、アプリの作成プロセス中に FHIR R4 データをデータストアにインポートし、臨床データをクエリします。

このページでは、2 つ目の方法について説明します。

データ インポートの頻度について

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 を使用: Cloud Healthcare API FHIR ストアから FHIR データをインポートできます。 FHIR ストアは、同じ Google Cloud プロジェクトまたは別の Google Cloud プロジェクトに配置できます。
    1. dataStores.create メソッドを使用して、医療データストアを作成します。
    2. documents.import メソッドを使用して、Cloud Healthcare API の FHIR ストアを指定し、FHIR データをインポートします。
    3. engines.create メソッドを使用して医療検索アプリを作成し、既存の医療データストアを指定します。

医療検索アプリを作成する手順は次のとおりです。

Console

  1. Google Cloud コンソールで、[Agent Builder] ページに移動します。

    Agent Builder

  2. [アプリ] ページで、 [新しいアプリ] をクリックします。

  3. [アプリの作成] ページで、[検索] を選択します。

  4. [検索アプリの構成] ペインで、[医療] を選択します。

  5. このアプリで高度な LLM 機能を有効にするには、[高度な LLM 機能] トグルをクリックします。

    高度な LLM 機能を有効にすると、検索結果の概要を取得できます。これは、上位の検索結果の短い要約です。

    LLM 機能を有効にしてから、サポートされている機能が使用可能になるまでに最大で 5 分ほどかかります。

  6. [アプリ名] フィールドに、アプリの名前を入力します。

  7. [会社または組織の表示名] フィールドに、会社または組織の一般名を入力します。Inc や LLC などの接尾辞を含める必要はありません。このフィールドは、アプリが代表する会社を LLM が識別するために役立ちます。

  8. [続行] をクリックします。

  9. データストアに接続するには、[データストア] ページで次のいずれかを行います。

    • バッチ インポートの場合は既存の医療データストアを選択し、ストリーミング インポートの場合は既存のデータ コネクタを選択します。アプリを作成する前にデータストアまたはデータ コネクタを作成するには、医療データストアを作成するをご覧ください。
    • データストア(1 回限りのバッチ インポート用)、またはデータストアのインスタンスであるデータコネクタ(ストリーミング インポート用)を作成します。
      1. [データストアを作成] をクリックします。
      2. [データソースを選択] ペインで、データソースとして [Healthcare API(FHIR)] を選択します。
      3. FHIR ストアからデータをインポートするには、次のいずれかを行います。
        • 使用可能な FHIR ストアのリストから FHIR ストアを選択します。
          1. [FHIR ストア] フィールドを開きます。
          2. このリストで、許可されたロケーションにあるデータセットを選択し、FHIR バージョン R4 を使用する FHIR ストアを選択します。

            FHIR データをストリーミングするには(プレビュー版)、ソース FHIR ストアが宛先 Vertex AI Search データストアと同じ Google Cloud プロジェクトに存在する必要があります。

        • FHIR ストアを手動で入力します。
          1. [FHIR ストア] フィールドを開きます。
          2. [FHIR ストアを手動で入力] をクリックします。
          3. [FHIR ストア名] ダイアログで、FHIR ストアの完全な名前を次の形式で入力します。

            project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID

          4. [保存] をクリックします。
      4. [ロケーション] セクションで、次のいずれかのオプションを選択します。 この選択は、データストアの作成後に変更することはできません
        • 1 回限り: 1 回限りの一括データ インポートを実行します。その他の増分インポートについては、医療データを更新するをご覧ください。
        • ストリーミング: ニア リアルタイムのストリーミング データのインポートを実行します。データをストリーミングするには、データストアの一種であるデータ コネクタを作成する必要があります。これはプレビュー機能です。REST API を使用してストリーミング データストアを設定するには、カスタマー エンジニアにお問い合わせください。
      5. [このデータのスキーマ] セクションで、次のいずれかのオプションを選択します。
        • Google の事前定義スキーマ: サポートされている FHIR リソースと要素に対して、Google が定義したスキーマ構成(インデックス登録可能性、検索可能性、取得可能性など)を保持します。このオプションを選択すると、データストアの作成後にスキーマを更新することはできません。データストアの作成後にスキーマを変更できるようにするには、[カスタム スキーマ(プレビュー)] オプションを選択します。
          1. [続行] をクリックします。
          2. [データストア名] フィールドに、データストアの名前を入力します。
          3. [作成] をクリックします。
          4. 作成したデータストアが [データストア] ページに表示されます。

        • カスタム スキーマ(プレビュー): サポートされている FHIR リソースと要素に独自のスキーマ構成(インデックス登録可能性、検索可能性、取得可能性など)を定義します。これはプレビュー機能です。構成可能なスキーマを設定するには、カスタマー エンジニアにお問い合わせください。
          1. [続行] をクリックします。
          2. スキーマを確認し、各フィールドを開いてフィールドの設定を編集します。
          3. [新しいフィールドを追加] をクリックして、サポートされている FHIR リソースに新しいフィールドを追加します。Google が定義したスキーマで指定されているフィールドは削除できません。
          4. [続行] をクリックします。
          5. [データ コネクタ名] フィールドに、データ コネクタの名前を入力します。
          6. [作成] をクリックします。
          7. 作成したデータコネクタが [データストア] ページに表示されます。 ソース FHIR ストアがデータ コネクタ内にエンティティとして追加されます。

      6. [続行] をクリックします。
      7. 作成したデータストアまたはデータ コネクタを選択します。
  10. 省略可: 使用できないデータストアのリストを表示するには、[理由を確認] をクリックします。

    データストアのリストと、使用できない理由が記載された表が表示されます。データストアが使用できない理由としては、次のことが考えられます。

    • データストア タイプで接続できるアプリが 1 つだけで、そのデータストアがすでに接続されています。
    • データストアとアプリのタイプが異なります。たとえば、ウェブサイト検索データストアを医療検索アプリに接続することはできません。
  11. [作成] をクリックします。

    アプリとそのデータストアが正常に作成されると、データストアの詳細ページに、インポートされた FHIR データの詳細が表示されます。

REST

  1. 医療データストアを作成して、医療データをインポートします。
  2. 医療検索アプリを作成し、データストアに接続します。医療検索アプリは 1 つのデータストアにのみ接続できますが、特定のデータストアは複数のアプリに接続できます。

    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/engines?engineId=APP_ID" \
     -d '{
        "displayName": "APP_DISPLAY_NAME",
        "dataStoreIds":"DATA_STORE_ID",
        "industryVertical": "HEALTHCARE_FHIR",
        "solutionType": "SOLUTION_TYPE_SEARCH",
        "searchEngineConfig": {
          "searchTier": "SEARCH_TIER_STANDARD",
          "searchAddOns": ["SEARCH_ADD_ON"]
        }
    }'
    

    以下を置き換えます。

    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • APP_ID: 作成する Vertex AI Search アプリの ID。
    • APP_DISPLAY_NAME: 作成する Vertex AI Search アプリの表示名。
    • DATA_STORE_ID: Vertex AI Search アプリに追加する既存の Vertex AI Search データストアの ID。
    • SEARCH_ADD_ON: このアプリで高度な LLM 機能(生成 AI の回答による検索など)を使用するかどうかを指定するオプション フィールド。高度な LLM 機能を有効にするには、値 SEARCH_ADD_ON_LLM を入力します。 高度な LLM 機能を使用しない場合は、SEARCH_ADD_ON_UNSPECIFIED を指定するか、searchAddOns フィールドを削除します。詳細については、高度な LLM 機能をご覧ください。

アプリの作成を確認する

このタスクでは、医療検索アプリが正常に作成されたかどうか、FHIR データがデータストアに正常にインポートされたかどうかを確認する方法について説明します。

  • Google Cloud コンソールで、アプリを選択して詳細を確認します。
  • REST API で engines.get メソッドを使用して、医療データストアの詳細を取得します。

データストアの作成とデータのインポートを確認する手順は次のとおりです。

Console

  1. Google Cloud コンソールで、[Agent Builder] ページに移動します。

    Agent Builder

  2. [アプリ] ページで、作成したアプリがアプリリストに含まれていることを確認します。

  3. アプリに接続したデータストアが [接続されたデータストア] 列に表示されていることを確認します。

  4. データストアを選択し、データストアの詳細を確認します。

REST

  1. アプリの作成を確認します。

    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/engines/APP_ID"
    

    以下を置き換えます。

    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • APP_ID: Vertex AI Search アプリの ID。
  2. データストアの作成と FHIR データのインポートを確認します。

次のステップ