如要在 Vertex AI Search 中搜尋臨床資料,您可以按照下列任一工作流程操作:
- 建立醫療照護資料儲存庫、將 FHIR R4 資料匯入資料儲存庫、將其連結至醫療照護搜尋應用程式,然後查詢臨床資料。
- 建立醫療照護搜尋應用程式、建立醫療照護資料儲存庫,並在應用程式建立程序中將 FHIR R4 資料匯入資料儲存庫,以及查詢臨床資料。詳情請參閱「建立醫療搜尋應用程式」。
本頁面將說明第一���方���。
關於資料匯入頻率
您可以透過下列方式,將 FHIR R4 資料匯入資料儲存庫:
批次匯入:一次性匯入。資料會以批次方式匯入資料儲存庫。如要進一步瞭解如何匯入增量資料,請參閱「重新整理醫療保健資料」。
串流匯入:近乎即時的串流資料匯入。來源 FHIR 儲存庫中的任何增量變更都會在 Vertex AI Search 資料儲存庫中同步處理。串流功能需要資料連接器,這是一種資料儲存庫類型。如要建立資料連接器,您必須設定集合。資料連接器包含實體,這也是資料儲存庫的執行個體。
您也可以暫停及繼續串流,並視需要手動同步處理。詳情請參閱「管理醫療保健搜尋資料儲存庫」。
特定 Google Cloud 專案的資料串流速率取決於下列配額。如果超出配額,可能會發生串流延遲的情形。
- 每分鐘待處理的 FHIR 或 BigQuery 串流寫入作業數量。詳情請參閱「配額與限制」。
- 每個地區每分鐘的 FHIR 讀取作業數。詳情請參閱 Cloud Healthcare API FHIR 配額。
您可以在建立資料儲存庫時選取資料匯入頻率,且日後無法變更這項設定。
事前準備
建立醫療照護資料儲存庫並匯入資料前,請先瞭解下列事項:
醫療照護搜尋應用程式與資料儲存庫之間的關係。詳情請參閱「關於應用程式和資料儲存庫」。
Vertex AI Search for healthcare 僅在美國多區域 (
us
) 提供搜尋服務,因此醫療照護搜尋應用程式和資料儲存庫必須位於us
多區域。如果您要從一個 Google Cloud 專案的 Cloud Healthcare API FHIR 儲存庫匯入醫療照護資料,並將其匯入另一個 Google Cloud 專案的 Vertex AI Search 資料儲存庫,且您使用的是 VPC Service Controls,則這兩個專案必須位於相同的範���內。
建立資料儲存庫並匯入資料
您可以在Google Cloud 控制台中建立資料儲存庫,並使用 API 匯入 FHIR R4 資料,方法如下:
- 您可以透過一次性批次匯入作業建立靜態資料儲存庫。詳情請參閱「建立靜態資料儲存庫並執行一次性批次匯入作業」。
- 您可以建立串流資料儲存庫,讓 Cloud Healthcare API FHIR 儲存庫的變更持續串流至 Vertex AI Search 資料儲存庫。詳情請參閱「建立串流資料儲存庫並設定串流匯入作業」。
建立靜態資料儲存庫,並執行一次性的批次匯入作業
本節說明如何建立 Vertex AI Search 資料儲存庫,其中只能執行批次匯入作業。您可以在首次建立資料儲存庫時匯入批次資料,並視需要執行遞增批次匯入作業。
控制台
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下 add_box「建立資料儲存庫」。
- 在「Select a data source」(選取資料來源) 窗格中,選取「Healthcare API (FHIR)」做為資料來源。
- 如要從 FHIR 儲存庫匯入資料,請執行下列任一操作:
- 從可用 FHIR 儲存庫清單中選取 FHIR 儲存庫:
- 展開「FHIR 儲存庫」欄位。
- 在這個清單中,選取位於允許位置的資料集,然後選取使用 FHIR 4.0 版的 FHIR 儲存庫。
- 手動輸入 FHIR 儲存庫:
- 展開「FHIR 儲存庫」欄位。
- 按一下「手動輸入 FHIR 存放區」。
- 在「FHIR 儲存庫名稱」對話方塊中,輸入 FHIR 儲存庫的完整名稱,格式如下:
project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
- 按一下 [儲存]。
- 從可用 FHIR 儲存庫清單中選取 FHIR 儲存庫:
- 在「同步處理」部分中,選取下列其中一個選項。資料儲存庫建立後,即無法變更這項選項。
- 一次性:執行一次性的批次資料匯入作業。如要進一步瞭解增量匯入作業,請參閱「重新整理醫療保健資料」。
- 串流:執行近乎即時的串流資料匯入作業。如要串流資料,您必須建立資料連接器,這是一種資料儲存庫。如要使用 REST API 設定串流資料儲存庫,請與客戶工程師聯絡。
- 在「這項資料的結構定義是什麼?」部分,選取下列其中一個選項:
- Google 預先定義的結構定義:針對支援的 FHIR 資源和元素,保留 Google 定義的結構定義設定,例如可索引、可搜尋和可擷取。選取這個選項後,您就無法在建立資料儲存庫後更新結構定義。如果您想在建立資料儲存庫後變更架構,請選取「自訂架構」選項。
- 按一下「繼續」。
- 在「資料儲存庫名稱」欄位中,輸入資料儲存庫的名稱。
- 按一下 [建立]。
您建立的資料儲存庫會列在「資料儲存庫」頁面。
- 自訂結構定義:為支援的 FHIR 資源和元素定義專屬的結構定義設定,例如索引、搜尋和擷取功能。如要設定可設定的結構定義,請與客戶工程師聯絡。
- 按一下「繼續」。
- 查看結構定義、展開每個欄位,然後編輯欄位設定。
- 按一下「Add new fields」,即可在支援的 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/v1/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"], "healthcareFhirConfig": { "enableConfigurableSchema": CONFIGURABLE_SCHEMA_TRUE|FALSE } }'
更改下列內容:
PROJECT_ID
: Google Cloud 專案的 ID。DATA_STORE_ID
:您要建立的 Vertex AI Search 資料儲存庫 ID。這個 ID 只能包含小寫英文字母、數字、底線和連字號。DATA_STORE_DISPLAY_NAME
:您要建立的 Vertex AI Search 資料儲存庫������名稱。CONFIGURABLE_SCHEMA_TRUE|FALSE
:布林值,如果設為true
,您可以使用schema.update
方法設定資料儲存庫結構定義。
如果來源 FHIR 儲存庫和目標 Vertex AI Search 資料儲存庫位於同一個 Google Cloud 專案中,請呼叫下列方法,執行一次性批次匯入作業。如果不屬於同一個專案,請進行下一個步驟。
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/v1/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 專案中,請呼叫下列方法來執行一次性批次匯入作業。如果是同一個專案,請返回上一個步驟。
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/v1/projects/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"} }'
更改下列內容:
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。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
建立資料儲存庫
匯入文件
���續步驟
建立串流資料儲存庫並設定串流匯入作業
本節說明如何建立串流 Vertex AI Search 資料儲存庫,持續串流 Cloud Healthcare API FHIR 儲存庫中的變更。
控制台
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下 add_box「建立資料儲存庫」。
- 在「Select a data source」(選取資料來源) 窗格中,選取「Healthcare API (FHIR)」做為資料來源。
- 如要從 FHIR 儲存庫匯入資料,請執行下列任一操作:
- 從可用 FHIR 儲存庫清單中選取 FHIR 儲存庫:
- 展開「FHIR 儲存庫」欄位。
- 在這個清單中,選取位於允許位置的資料集,然後選取使用 FHIR 4.0 版的 FHIR 儲存庫。
- 手動輸入 FHIR 儲存庫:
- 展開「FHIR 儲存庫」欄位。
- 按一下「手動輸入 FHIR 存放區」。
- 在「FHIR 儲存庫名稱」對話方塊中,輸入 FHIR 儲存庫的完整名稱,格式如下:
project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID
- 按一下 [儲存]。
- 從可用 FHIR 儲存庫清單中選取 FHIR 儲存庫:
- 在「同步處理」部分中,選取下列其中一個選項。資料儲存庫建立後,���無法變更這項選項。
- 一次性:執行一次性的批次資料匯入作業。如要進一步瞭解增量匯入作業,請參閱「重新整理醫療保健資料」。
- 串流:執行近乎即時的串流資料匯入作業。如要串流資料,您必須建立資料連接器,這是一種資料儲存庫。如要使用 REST API 設定串流資料儲存庫,請與客戶工程師聯絡。
- 在「這項資料的結構定義是什麼?」部分,選取下列其中一個選項:
- Google 預先定義的結構定義:針對支援的 FHIR 資源和元素,保留 Google 定義的結構定義設定,例如可索引、可搜尋和可擷取。選取這個選項後,您就無法在建立資料儲存庫後更新結構定義。如果您想在建立資料儲存庫後變更架構,請選取「自訂架構」選項。
- 按一下「繼續」。
- 在「資料儲存庫名稱」欄位中,輸入資料儲存庫的名稱。
- 按一下 [建立]。
您建立的資料儲存庫會列在「資料儲存庫」頁面。
- 自訂結構定義:為支援的 FHIR 資源和元素定義專屬的結構定義設定,例如索引、搜尋和擷取功能。如要設定可設定的結構定義,請與客戶工程師聯絡。
- 按一下「繼續」。
- 查看結構定義、展開每個欄位,然後編���欄位設定。
- 按一下「Add new fields」,即可在支援的 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:setUpDataConnector" \ -d ' { "collectionId": "COLLECTION_ID", "collectionDisplayName": "COLLECTION_NAME", "dataConnector": { "dataSource": "gcp_fhir", "params": { "instance_uri": "projects/SOURCE_PROJECT_ID/locations/CLOUD_HEALTHCARE_DATASET_LOCATION/datasets/CLOUD_HEALTHCARE_DATASET_ID" }, "entities": [ { "entityName": "FHIR_STORE_NAME" "healthcareFhirConfig": { "enableConfigurableSchema": CONFIGURABLE_SCHEMA_TRUE|FALSE, "enableStaticIndexingForBatchIngestion": STATIC_INDEXING_TRUE|FALSE } } ], "syncMode": "STREAMING" } }'
更改下列內容:
PROJECT_ID
: Google Cloud 專案的 ID。COLLECTION_ID
:您要串流 FHIR R4 資料的集合 ID。COLLECTION_NAME
:您要串流 FHIR R4 資料的集合名稱。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。CONFIGURABLE_SCHEMA_TRUE|FALSE
:布林值,如果設為true
,您可以使用schema.update
方法設定資料儲存庫結構定義。STATIC_INDEXING_TRUE|FALSE
:布林值,如果設為true
,您就能以較高的索引配額匯入歷史資料。當您預期搜尋應用程式會遇到較大量的資料時,這項功能就很實用。不過,個別記錄的索引時間會較長。Google 強烈建議您將這個欄位設為true
。
- 如果集合建立成功,資料連接器就會新增至 Google Cloud 控制台「資料儲存庫」頁面中的資料儲存庫清單。
- 建立的資料連接器包含實體,其名稱與您要串流資料的 FHIR R4 儲存庫相同。
後續步驟
驗證資料儲存庫建立作業和 FHIR 資料匯入作業
本任務將說明如何驗證資料儲存庫是否已成功建立,以及 FHIR 資料是否已成功匯入資料儲存庫。
- 在 Google Cloud 控制台:選取資料儲存庫並確認詳細資料。
- 透過 REST API:
- 使用
dataStores.get
方法取得醫療照護資料儲存庫詳細資料。 - 使用
operations.get
方法取得匯入作業的詳細資料。
- 使用
如要驗證資料儲存庫建立和資料匯入作業,請完成下列步驟。
控制台
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
「資料儲存庫」頁面會列出 Google Cloud專案中的資料儲存庫清單,並顯示詳細資料。
確認您建立的資料儲存庫或資料連接器是否在資料儲存庫清單中。在資料儲存庫清單中,串流資料的資料連接器包含與 Cloud Healthcare API FHIR 儲存庫同名的資料儲存庫。
選取資料儲存庫或資料連接器,並確認詳細資料。
- 資料儲存庫:
- 摘要表格會列出下列詳細資料:
- 資料儲存庫 ID、類型和區域。
- 文件數量,表示匯入的 FHIR 資源數量。
- 上次匯入文件的時間戳記。
- 您可以按一下「查看詳細資料」,查看文件匯入詳細資料,例如匯入成功、部分成功或失敗的詳細資料。
- 「文件」分頁會在分頁表格中列出已匯入 FHIR 資源的資源 ID 和資源類型。您可以篩選這個表格,確認是否已匯入特定資源。
- 「活動」分頁會列出文件匯入詳細資料,例如匯入成功、部分成功或匯入失敗的詳細資料。
- 摘要表格會列出下列詳細資料:
- 資料連接器:
- 摘要表格會列出下列詳細資料:
- 集合 ID、類型和區域。
- 已連結應用程式的名稱。
- 連接器的狀態,可能是「有效」或「已暫停」。
- 「實體」表格會顯示資料連接器中的實體。實體名稱是來源 FHIR 儲存庫名稱。實體 ID 是資料連接器 ID 加上來源 FHIR 儲存庫名稱。
- 按一下實體名稱即可查看詳細資料。實體是資料連接器中的資料儲存庫例項,因此實體詳細資料與資料儲存庫詳細資料相同。
- 摘要表格會列出下列詳細資料:
- 資料儲存庫:
在「Schema」分頁中,查看支援的 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/v1/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/v1/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
後續步驟
- 建立醫療照護搜尋應用程式,並將資料儲存庫連結至該應用程式。
- 在醫療照護搜尋應用程式中搜尋醫療照護資料。
- 重新整理醫療照護資料。