Healthcare Natural Language API verwenden

Auf dieser Seite wird erläutert, wie Sie die Healthcare Natural Language API aktivieren, Berechtigungen konfigurieren und die Methode aufrufen, um medizinische Informationen aus medizinischem Text zu extrahieren.analyzeEntities

Übersicht

Die Healthcare Natural Language API bietet Lösungen für maschinelles Lernen, mit denen sich Informationen aus medizinischen Texten ableiten lassen. Die Healthcare Natural Language API ist Teil der Cloud Healthcare API. Eine Übersicht über die Healthcare Natural Language API finden Sie in der Dokumentation zu Konzepten der Healthcare Natural Language API.

Die Healthcare Natural Language API parst unstrukturierten medizinischen Text, z. B. Krankenakten oder Versicherungsansprüche. Anschließend wird eine strukturierte Datendarstellung der in diesen Datenquellen gespeicherten medizinischen Wissensentitäten für eine nachgelagerte Analyse und Automatisierung erstellt. Beispiele:

  • Informationen zu medizinischen Konzepten wie Krankheiten, Medikamenten, medizinischen Geräten, Verfahren und ihren klinisch relevanten Attributen extrahieren
  • Medizinische Konzepte zu medizinischem Standardvokabular wie RxNorm, ICD-10, MeSH und SNOMED CT zuordnen (nur für Nutzer in den USA und Großbritannien)
  • Medizinische Informationen aus Texten gewinnen und in Datenanalyseprodukte in einbinden Google Cloud

Verfügbare Standorte

Die Healthcare Natural Language API ist in den folgenden Ländern verfügbar:

Standortname Standortbeschreibung
asia-south1 Mumbai, Indien
australia-southeast1 Sydney, Australien
europe-west2 London, Großbritannien
europe-west4 Niederlande
northamerica-northeast1 Montreal, Kanada
us-central1 Iowa, USA

Healthcare Natural Language API aktivieren

Bevor Sie die Healthcare Natural Language API verwenden, müssen Sie die API für Ihr Google Cloud Projekt aktivieren. Sie können die Healthcare Natural Language API verwenden, ohne Funktionen der Cloud Healthcare API zu aktivieren oder zu verwenden.

Führen Sie folgende Schritte aus, um die API zu aktivieren:

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the Project > Owner role to the service account.

      To grant the role, find the Select a role list, then select Project > Owner.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  5. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  6. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator) and the Project IAM Admin role (roles/resourcemanager.projectIamAdmin). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the Project > Owner role to the service account.

      To grant the role, find the Select a role list, then select Project > Owner.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  10. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  11. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  12. Aktivieren Sie die Cloud Healthcare API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen.

    API aktivieren

  13. Installieren Sie die Google Cloud CLI.

  14. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  15. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init

Berechtigungen einrichten

Für die Verwendung dieser Features benötigen Sie die Berechtigung healthcare.nlpservice.analyzeEntities, die in der Rolle healthcare.nlpServiceViewer enthalten ist.

Führen Sie zum Zuweisen dieser Rolle den gcloud projects add-iam-policy-binding Befehl aus:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member serviceAccount:SERVICE_ACCOUNT_ID \
    --role roles/healthcare.nlpServiceViewer

Entitäten, Beziehungen und Kontextattribute extrahieren

Die Healthcare Natural Language API verwendet kontextsensitive Modelle, um medizinische Entitäten, Beziehungen und Kontextattribute zu extrahieren. Jede Textentität wird in einen medizinischen Wörterbucheintrag extrahiert. Verwenden Sie die projects.locations.services.nlp.analyzeEntities Methode, um dieses Maß an medizinischen Informationen aus medizinischen Texten zu extrahieren.

Informationen zum Einbeziehen des lizenzierten SNOMED CT-Vokabulars in Ihre Entitätserwähnungen, siehe Lizenziertes Vokabular nutzen.

Wenn Sie mit der Healthcare Natural Language API medizinische Informationen aus medizinischem Text extrahieren möchten, stellen Sie eine POST Anfrage und geben Sie den Zieltext in dem documentContent Feld an. Die maximale Größe des medizinischen Textes beträgt 20.000 Unicode-Zeichen.

In den folgenden Beispielen wird gezeigt, wie Sie mit der Methode analyzeEntities medizinische Informationen aus dem medizinischen Text „Insulin regimen 5 units IV will be administered for diabetes.“ extrahieren.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID Ihres Google Cloud Projekts
  • LOCATION: der Standort des Datasets

JSON-Text der Anfrage:

{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes."
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

cat > request.json << 'EOF'
{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes."
}
EOF

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

@'
{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes."
}
'@  | Out-File -FilePath request.json -Encoding utf8

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities" | Select-Object -Expand Content

Ist die Anfrage erfolgreich, enthält die Antwort folgende Informationen:

  • Erkannte medizinische Wissensentitäten
  • Funktionale Funktionen
  • Beziehungen zwischen den erkannten Entitäten
  • Kontextbezogene Attribute
  • Zuordnungen der medizinischen Wissensentitäten in Standardterminologien

Eine Liste der unterstützten Entitäts-, Attribut- und Beziehungstypen finden Sie unter den Healthcare Natural Language API-Funktionen.

Die folgende Antwort identifiziert Therapeutic Insulin, die Entität mit dem Code C581 im NCI-Terminologiesystem, als Medikament. Die Antwort enthält auch den Konfidenzwert, der der Antwort zugewiesen ist. Weitere Informationen zu den Antwortfeldern finden Sie in der analyzeEntities Dokumentation.

Lizenziertes Vokabular nutzen

Standardmäßig enthalten die Antworten der Healthcare Natural Language API das unterstützte medizinische Vokabular.

Sie können das Vokabular SNOMED Clinical Terms, US Version (SNOMEDCT_US) in die Antwort einbeziehen, wenn Ihre Anfrage die folgenden Anforderungen erfüllt:

  • Die API-Anfrage stammt aus den USA.
  • Das Feld licensedVocabularies im Anfragetext hat den Wert SNOMEDCT_US.

Wenn Sie das SNOMED CT-Vokabular nicht benötigen, gelten diese Einschränkungen nicht.

Im folgenden Beispiel wird gezeigt, wie Sie das lizenzierte SNOMED CT-Vokabular in das LicensedVocabularies Objekt einbeziehen, um medizinische Informationen aus dem medizinischen Text „Insulin regimen 5 units IV will be administered for diabetes.“ zu extrahieren.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID Ihres Google Cloud Projekts
  • LOCATION: der Standort des Datasets

JSON-Text der Anfrage:

{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.",
  "licensedVocabularies": [
    "SNOMEDCT_US",
    "ICD10CM"
  ]
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

cat > request.json << 'EOF'
{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.",
  "licensedVocabularies": [
    "SNOMEDCT_US",
    "ICD10CM"
  ]
}
EOF

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

@'
{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.",
  "licensedVocabularies": [
    "SNOMEDCT_US",
    "ICD10CM"
  ]
}
'@  | Out-File -FilePath request.json -Encoding utf8

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities" | Select-Object -Expand Content
Ist die Anfrage erfolgreich, enthält die Antwort Vokabularcodes aus den lizenzierten Vokabularen SNOMEDCT_US und ICD10CM. Die Ausgabe ist die folgende und die angeforderten lizenzierten Vokabularcodes sind fett formatiert:

Ausgabe als FHIR R4-Bundle extrahieren

Sie können Entitäten aus Text extrahieren und FHIR R4-Ressourcen und -Elementen zuordnen. Das resultierende FHIR R4-Bundle enthält alle Entitäten, Entitätserwähnungen und Beziehungen im JSON-Format. Die Healthcare Natural Language API ordnet beispielsweise die Basisentität PROBLEM der FHIR R4-Ressource Condition und die Entität PROBLEM.ANATOMICAL_STRUCTURE dem FHIR-Element Condition.bodySite zu. Eine Liste weiterer Zuordnungen finden Sie unter Healthcare Natural Language API-Ausgabe als FHIR-Bundle.

In den folgenden Beispielen wird gezeigt, wie Sie medizinische Informationen aus dem medizinischen Text „Insulin regimen 5 units IV will be administered for diabetes.“ in einem FHIR R4-Bundle extrahieren. Weitere Informationen finden Sie unter AlternativeOutputFormat Objekt.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID Ihres Google Cloud Projekts
  • LOCATION: der Standort des Datasets

JSON-Text der Anfrage:

{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.",
  "alternativeOutputFormat": "FHIR_BUNDLE"
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

cat > request.json << 'EOF'
{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.",
  "alternativeOutputFormat": "FHIR_BUNDLE"
}
EOF

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

@'
{
  "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.",
  "alternativeOutputFormat": "FHIR_BUNDLE"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/nlp:analyzeEntities" | Select-Object -Expand Content
Ist die Anfrage erfolgreich, enthält die Antwort ein JSON-Objekt mit den folgenden Einträgen:
  • Die erkannten Entitätserwähnungen mit den Entitäten und ihren Beziehungen in einem Format, das der Ausgabe unter Entitäten, Beziehungen und Kontextattribute extrahieren ähnelt.
  • Ein fhirBundle-Schlüssel, der eine als String formatierte FHIR-Bundle-Ressource enthält. Das FHIR-Bundle enthält alle Entitäten, Entitätserwähnungen und Beziehungen im JSON-Format.