יצירת מאגר נתונים של חיפושים בתחום הבריאות

כדי לחפש נתונים קליניים בחיפוש באמצעות סוכן, אפשר לפעול לפי אחד מתהליכי העבודה הבאים:

  • ליצור מאגר נתונים של נתוני בריאות, לייבא נתוני FHIR R4 למאגר הנתונים, לקשר אותו לאפליקציה לחיפוש נתוני בריאות ולבצע שאילתה על הנתונים הקליניים.
  • ליצור אפליקציה לחיפוש נתונים בתחום הבריאות, ליצור מאגר נתונים בתחום הבריאות ולייבא נתוני FHIR R4 למאגר הנתונים במהלך תהליך יצירת האפליקציה, ולשאול שאילתות לגבי הנתונים הקליניים. מידע נוסף זמין במאמר יצירת אפליקציה לחיפוש מידע בתחום הבריאות.

בדף הזה נסביר על השיטה הראשונה.

מידע על תדירות ייבוא הנתונים

אפשר לייבא נתוני FHIR R4 למאגר נתונים בדרכים הבאות:

  • ייבוא באצווה: ייבוא חד-פעמי. הנתונים מיובאים למאגר נתונים בקבוצות. למידע נוסף על ייבוא מצטבר, אפשר לעיין במאמר בנושא רענון נתונים בתחום הבריאות.

  • ייבוא בסטרימינג: ייבוא נתונים בסטרימינג כמעט בזמן אמת. כל השינויים המצטברים במאגר FHIR של המקור מסונכרנים במאגר הנתונים של חיפוש מבוסס סוכנים. סטרימינג דורש מחבר נתונים, שהוא סוג של מאגר נתונים. כדי ליצור מחבר נתונים, צריך להגדיר אוסף. מחבר נתונים מכיל ישות, שהיא גם מופע של מאגר נתונים.

    אפשר גם להשהות את הסטרימינג ולהמשיך אותו, ולבצע סנכרון ידני כשצריך. מידע נוסף זמין במאמר בנושא ניהול מאגר נתונים של חיפושים בתחום הבריאות.

    קצב הזרמת הנתונים לפרויקט Google Cloud מסוים תלוי במכסות הבאות. אם תחרגו מהמכסה, יכול להיות שתיתקלו בעיכובים בהזרמת התוכן.

    • מספר הכתיבות בסטרימינג של FHIR או BigQuery שממתינות בכל דקה. מידע נוסף זמין במאמר מכסות ומגבלות.
    • מספר פעולות הקריאה של FHIR לדקה בכל אזור. מידע נוסף מופיע במאמר בנושא מכסות של Cloud Healthcare API FHIR.

אפשר לבחור את תדירות ייבוא הנתונים בזמן יצירת מאגר הנתונים, ואי אפשר לשנות את ההגדרה הזו בהמשך.

לפני שמתחילים

לפני שיוצרים את מאגר הנתונים של שירותי הבריאות ומייבאים אליו נתונים, חשוב להבין את הנקודות הבאות:

  • הקשר בין אפליקציות למאגרי נתונים לחיפוש בתחום הבריאות. מידע נוסף מופיע במאמר בנושא אפליקציות ומאגרי נתונים.

  • הכנת נתוני FHIR להטמעה.

  • התכונה Agent Search for healthcare מספקת שירותי חיפוש רק באזור הגיאוגרפי המורכב מאזורים רבים בארה"ב (us). לכן, אפליקציית החיפוש ומאגרי הנתונים שלכם בתחום הבריאות צריכים להיות ממוקמים באזור הגיאוגרפי המורכב מאזורים רבים us.

  • אם אתם מייבאים נתונים בתחום הבריאות ממאגר FHIR של Cloud Healthcare API בפרויקט אחד Google Cloud למאגר נתונים של חיפוש מבוסס סוכנים בפרויקט אחר Google Cloud ואתם משתמשים ב-VPC Service Controls, שני הפרויקטים צריכים להיות באותו גבולות גזרה.

יצירת מאגר נתונים וייבוא הנתונים

אתם יכולים ליצור מאגר נתונים ולייבא את נתוני FHIR R4 באמצעותGoogle Cloud המסוף או ה-API, באחת מהדרכים הבאות:

יצירת מאגר נתונים סטטי וביצוע ייבוא חד-פעמי של אצווה

בקטע הזה מוסבר איך ליצור מאגר נתונים של חיפוש מבוסס סוכנים שבו אפשר לבצע רק ייבוא באצ'ים. אתם יכולים לייבא נתונים בכמויות גדולות כשאתם יוצרים את מאגר הנתונים בפעם הראשונה, ולבצע ייבוא מצטבר של נתונים בכמויות גדולות כשצריך.

המסוף

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. בתפריט הניווט, לוחצים על מאגרי נתונים.

  3. לוחצים על יצירת מאגר נתונים.

  4. בחלונית בחירת מקור נתונים, בוחרים באפשרות Healthcare API (FHIR) כמקור הנתונים.
  5. כדי לייבא נתונים ממאגר FHIR, מבצעים אחת מהפעולות הבאות:
    • בוחרים את מאגר ה-FHIR מתוך רשימת מאגרי ה-FHIR הזמינים:
      1. מרחיבים את השדה FHIR store.
      2. ברשימה הזו, בוחרים מערך נתונים שנמצא במיקום מותר, ואז בוחרים מאגר FHIR שמשתמש ב-FHIR בגרסה R4.
    • מזינים את מאגר ה-FHIR באופן ידני:
      1. מרחיבים את השדה FHIR store.
      2. לוחצים על הזנת מאגר FHIR באופן ידני.
      3. בתיבת הדו-שיח FHIR store name (שם מאגר FHIR), מזינים את השם המלא של מאגר FHIR בפורמט הבא:

        project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID

      4. לוחצים על Save.
  6. בקטע סנכרון, בוחרים באחת מהאפשרויות הבאות. אי אפשר לשנות את הבחירה הזו אחרי שיוצרים את מאגר הנתונים.
    • חד-פעמי: כדי לבצע ייבוא חד-פעמי של נתונים באצווה. למידע נוסף על ייבוא מצטבר, אפשר לעיין במאמר בנושא רענון נתונים בתחום הבריאות.
    • סטרימינג: כדי לבצע ייבוא של נתונים בסטרימינג כמעט בזמן אמת. כדי להזרים נתונים, צריך ליצור מחבר נתונים, שהוא סוג של מאגר נתונים. כדי להגדיר מאגר נתונים של סטרימינג באמצעות API בארכיטקטורת REST, צריך לפנות ל-Customer Engineer.
  7. בקטע מה הסכימה של הנתונים האלה?, בוחרים באחת מהאפשרויות הבאות:
    • סכימה מוגדרת מראש של Google: כדי לשמור את הגדרות הסכימה שהוגדרו על ידי Google, כמו זמינות להוספה לאינדקס, קלות החיפוש ואפשרות אחזור, עבור רכיבי FHIR ומשאבים נתמכים. אחרי שבוחרים באפשרות הזו, אי אפשר לעדכן את הסכימה אחרי שיוצרים את מאגר הנתונים. אם רוצים לשנות את הסכימה אחרי יצירת מאגר הנתונים, בוחרים באפשרות סכימה בהתאמה אישית.
      1. לוחצים על Continue.
      2. בשדה Your data store name, מזינים שם למאגר הנתונים.
      3. לוחצים על יצירה.
      4. מאגר הנתונים שיצרתם מופיע בדף מאגרי נתונים.

    • סכימה מותאמת אישית: כדי להגדיר את תצורות הסכימה שלכם, כמו זמינות להוספה לאינדקס, קלות החיפוש ואפשרות לאחזור, עבור משאבי FHIR ורכיבים נתמכים. כדי להגדיר סכימה שאפשר להגדיר, צריך לפנות למהנדס הלקוחות.
      1. לוחצים על Continue.
      2. בודקים את הסכימה, מרחיבים כל שדה ועורכים את הגדרות השדה.
      3. לוחצים על הוספת שדות חדשים כדי להוסיף שדות חדשים במשאבי FHIR הנתמכים. אי אפשר להסיר את השדות שמופיעים בסכימה שהוגדרה על ידי Google.
      4. לוחצים על Continue.
      5. בשדה Your data connector name (השם של מחבר הנתונים), מזינים שם למחבר הנתונים.
      6. לוחצים על יצירה.
      7. מחבר הנתונים שיצרתם מופיע בדף מאגרי נתונים. מאגר ה-FHIR של המקור מתווסף כישות במחבר הנתונים.

  8. לוחצים על Continue.

REST

  1. יוצרים מאגר נתונים.

    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 .
    • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים שרוצים ליצור. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים.
    • DATA_STORE_DISPLAY_NAME: השם המוצג של מאגר הנתונים של חיפוש מבוסס סוכנים שרוצים ליצור.
    • CONFIGURABLE_SCHEMA_TRUE|FALSE: ערך בוליאני. אם הערך מוגדר כ-true, אפשר להגדיר את סכימת מאגר הנתונים באמצעות ה-method schema.update.
  2. אם מאגר ה-FHIR של המקור ומאגר הנתונים של חיפוש מבוסס סוכנים של היעד נמצאים באותו פרויקט 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 .
    • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
    • CLOUD_HEALTHCARE_DATASET_ID: המזהה של מערך הנתונים ב-Cloud Healthcare API שמכיל את מאגר ה-FHIR של המקור.
    • CLOUD_HEALTHCARE_DATASET_LOCATION: המיקום של מערך הנתונים של Cloud Healthcare API שמכיל את מאגר ה-FHIR של המקור.
    • FHIR_STORE_ID: המזהה של מאגר FHIR R4 ב-Cloud Healthcare API.
  3. אם מאגר ה-FHIR של המקור ומאגר הנתונים של חיפוש מבוסס סוכנים של היעד נמצאים בפרויקטים שונים 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: המזהה של Google Cloudהפרויקט שמכיל את מאגר הנתונים של חיפוש מבוסס סוכנים.
    • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
    • SOURCE_PROJECT_ID: המזהה של Google Cloudהפרויקט שמכיל את מערך הנתונים של Cloud Healthcare API ואת מאגר FHIR.
    • CLOUD_HEALTHCARE_DATASET_ID: המזהה של מערך הנתונים ב-Cloud Healthcare API שמכיל את מאגר ה-FHIR של המקור.
    • CLOUD_HEALTHCARE_DATASET_LOCATION: המיקום של מערך הנתונים של Cloud Healthcare API שמכיל את מאגר ה-FHIR של המקור.
    • FHIR_STORE_ID: המזהה של מאגר FHIR R4 ב-Cloud Healthcare API.

Python

מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Python.

כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

יצירת מאגר נתונים


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: "global"
# data_store_id = "YOUR_DATA_STORE_ID"


def create_data_store_sample(
    project_id: str,
    location: str,
    data_store_id: str,
) -> str:
    #  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.DataStoreServiceClient(client_options=client_options)

    # The full resource name of the collection
    # e.g. projects/{project}/locations/{location}/collections/default_collection
    parent = client.collection_path(
        project=project_id,
        location=location,
        collection="default_collection",
    )

    data_store = discoveryengine.DataStore(
        display_name="My Data Store",
        # Options: GENERIC, MEDIA, HEALTHCARE_FHIR
        industry_vertical=discoveryengine.IndustryVertical.GENERIC,
        # Options: SOLUTION_TYPE_RECOMMENDATION, SOLUTION_TYPE_SEARCH, SOLUTION_TYPE_CHAT, SOLUTION_TYPE_GENERATIVE_CHAT
        solution_types=[discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH],
        # TODO(developer): Update content_config based on data store type.
        # Options: NO_CONTENT, CONTENT_REQUIRED, PUBLIC_WEBSITE
        content_config=discoveryengine.DataStore.ContentConfig.CONTENT_REQUIRED,
    )

    request = discoveryengine.CreateDataStoreRequest(
        parent=parent,
        data_store_id=data_store_id,
        data_store=data_store,
        # Optional: For Advanced Site Search Only
        # create_advanced_site_search=True,
    )

    # Make the request
    operation = client.create_data_store(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.CreateDataStoreMetadata(operation.metadata)

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

    return operation.operation.name

ייבוא מסמכים

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)

המאמרים הבאים

יצירת מאגר נתונים של נתונים בזמן אמת והגדרת ייבוא של נתונים בזמן אמת

בקטע הזה מוסבר איך ליצור מאגר נתונים של חיפוש מבוסס סוכנים שמעביר באופן רציף שינויים ממאגר ה-FHIR של Cloud Healthcare API.

המסוף

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. בתפריט הניווט, לוחצים על מאגרי נתונים.

  3. לוחצים על יצירת מאגר נתונים.

  4. בחלונית בחירת מקור נתונים, בוחרים באפשרות Healthcare API (FHIR) כמקור הנתונים.
  5. כדי לייבא נתונים ממאגר FHIR, מבצעים אחת מהפעולות הבאות:
    • בוחרים את מאגר ה-FHIR מתוך רשימת מאגרי ה-FHIR הזמינים:
      1. מרחיבים את השדה FHIR store.
      2. ברשימה הזו, בוחרים מערך נתונים שנמצא במיקום מותר, ואז בוחרים מאגר FHIR שמשתמש ב-FHIR בגרסה R4.
    • מזינים את מאגר ה-FHIR באופן ידני:
      1. מרחיבים את השדה FHIR store.
      2. לוחצים על הזנת מאגר FHIR באופן ידני.
      3. בתיבת הדו-שיח FHIR store name (שם מאגר FHIR), מזינים את השם המלא של מאגר FHIR בפורמט הבא:

        project/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID

      4. לוחצים על Save.
  6. בקטע סנכרון, בוחרים באחת מהאפשרויות הבאות. אי אפשר לשנות את הבחירה הזו אחרי שיוצרים את מאגר הנתונים.
    • חד-פעמי: כדי לבצע ייבוא חד-פעמי של נתונים באצווה. למידע נוסף על ייבוא מצטבר, אפשר לעיין במאמר בנושא רענון נתונים בתחום הבריאות.
    • סטרימינג: כדי לבצע ייבוא של נתונים בסטרימינג כמעט בזמן אמת. כדי להזרים נתונים, צריך ליצור מחבר נתונים, שהוא סוג של מאגר נתונים. כדי להגדיר מאגר נתונים של סטרימינג באמצעות API בארכיטקטורת REST, צריך לפנות ל-Customer Engineer.
  7. בקטע מה הסכימה של הנתונים האלה?, בוחרים באחת מהאפשרויות הבאות:
    • סכימה מוגדרת מראש של Google: כדי לשמור את הגדרות הסכימה שהוגדרו על ידי Google, כמו זמינות להוספה לאינדקס, קלות החיפוש ואפשרות אחזור, עבור רכיבי FHIR ומשאבים נתמכים. אחרי שבוחרים באפשרות הזו, אי אפשר לעדכן את הסכימה אחרי שיוצרים את מאגר הנתונים. אם רוצים לשנות את הסכימה אחרי יצירת מאגר הנתונים, בוחרים באפשרות סכימה בהתאמה אישית.
      1. לוחצים על Continue.
      2. בשדה Your data store name, מזינים שם למאגר הנתונים.
      3. לוחצים על יצירה.
      4. מאגר הנתונים שיצרתם מופיע בדף מאגרי נתונים.

    • סכימה מותאמת אישית: כדי להגדיר את תצורות הסכימה שלכם, כמו זמינות להוספה לאינדקס, קלות החיפוש ואפשרות לאחזור, עבור משאבי FHIR ורכיבים נתמכים. כדי להגדיר סכימה שאפשר להגדיר, צריך לפנות למהנדס הלקוחות.
      1. לוחצים על Continue.
      2. בודקים את הסכימה, מרחיבים כל שדה ועורכים את הגדרות השדה.
      3. לוחצים על הוספת שדות חדשים כדי להוסיף שדות חדשים במשאבי FHIR הנתמכים. אי אפשר להסיר את השדות שמופיעים בסכימה שהוגדרה על ידי Google.
      4. לוחצים על Continue.
      5. בשדה Your data connector name (השם של מחבר הנתונים), מזינים שם למחבר הנתונים.
      6. לוחצים על יצירה.
      7. מחבר הנתונים שיצרתם מופיע בדף מאגרי נתונים. מאגר ה-FHIR של המקור מתווסף כישות במחבר הנתונים.

  8. לוחצים על Continue.

REST

  1. יוצרים מחבר נתונים כדי להגדיר סטרימינג.

    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 .
    • COLLECTION_ID: המזהה של האוסף שאליו רוצים להזרים את נתוני FHIR R4.
    • COLLECTION_NAME: השם של האוסף שאליו רוצים להזרים את נתוני FHIR R4.
    • SOURCE_PROJECT_ID: המזהה של Google Cloudהפרויקט שמכיל את מערך הנתונים של Cloud Healthcare API ואת מאגר FHIR.
    • CLOUD_HEALTHCARE_DATASET_ID: המזהה של מערך הנתונים ב-Cloud Healthcare API שמכיל את מאגר ה-FHIR של המקור.
    • CLOUD_HEALTHCARE_DATASET_LOCATION: המיקום של מערך הנתונים של Cloud Healthcare API שמכיל את מאגר ה-FHIR של המקור.
    • FHIR_STORE_ID: המזהה של מאגר FHIR R4 ב-Cloud Healthcare API.
    • CONFIGURABLE_SCHEMA_TRUE|FALSE: ערך בוליאני. אם הערך מוגדר כ-true, אפשר להגדיר את הסכימה של מאגר הנתונים באמצעות ה-method schema.update.
    • STATIC_INDEXING_TRUE|FALSE: ערך בוליאני. אם מגדירים את הערך ל-true, אפשר לייבא נתונים היסטוריים עם מכסת אינדוקס גבוהה יותר. האפשרות הזו שימושית כשצפוי נפח נתונים גבוה יותר באפליקציית החיפוש. עם זאת, לוקח יותר זמן לאנדקס רשומות בודדות. ‫Google ממליצה מאוד להגדיר את השדה הזה לערך true.
    • אם יצירת האוסף תצליח, מחבר נתונים יתווסף לרשימת מאגרי הנתונים בדף מאגרי נתונים במסוף Google Cloud .
    • מחבר הנתונים שנוצר מכיל ישות עם אותו שם כמו מאגר FHIR R4 שממנו מתבצע סטרימינג של הנתונים.

המאמרים הבאים

בדיקה של יצירת מאגר נתונים וייבוא נתוני FHIR

במשימה הזו מוסבר איך לוודא שמאגר נתונים נוצר בהצלחה ושהנתונים בפורמט FHIR יובאו למאגר הנתונים בהצלחה.

  • ב Google Cloud מסוף: בוחרים את מאגר הנתונים ומאמתים את הפרטים שלו.
  • באמצעות ה-API בארכיטקטורת REST:
    1. משתמשים בשיטה dataStores.get כדי לקבל את פרטי מאגר הנתונים של שירותי הבריאות.
    2. כדי לקבל את פרטי פעולת הייבוא, משתמשים בשיטה operations.get.

כדי לאמת את יצירת מאגר הנתונים ואת ייבוא הנתונים, מבצעים את השלבים הבאים.

המסוף

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. בתפריט הניווט, לוחצים על מאגרי נתונים.

    בדף מאגרי נתונים מוצגת רשימה של מאגרי נתונים בפרויקט Google Cloudעם הפרטים שלהם.

  3. בודקים אם מאגר הנתונים או מחבר הנתונים שיצרתם מופיעים ברשימת מאגרי הנתונים. ברשימת מאגרי הנתונים, מחבר נתונים שמעביר נתונים בסטרימינג מכיל מאגר נתונים עם אותו שם כמו מאגר ה-FHIR של Cloud Healthcare API.

  4. בוחרים את מאגר הנתונים או את מחבר הנתונים ומאמתים את הפרטים שלו.

    • למאגר נתונים:
      • בטבלת הסיכום מפורטים הפרטים הבאים:
        • המזהה, הסוג והאזור של מאגר הנתונים.
        • מספר המסמכים שמציין את מספר משאבי ה-FHIR שיובאו.
        • חותמת הזמן שבה יובא המסמך האחרון.
        • אפשר גם ללחוץ על הצגת פרטים כדי לראות את פרטי הייבוא של המסמך, כמו פרטים על ייבוא מוצלח, חלקי או שנכשל.
      • בכרטיסייה Documents (מסמכים) מופיעים מזהי המשאבים של משאבי ה-FHIR שיובאו וסוגי המשאבים שלהם בטבלה עם חלוקה לדפים. אפשר לסנן את הטבלה הזו כדי לוודא שמשאב מסוים יובא.
      • בכרטיסייה פעילות מפורטים פרטי הייבוא של המסמך, כמו פרטים על ייבוא מוצלח, חלקי או שנכשל.
    • למחבר נתונים:
      • בטבלת הסיכום מפורטים הפרטים הבאים:
        • המזהה, הסוג והאזור של האוסף.
        • השם של האפליקציה המקושרת.
        • הסטטוס של המחבר, שהוא פעיל או מושהה.
      • בטבלה Entities (ישויות) מוצגת הישות במחבר הנתונים. שם הישות הוא שם מאגר ה-FHIR של המקור. המזהה של הישות הוא המזהה של מחבר הנתונים בתוספת שם מאגר ה-FHIR של המקור.
        • לוחצים על שם הישות כדי לראות את הפרטים שלה. ישות היא מופע של מאגר נתונים במחבר נתונים, ולכן פרטי הישות זהים לפרטי מאגר הנתונים.
  5. בכרטיסייה Schema, אפשר לראות את המאפיינים של משאבי FHIR ורכיבים נתמכים. לוחצים על עריכה כדי להגדיר את הסכימה.

REST

  1. בודקים שיצרתם את מאגר הנתונים.

    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 .
    • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
  2. בודקים אם פעולת הייבוא של נתוני 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 .
    • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
    • IMPORT_OPERATION_ID: מזהה הפעולה של הפעולה הממושכת שמוחזר כשמפעילים את השיטה import

המאמרים הבאים