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 FHIR-Quellspeicher in in Ihrem Vertex AI Search-Datenspeicher.

Abgleich – Übersicht

Sie können die Änderungen entweder inkrementell oder vollständig abgleichen. Die beiden Modi sind wie in der folgenden Tabelle dargestellt.

Änderungen am FHIR-Quellspeicher Inkrementeller Modus Vollständiger Modus
Neue FHIR-Ressourcen Fügt dem Vertex AI Search-Datenspeicher neue Dokumente hinzu 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 Nicht abgleicht 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 Gesundheitsdatenspeicher von Vertex AI Search kann maximal 1 Million Dokumente pro Projekt. Wenn dieses Kontingent während des Imports erreicht wird, wird der Importvorgang beendet.

Inkrementellen Import durchführen

Im folgenden Beispiel wird gezeigt, 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 FHIR-Quellspeicher 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 Vertex AI Agent Builder Python API Referenzdokumentation.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Vertex AI Agent Builder zu authentifizieren. 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)