Gesundheitsdaten aktualisieren

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

  • Neue FHIR-Ressourcen hinzugefügt
  • Vorhandene FHIR-Ressourcen aktualisiert
  • FHIR-Ressourcen gelöscht

In solchen Fällen können Sie die Änderungen aus Ihrem FHIR-Quellspeicher in Ihren Agent Search-Datenspeicher für das Gesundheitswesen abgleichen.

Abgleich – Übersicht

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

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

Hinweis

Prüfen Sie die Kontingente und Limits für Ihr Google Cloud Projekt. Ihr Agent Search-Datenspeicher für das Gesundheitswesen 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 inkrementelle Änderungen aus einem FHIR-Speicher der Cloud Healthcare API mit der documents.import Methode 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: die ID Ihres Google Cloud Projekts.
    • DATA_STORE_ID: die ID des Agent Search-Datenspeichers.
    • CLOUD_HEALTHCARE_DATASET_ID: die ID des Cloud Healthcare API-Datasets, das den FHIR-Quellspeicher enthält.
    • CLOUD_HEALTHCARE_DATASET_LOCATION: der Standort 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: die ID Ihres Google Cloud Projekts.
    • DATA_STORE_ID: die ID des Agent Search-Datenspeichers.
    • IMPORT_OPERATION_ID: die Vorgangs-ID des Vorgangs mit langer Ausführungszeit, die zurückgegeben wird, wenn Sie die Methode import aufrufen.

Python

Weitere Informationen finden Sie in der API-Referenzdokumentation zu Agent Search Python.

Richten Sie zur Authentifizierung bei Agent Search 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)