Auf dieser Seite wird erläutert, wie Sie die Healthcare Natural Language API aktivieren, Berechtigungen konfigurieren und die Methode analyzeEntities
aufrufen, um medizinische Informationen aus medizinischem Text zu extrahieren.
Ü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 US-Nutzer)
- Medizinische Informationen aus Texten gewinnen und in Datenanalyseprodukte in Google Cloud einbinden
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:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
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. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
Grant the Project > Owner role to the service account.
To grant the role, find the Select a role list, then select Project > Owner.
- Click Continue.
-
Click Done to finish creating the service account.
Do not close your browser window. You will use it in the next step.
-
-
Create a service account key:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
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. -
Enable the Cloud Healthcare API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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 Befehl gcloud projects add-iam-policy-binding
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 Methode projects.locations.services.nlp.analyzeEntities
, um dieses Maß an medizinischen Informationen aus medizinischen Texten zu extrahieren.
So fügen Sie das für SNOMED CT lizenzierte Vokabular in Ihre Entitätserwähnung ein: Siehe lizenziertes Vokabular einbeziehen.
Wenn Sie mit der Healthcare Natural Language API medizinische Erkenntnisse aus medizinischen Texten extrahieren möchten, senden Sie eine POST
-Anfrage und geben Sie den Zieltext in
die
documentContent
ein. Der medizinische Text darf maximal 20.000 Unicode-Zeichen enthalten.
Die folgenden Beispiele zeigen, wie die Methode analyzeEntities
zum Extrahieren verwendet wird
medizinische Erkenntnisse aus dem medizinischen Text „Insulinregimen 5 Einheiten IV wird
für Diabetes verabreicht werden.“
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist 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 in der Healthcare Natural Language API-Features.
Die folgende Antwort identifiziert therapeutisches Insulin, die Entität mit
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 Dokumentation zu analyzeEntities
.
Lizenziertes Vokabular einschließen
Healthcare Natural Language API-Antworten enthalten standardmäßig Folgendes: unterstütztes medizinisches Vokabular.
Sie können den Klinische SNOMED-Bedingungen, US-Version (SNOMEDCT_US) Vokabular in der Antwort, wenn Ihre Anfrage die folgenden Anforderungen erfüllt:
- Die API-Anfrage stammt aus den USA.
- Das Feld
licensedVocabularies
im Anfragetext hat den WertSNOMEDCT_US
.
Wenn das SNOMED-CT-Vokabular nicht benötigt wird, Es gelten Einschränkungen.
Das folgende Beispiel zeigt, wie Sie das für SNOMED CT lizenzierte Vokabular in den
LicensedVocabularies
Zu extrahierendes Objekt
medizinische Erkenntnisse aus dem medizinischen Text „Insulinregimen 5 Einheiten IV wird
für Diabetes verabreicht werden.“
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist 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
SNOMEDCT_US
und ICD10CM
lizenziertes Vokabular. Die Ausgabe
im Folgenden dargestellt und die angeforderten lizenzierten Vokabularcodes sind fett formatiert:
<ph type="x-smartling-placeholder">
Ausgabe als FHIR R4-Bundle extrahieren
Sie können Entitäten aus Text extrahieren und FHIR R4-Ressourcen zuordnen.
Elemente. Das resultierende FHIR R4-Bundle enthält alle Entitäten, Entitätserwähnungen,
und Beziehungen im JSON-Format. Beispiel: Der Parameter
Die Healthcare Natural Language API ordnet die Basisentität PROBLEM
dem FHIR Condition
zu.
R4-Ressource und die Entität PROBLEM.ANATOMICAL_STRUCTURE
mit der
Condition.bodySite
-FHIR-Element. Eine Liste anderer Zuordnungen finden Sie unter
Healthcare Natural Language API-Ausgabe als FHIR-Bundle.
Die folgenden Beispiele zeigen, wie Sie
medizinische Erkenntnisse aus dem medizinischen Text „Insulinregimen 5 Einheiten IV wird
bei Diabetes verabreicht werden.“ in einem FHIR R4-Bundle.
Weitere Informationen finden Sie unter
AlternativeOutputFormat
-Objekt enthält.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist 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
- </ph>
- Die anerkannte Entität erwähnt die Entitäten und ihre Beziehungen in einem Format, das der Ausgabe in <ph type="x-smartling-placeholder"></ph> Entitäten, Beziehungen und Kontextattribute extrahieren
- 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 die Beziehungen in JSON-Format.