Gesundheitsdaten aktualisieren

Nach dem ersten Import von Daten in Ihren Vertex AI Search-Gesundheitsdatenspeicher haben Sie möglicherweise eine der folgenden Aktualisierungen in Ihrem Quell-FHIR-Speicher durchgeführt:

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

In solchen Fällen können Sie die Änderungen aus Ihrem Quell-FHIR-Speicher mit Ihrem Vertex AI Search-Gesundheitsdatenspeicher abgleichen.

Abgleich – Übersicht

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

Änderungen am Quell-FHIR-Speicher Incremental-Modus Vollständiger Modus
Neue FHIR-Ressourcen Dem Vertex AI Search-Datenspeicher werden neue Dokumente hinzugefügt. Dem Vertex AI Search-Datenspeicher werden neue Dokumente hinzugefügt.
Aktualisierte FHIR-Ressourcen Ersetzt die vorhandenen Dokumente im Vertex AI Search-Datenspeicher, wobei die Dokument-ID beibehalten wird. Ersetzt die vorhandenen Dokumente im Vertex AI Search-Datenspeicher, wobei die Dokument-ID beibehalten wird.
Gelöschte FHIR-Ressourcen Kann nicht abgeglichen werden Die entsprechenden Dokumente werden aus Ihrem Vertex AI Search-Datenspeicher entfernt.

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 ausführen

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

REST

  1. Führen Sie einen inkrementellen Import aus.

    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 ist 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 Quell-FHIR-Speicher enthält.
    • FHIR_STORE_ID: die ID des FHIR-R4-Speichers der Cloud Healthcare API.
  2. Prüfen Sie, ob der Importvorgang für FHIR-Daten 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 ist die ID Ihres Google Cloud-Projekts.
    • DATA_STORE_ID: die ID des Vertex AI Search-Datenspeichers.
    • IMPORT_OPERATION_ID: Die Vorgangs-ID des lang andauernden Vorgangs, die zurückgegeben wird, wenn Sie die Methode import aufrufen.

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder 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)