Gesundheitsdaten aktualisieren

Nach dem ersten Import von Daten in Ihren Vertex AI Search-Datenspeicher für Gesundheitsdaten haben Sie möglicherweise die folgenden Aktualisierungen in Ihrem FHIR-Quellspeicher vorgenommen:

  • Neue FHIR-Ressourcen hinzugefügt
  • Vorhandene FHIR-Ressourcen aktualisiert
  • Gelöschte FHIR-Ressourcen

In solchen Fällen können Sie die Änderungen aus Ihrem FHIR-Quellspeicher mit Ihrem Vertex AI Search-Datenspeicher für Gesundheitsdaten abgleichen.

Abstimmung – Übersicht

Sie können die Änderungen entweder schrittweise oder vollständig abgleichen. In der folgenden Tabelle werden die beiden Modi verglichen.

Änderungen am FHIR-Quellspeicher Inkrementeller Modus Vollständiger Modus
Neue FHIR-Ressourcen Fügt dem Vertex AI Search-Datenspeicher neue Dokumente hinzu Fügt dem Vertex AI Search-Datenspeicher neue Dokumente hinzu
Aktualisierte FHIR-Ressourcen Ersetzt die vorhandenen Dokumente im Datenspeicher von Vertex AI Search, wobei die Dokument-ID beibehalten wird. Ersetzt die vorhandenen Dokumente im Datenspeicher von Vertex AI Search, wobei die Dokument-ID beibehalten wird.
Gelöschte FHIR-Ressourcen Nicht abstimmen Entfernt die entsprechenden Dokumente aus Ihrem Vertex AI Search-Datenspeicher

Hinweise

Sehen Sie sich die Kontingente und Limits für Ihr Google Cloud Projekt an. Ihr Vertex AI Search-Gesundheitsdatenspeicher kann maximal 1 Million Dokumente pro Projekt enthalten. Wenn dieses Kontingent während des Imports erreicht wird, wird der Importvorgang beendet.

Inkrementellen Import durchführen

Das folgende Beispiel zeigt, wie Sie inkrementelle Änderungen aus einem Cloud Healthcare API-FHIR-Speicher mit der Methode documents.import importieren.

REST

  1. Führen Sie einen inkrementellen Import durch.

    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": "INCREMENTAL",
       "fhir_store_source": {"fhir_store": "projects/PROJECT_ID/locations/CLOUD_HEALTHCARE_DATASET_LOCATION/datasets/CLOUD_HEALTHCARE_DATASET_ID/fhirStores/FHIR_STORE_ID"}
    }'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Google Cloud Projekts.
    • DATA_STORE_ID: Die ID des Vertex AI Search-Datenspeichers.
    • CLOUD_HEALTHCARE_DATASET_ID: die ID des Cloud Healthcare API-Datasets, das den Quell-FHIR-Speicher enthält.
    • CLOUD_HEALTHCARE_DATASET_LOCATION: Der Speicherort des Cloud Healthcare API-Datasets, das den FHIR-Quellspeicher enthält.
    • FHIR_STORE_ID: die ID des FHIR R4-Speichers der Cloud Healthcare API.
  2. Prüfen Sie, ob der FHIR-Datenimportvorgang abgeschlossen ist.

    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"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Google Cloud Projekts.
    • DATA_STORE_ID: Die ID des Vertex AI Search-Datenspeichers.
    • IMPORT_OPERATION_ID: die Vorgangs-ID des Vorgangs mit langer Ausführungszeit, der zurückgegeben wird, wenn Sie die Methode import aufrufen.

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur AI Applications Python API.

Richten Sie zur Authentifizierung bei AI Applications Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "us"
# data_store_id = "YOUR_DATA_STORE_ID"
# healthcare_project_id = "YOUR_HEALTHCARE_PROJECT_ID"
# healthcare_location = "YOUR_HEALTHCARE_LOCATION"
# healthcare_dataset_id = "YOUR_HEALTHCARE_DATASET_ID"
# healthcare_fihr_store_id = "YOUR_HEALTHCARE_FHIR_STORE_ID"

#  For more information, refer to:
# https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
client_options = (
    ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
    if location != "global"
    else None
)

# Create a client
client = discoveryengine.DocumentServiceClient(client_options=client_options)

# The full resource name of the search engine branch.
# e.g. projects/{project}/locations/{location}/dataStores/{data_store_id}/branches/{branch}
parent = client.branch_path(
    project=project_id,
    location=location,
    data_store=data_store_id,
    branch="default_branch",
)

request = discoveryengine.ImportDocumentsRequest(
    parent=parent,
    fhir_store_source=discoveryengine.FhirStoreSource(
        fhir_store=client.fhir_store_path(
            healthcare_project_id,
            healthcare_location,
            healthcare_dataset_id,
            healthcare_fihr_store_id,
        ),
    ),
    # Options: `FULL`, `INCREMENTAL`
    reconciliation_mode=discoveryengine.ImportDocumentsRequest.ReconciliationMode.INCREMENTAL,
)

# Make the request
operation = client.import_documents(request=request)

print(f"Waiting for operation to complete: {operation.operation.name}")
response = operation.result()

# After the operation is complete,
# get information from operation metadata
metadata = discoveryengine.ImportDocumentsMetadata(operation.metadata)

# Handle the response
print(response)
print(metadata)