Questa pagina spiega come abilitare l'API Healthcare Natural Language, configurare le autorizzazioni e chiamare il metodo analyzeEntities
per estrarre insight medici da testi medici.
Panoramica
L'API Healthcare Natural Language fornisce soluzioni di machine learning per ricavare insight da testi medici. L'API Healthcare Natural Language fa parte dell'API Cloud Healthcare. Per una panoramica dell'API Healthcare Natural Language, consulta la documentazione concettuale dell'API Healthcare Natural Language.
L'API Healthcare Natural Language analizza testi medici non strutturati come cartelle cliniche o richieste di risarcimento assicurativi. Genera quindi una rappresentazione dei dati strutturati delle entità delle conoscenze mediche archiviate in queste origini dati per l'analisi e l'automazione a valle. Ad esempio, puoi:
- Estrae informazioni su concetti medici come malattie, farmaci, dispositivi medici, procedure e caratteristiche clinicamente pertinenti
- Mappa i concetti medici a vocabolari medici standard come RxNorm, ICD-10, MeSH e SNOMED CT (solo utenti negli Stati Uniti)
- Estrazione di insight medici dal testo e integrazione con i prodotti di analisi dei dati in Google Cloud
Paesi in cui è disponibile il servizio
L'API Healthcare Natural Language è disponibile nelle seguenti località:
Nome della sede | Descrizione località |
---|---|
asia-south1 |
Mumbai, India |
australia-southeast1 |
Sydney, Australia |
europe-west2 |
Londra, Regno Unito |
europe-west4 |
Paesi Bassi |
northamerica-northeast1 |
Montréal, Canada |
us-central1 |
Iowa, Stati Uniti |
Abilita l'API Healthcare Natural Language
Prima di iniziare a utilizzare l'API Healthcare Natural Language, devi abilitare l'API per il tuo progetto Google Cloud. Puoi utilizzare l'API Healthcare Natural Language senza abilitare o utilizzare le funzionalità dell'API Cloud Healthcare.
Per abilitare l'API, completa i seguenti passaggi:
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Crea un account di servizio:
-
Nella console Google Cloud, vai alla pagina Crea account di servizio.
Vai a Crea account di servizio - Seleziona il progetto.
-
Nel campo Nome account di servizio, inserisci un nome. La console Google Cloud compila il campo ID account di servizio in base a questo nome.
Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio,
Service account for quickstart
. - Fai clic su Crea e continua.
-
Concedi il ruolo Project > Owner all'account di servizio.
Per concedere il ruolo, trova l'elenco Seleziona un ruolo e scegli Project > Owner.
- Fai clic su Continua.
-
Fai clic su Fine per completare la creazione dell'account di servizio.
Non chiudere la finestra del browser. La utilizzerai nel passaggio successivo.
-
-
Crea una chiave dell'account di servizio:
- Nella console Google Cloud, fai clic sull'indirizzo email dell'account di servizio che hai creato.
- Fai clic su Chiavi.
- Fai clic su Aggiungi chiave, quindi su Crea nuova chiave.
- Fai clic su Crea. Un file della chiave JSON viene scaricato sul computer.
- Fai clic su Chiudi.
-
Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
sul percorso del file JSON che contiene le tue credenziali. Questa variabile si applica solo alla sessione di shell attuale. Pertanto, se apri una nuova sessione, imposta di nuovo la variabile. -
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Crea un account di servizio:
-
Nella console Google Cloud, vai alla pagina Crea account di servizio.
Vai a Crea account di servizio - Seleziona il progetto.
-
Nel campo Nome account di servizio, inserisci un nome. La console Google Cloud compila il campo ID account di servizio in base a questo nome.
Nel campo Descrizione account di servizio, inserisci una descrizione. Ad esempio,
Service account for quickstart
. - Fai clic su Crea e continua.
-
Concedi il ruolo Project > Owner all'account di servizio.
Per concedere il ruolo, trova l'elenco Seleziona un ruolo e scegli Project > Owner.
- Fai clic su Continua.
-
Fai clic su Fine per completare la creazione dell'account di servizio.
Non chiudere la finestra del browser. La utilizzerai nel passaggio successivo.
-
-
Crea una chiave dell'account di servizio:
- Nella console Google Cloud, fai clic sull'indirizzo email dell'account di servizio che hai creato.
- Fai clic su Chiavi.
- Fai clic su Aggiungi chiave, quindi su Crea nuova chiave.
- Fai clic su Crea. Un file della chiave JSON viene scaricato sul computer.
- Fai clic su Chiudi.
-
Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
sul percorso del file JSON che contiene le tue credenziali. Questa variabile si applica solo alla sessione di shell attuale. Pertanto, se apri una nuova sessione, imposta di nuovo la variabile. -
Attiva Cloud Healthcare API.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
Configurare le autorizzazioni
Per utilizzare le funzionalità in questa guida, devi disporre dell'autorizzazione healthcare.nlpservice.analyzeEntities
, che è inclusa nel ruolo healthcare.nlpServiceViewer
.
Per assegnare questo ruolo, esegui il comando gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_ID \ --role roles/healthcare.nlpServiceViewer
Estrazione di entità, relazioni e attributi contestuali
L'API Healthcare Natural Language utilizza modelli sensibili al contesto per estrarre entità mediche, relazioni e attributi contestuali. Ogni entità di testo viene estratta
in una voce del dizionario medico. Per estrarre questo livello di insight medici dal testo medico, utilizza il metodo projects.locations.services.nlp.analyzeEntities
.
Per includere il vocabolario autorizzato di SNOMED CT nelle menzioni dell'entità, vedi Includi vocabolari autorizzati.
Per estrarre insight medici da testi medici utilizzando l'API Healthcare Natural Language, effettua una richiesta POST
e specifica il testo di destinazione nel campo documentContent
. La dimensione massima del testo medico è 20.000 caratteri Unicode.
I seguenti campioni mostrano come utilizzare il metodo analyzeEntities
per estrarre approfondimenti medici dal testo medico "Regime di insulina 5 unità IV verranno somministrate per il diabete".
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google CloudLOCATION
: la posizione del set di dati
Corpo JSON della richiesta:
{ "documentContent": "Insulin regimen 5 units IV will be administered for diabetes." }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
cat > request.json << 'EOF' { "documentContent": "Insulin regimen 5 units IV will be administered for diabetes." } EOF
Quindi esegui questo comando per inviare la richiesta REST:
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
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
@' { "documentContent": "Insulin regimen 5 units IV will be administered for diabetes." } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi esegui questo comando per inviare la richiesta REST:
$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
Se la richiesta ha esito positivo, la risposta include le seguenti informazioni:
- Entità della conoscenza medica riconosciute
- Caratteristiche funzionali
- Rapporti tra persone giuridiche riconosciute
- Attributi contestuali
- Mappature delle entità di conoscenza medica in terminologie standard
Per un elenco delle entità, degli attributi e dei tipi di relazioni supportati, consulta le funzionalità dell'API Healthcare Natural Language.
La seguente risposta identifica l'insulina terapeutica, l'entità con il codice C581
nel sistema terminologico NCI, come farmaco. La risposta include anche il punteggio di confidenza assegnato alla risposta. Per ulteriori informazioni sui campi di risposta, consulta la documentazione di analyzeEntities
.
Includi vocabolari autorizzati
Per impostazione predefinita, le risposte dell'API Healthcare Natural Language includono i vocabolari medici supportati.
Puoi includere il vocabolario SNOMED Clinical Terms, US Version (SNOMEDCT_US) nella risposta se la richiesta soddisfa i seguenti requisiti:
- La richiesta API ha origine negli Stati Uniti.
- Il campo
licensedVocabularies
nel corpo della richiesta ha il valoreSNOMEDCT_US
.
Se non hai bisogno del vocabolario SNOMED CT, non si applica nessuna di queste restrizioni.
Il seguente esempio mostra come includere il vocabolario autorizzato di SNOMED CT nell'oggetto LicensedVocabularies
per estrarre approfondimenti medici dal testo medico "Regime di insulina 5 unità IV verranno somministrate per il diabete".
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google CloudLOCATION
: la posizione del set di dati
Corpo JSON della richiesta:
{ "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.", "licensedVocabularies": [ "SNOMEDCT_US", "ICD10CM" ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
cat > request.json << 'EOF' { "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.", "licensedVocabularies": [ "SNOMEDCT_US", "ICD10CM" ] } EOF
Quindi esegui questo comando per inviare la richiesta REST:
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
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
@' { "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.", "licensedVocabularies": [ "SNOMEDCT_US", "ICD10CM" ] } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi esegui questo comando per inviare la richiesta REST:
$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
e ICD10CM
. L'output è il seguente e i codici del vocabolario autorizzati richiesti sono in grassetto:
Estrai l'output come bundle FHIR R4
Puoi estrarre entità dal testo e mapparle a risorse ed elementi FHIR R4. Il bundle FHIR R4 risultante include tutte le entità, le menzioni di entità e le relazioni in formato JSON. Ad esempio, l'API Healthcare Natural Language mappa l'entità di base PROBLEM
alla risorsa R4 FHIR Condition
e l'entità PROBLEM.ANATOMICAL_STRUCTURE
all'elemento FHIR Condition.bodySite
. Per un elenco di altre mappature, consulta Output dell'API Healthcare Natural Language come bundle FHIR.
I seguenti campioni mostrano come estrarre informazioni mediche dal testo medico "Regime di insulina 5 unità IV verranno somministrate per il diabete". in un bundle FHIR R4.
Per maggiori informazioni, consulta l'oggetto AlternativeOutputFormat
.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google CloudLOCATION
: la posizione del set di dati
Corpo JSON della richiesta:
{ "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.", "alternativeOutputFormat": "FHIR_BUNDLE" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
cat > request.json << 'EOF' { "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.", "alternativeOutputFormat": "FHIR_BUNDLE" } EOF
Quindi esegui questo comando per inviare la richiesta REST:
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
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
@' { "documentContent": "Insulin regimen 5 units IV will be administered for diabetes.", "alternativeOutputFormat": "FHIR_BUNDLE" } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi esegui questo comando per inviare la richiesta REST:
$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
- L'entità riconosciuta le menziona con le entità e le loro relazioni in un formato simile a quello dell'output in Estrai entità, relazioni e attributi contestuali.
- Una chiave
fhirBundle
contenente una risorsa bundle FHIR in formato stringa. Il bundle FHIR include tutte le entità, le menzioni dell'entità e le relazioni in formato JSON.