L'API Healthcare Natural Language fa parte dell'API Cloud Healthcare che utilizza modelli di linguaggio naturale per estrarre informazioni sanitarie da testi medici.
Questa guida concettuale spiega le nozioni di base sull'utilizzo dell'API Healthcare Natural Language, tra cui:
- I tipi di richieste che puoi inviare all'API Healthcare Natural Language
- Come creare richieste all'API Healthcare Natural Language
- Gestione delle risposte dell'API Healthcare Natural Language
Panoramica
L'API Healthcare Natural Language estrae le informazioni sanitarie dal testo medico. Queste informazioni sanitarie possono includere:
- Concetti medici, ad esempio farmaci, procedure e condizioni mediche
- Caratteristiche funzionali, come relazioni temporali, soggetti e valutazioni di certezza
- Relazioni, ad esempio effetti collaterali e dosaggio di farmaci
Scelta tra l'API Healthcare Natural Language e l'AutoML Entity Extraction for Healthcare
L'API Healthcare Natural Language offre modelli di linguaggio naturale preaddestrati per estrarre concetti e relazioni mediche dal testo medico. L'API Healthcare Natural Language mappa il testo in un insieme predefinito di categorie di conoscenze mediche.
AutoML Entity Extraction for Healthcare consente di creare un modello di estrazione delle entità personalizzato addestrato utilizzando il tuo testo medico annotato e le tue categorie. Per ulteriori informazioni, consulta la documentazione relativa all'estrazione delle entità AutoML per il settore sanitario.
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 |
Funzionalità dell'API Healthcare Natural Language
L'API Healthcare Natural Language ispeziona il testo medico per trovare concetti e relazioni mediche. Per eseguire l'analisi delle entità, puoi utilizzare il metodo
analyzeEntities
.
Richieste di analisi delle entità
L'API Healthcare Natural Language è un'API REST ed è composta da richieste e risposte JSON. Le seguenti sezioni mostrano come estrarre diverse informazioni mediche da un dato testo medico:
- Estrarre entità, relazioni e attributi contestuali
- Includi vocabolari autorizzati
- Estrai output come bundle FHIR R4
La richiesta di analisi delle entità contiene i seguenti campi:
documentContent
: dati per la richiesta, costituiti da testo medico. La dimensione massima del testo medico è 20.000 caratteri Unicode.licensedVocabularies[]
: facoltativo. Il vocabolario di SNOMED CT. Disponibile solo per gli utenti negli Stati Uniti.alternativeOutputFormat
: facoltativo. Il formato del bundle FHIR.
Campi di risposta dell'analisi delle entità
L'analisi delle entità restituisce un insieme di menzioni di conoscenze mediche, concetti medici e relazioni rilevate tra le menzioni di conoscenze mediche, tra cui:
entityMentions
: occorrenze di entità di conoscenza medica nel testo medico di origine. Ogni menzione di entità include i seguenti campi:mentionId
: un identificatore univoco di un'entità che viene menzionata nella risposta.type
: la categoria di conoscenze mediche della menzione dell'entità.text
: consiste nel campotextContent
e descrive l'estratto del testo medico contenente la menzione dell'entità eoffset
, la località della menzione dell'entità nel testo medico di origine.temporalAssessment
: specifica in che modo l'entità collegata è correlata alla menzione dell'entità, una traCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
oOTHER
.certaintyAssessment
: la negazione o qualifica del concetto medico, uno dei seguenti:LIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
oCONDITIONAL
.subject
: specifica l'argomento a cui si riferisce il concetto medico, uno traPATIENT
,FAMILY_MEMBER
oOTHER
.linkedEntities
: un elenco di concetti medici che potrebbero essere correlati alla menzione dell'entità. Le entità collegate specificanoentityId
, che collega un concetto medico a un'entità inentities
.
entities
: descrive i concetti medici dei campi delle entità collegate. Ogni entità viene descritta utilizzando i seguenti campi:entityId
: un identificatore univoco del campolinkedEntities
.preferredTerm
: un termine preferito per il concetto di medicina.vocabularyCodes
: la rappresentazione del concetto medico nei vocabolari medici supportati.
relationships
: definisci le relazioni dirette tra le menzioni delle entità. Nel campione, il soggetto della relazione è "Regime di insulina umana" e l'oggetto della relazione è "5 unità".confidence
: indica l'affidabilità del modello nella relazione sotto forma di numero compreso tra 0 e 1.
Oltre ai campi elencati, la risposta potrebbe contenere anche il campo additionalInfo
, che indica eventuali descrizioni aggiuntive sul tipo di menzione dell'entità.
Consulta la sezione Ulteriori informazioni.
Lingue supportate
L'API Healthcare Natural Language supporta solo l'estrazione di informazioni sanitarie dal testo in inglese.
Vocabolari medici supportati
L'API Healthcare Natural Language supporta i seguenti vocabolari medici:
- Modello di anatomia di base
- Ontologia genica
- Comitato per la nomenclatura genica di HUGO
- Ontologia del fenotipo umano
- Sistema di codifica per procedure ICD-10
- ICD-10 CM
- ICD-9-CM
- LOINC
- MeSH
- Argomenti sanitari di MedlinePlus
- Nomi di metathesaurus
- Tassonomia NCBI
- Thesaurus NCI
- Registro nazionale dei farmaci
- L'eredità di Mendel online nell'uomo
- RXNORM
- SNOMED CT (disponibile solo per utenti negli Stati Uniti)
Categorie di conoscenze mediche supportate
L'API Healthcare Natural Language assegna una categoria di conoscenze mediche al campo entityMentions.type
.
Di seguito è riportato un elenco delle categorie di conoscenze mediche supportate. I tipi di menzioni delle entità appartenenti ai gruppi di oncologia, determinanti sociali della salute (SDOH) e dati sanitari protetti (PHI) sono disponibili solo in Anteprima:
Gruppo | Categoria conoscenze mediche | Descrizione |
---|---|---|
Generico | ANATOMICAL_STRUCTURE
|
Parte complessa del corpo umano, come cellule, organi e sistemi. |
BODY_FUNCTION
|
Una funzione svolta dal corpo umano. | |
BF_RESULT
|
Il risultato di una funzione del corpo. | |
BODY_MEASUREMENT
|
Una normale misurazione del corpo umano, ad esempio i segni vitali, ottenuta senza analisi o procedure complesse con strumenti di base come un termometro o uno stetoscopio. | |
BM_RESULT
|
Il risultato di una misurazione corporea. | |
BM_UNIT
|
L'unità di misura del corpo. | |
BM_VALUE
|
Il valore della misurazione del corpo. | |
LABORATORY_DATA
|
I risultati di test su un campione corporeo. | |
LAB_RESULT
|
Una descrizione qualitativa dei dati di laboratorio, ad esempio "aumento", "diminuito", "positivo" o "negativo". | |
LAB_VALUE
|
Il valore di un'istanza dei dati di laboratorio. | |
LAB_UNIT
|
L'unità di misura del valore di laboratorio. | |
MEDICAL_DEVICE
|
Uno strumento fisico o virtuale. | |
MEDICINE
|
Un farmaco o altra preparazione per la cura o la prevenzione di una malattia. | |
MED_DOSE
|
Una dose di un farmaco. | |
MED_DURATION
|
Il periodo di somministrazione di un farmaco. | |
MED_FORM
|
Le caratteristiche fisiche di un farmaco specifico. | |
MED_FREQUENCY
|
La frequenza con cui viene assunto un farmaco. | |
MED_ROUTE
|
Sede del corpo in cui viene somministrato un farmaco. | |
MED_STATUS
|
Lo stato di un farmaco esistente, ad esempio "continua", "avvia", "riavvia", "interrompi", "interruttore", "aumenta" e "diminuisci". | |
MED_STRENGTH
|
La quantità di ingrediente attivo in una dose di un farmaco. | |
MED_UNIT
|
L'unità di misura del ingrediente attivo di un farmaco. | |
MED_TOTALDOSE
|
La quantità di farmaci da assumere in una volta. | |
PROBLEM
|
Una condizione medica, che include risultati e patologie. | |
PROCEDURE
|
Una procedura diagnostica o di trattamento. | |
PROCEDURE_RESULT
|
I risultati di una procedura. | |
PROC_METHOD
|
Il metodo utilizzato per condurre una procedura. | |
SEVERITY
|
La gravità della condizione medica. | |
SUBSTANCE_ABUSE
|
Descrizione dell'abuso di una sostanza psicoattiva. | |
Oncologia (anteprima) | CLINICAL_STATUS
|
Stato di un caso di cancro, ad esempio "attivo", "ricorrente", "recidiva" e "risolto". |
DATE
|
Un'annotazione della data, ad esempio la data della diagnosi, della procedura o della radioterapia. Estrae tutti gli elementi di una data e potrebbe non includere l'anno. | |
DIMENSIONS
|
Misurazioni di un tumore, di una massa o di una crescita anomala. | |
GENE_STUDIED
|
I geni studiati che direttamente o indirettamente portano alla formazione di tumori, come BRCA1, p53 e ALK. | |
HISTOLOGICAL_GRADE
|
Sistema di classificazione per valutare l'aspetto di una cellula cancro. | |
LAB_SPECIMEN
|
Materiale biologico raccolto dall'organismo per analisi o campionamento. | |
RADIATION_DOSAGE
|
La quantità di radiazioni somministrate a un paziente. | |
ONSET
|
Un'annotazione della data che rappresenta la data in cui un paziente ha osservato per la prima volta problemi correlati al cancro. | |
VARIATION_CODE
|
Un codice assegnato alla variante genomica specifica rilevata con un sistema di codifica principale, come ClinVar e HGVS. | |
Determinanti sociali della salute (SDoH) (anteprima) | AGE
|
Un identificatore di età. Include frasi che descrivono l'età, come "ha un'età inferiore a quella indicata", "mezza età", "78 anni" o "adolescente".
Nota: l'HIPAA classifica l'età di una persona come PHI solo se è superiore a 90 anni. Per saperne di più, consulta il riepilogo della normativa sulla privacy HIPAA. |
FAMILY
|
Frasi che descrivono la struttura familiare o i parenti di una paziente, ad esempio "sposato con due figli", "fratello", "moglie", "genitori che li sostengono" o "divorziato". | |
LIVING_SITUATION
|
Frasi che descrivono la situazione di vita del paziente, come "con coinquilini", "ha un infermiere domiciliare 24 ore su 24, 7 giorni su 7" o "si è trasferito di recente". | |
SOCIAL_IDENTITY
|
Frasi che descrivono l'identità sociale del paziente o della famiglia, inclusi gruppo etnico, orientamento sessuale, religione, nazionalità, lingue parlate o non parlate o paese di origine. | |
PHYSICAL_APPEARANCE
|
Frasi che descrivono il tratto fisico più evidente del paziente o della famiglia, come "cicatrice sulla guancia destra", "sindrome di Down", "obeso" o "gamba sinistra amputata". | |
OCCUPATION
|
Frasi che descrivono l'occupazione e la condizione lavorativa del paziente o della famiglia, come "madre in pensione ", "ha lavorato come saldatore per 20 anni" o"l'anno scorso ha perso il lavoro". | |
Informazioni sanitarie riservate (Protected Health Information, PHI) (anteprima) | PERSON_NAME
|
L'identificatore del nome generico di una persona. Include titoli, ad esempio "Dr.", "Mrs." o "MD" |
ORGANIZATION_NAME
|
Identificatore di un'organizzazione medica che raccoglie dati di tipo PHI, ad esempio una clinica, una casa di riposo o un ospedale. | |
GENERIC_ID
|
Un ID generico che identifica cartelle cliniche, pazienti, medici, ospedali, ad esempio il codice fiscale del paziente o il numero di un fornitore. | |
LOCATION
|
Una posizione geografica che potrebbe contenere nomi e numeri di edifici, vie, città, stati o codici postali. | |
PHONE_NUMBER
|
Un numero per indicare un numero di telefono, un numero di fax o un numero di cercapersone. | |
EMAIL_ADDRESS
|
Un identificatore dell'indirizzo email. | |
URL
|
L'indirizzo di un sito web. | |
ZIPCODE
|
Un identificatore di codice postale. |
Categorie di funzionalità funzionali supportate
L'API Healthcare Natural Language può dedurre le caratteristiche o gli attributi funzionali di una menzione di entità dal contesto. Ad esempio, nell'affermazione
"La madre di Kusuma ha il diabete", la condizione "diabete" ha la funzionalità
funzionale di subject
FAMILY_MEMBER
.
Relazioni temporali
Le relazioni temporali restituite nel campo temporalAssessment
descrivono in che modo la menzione dell'entità è correlata al soggetto dal punto di vista temporale.
L'API Healthcare Natural Language supporta le seguenti relazioni temporali:
CURRENT
CLINICAL_HISTORY
FAMILY_HISTORY
UPCOMING
OTHER
Soggetti
I soggetti, restituiti nel campo subject
, descrivono la persona a cui si riferisce la menzione.
L'API Healthcare Natural Language supporta i seguenti argomenti:
PATIENT
FAMILY_MEMBER
OTHER
Valutazioni di certezza
Le valutazioni di certezza, restituite nel campo certaintyAssessment
, descrivono il livello di confidenza dell'autore delle note originale. Ad esempio, se la nota originale contiene "Il paziente ha mal di gola", la valutazione di certezza restituisce un valore LIKELY
per indicare la probabilità che il paziente abbia mal di gola per indicare la certezza di aver preso appunti. Se la nota originale contiene "Il paziente non ha il mal di gola", la valutazione di certezza restituisce un valore UNLIKELY
per indicare l'affidabilità dell'autore delle note che era improbabile che il paziente avesse mal di gola.
Le valutazioni di certezza possono avere uno dei seguenti valori:
LIKELY
SOMEWHAT_LIKELY
UNCERTAIN
SOMEWHAT_UNLIKELY
UNLIKELY
CONDITIONAL
Informazioni aggiuntive
Il campo additionalInfo
fornisce ulteriori dettagli su una menzione di entità. Ad esempio, il campo additionalInfo
per una menzione di entità DATE
potrebbe contenere dettagli sul tipo di data, classificati come uno dei seguenti:
ADMISSION_DATE
CONSULTATION_DATE
DISCHARGE_DATE
SERVICE_DATE
VISIT_DATE
DIAGNOSIS_DATE
MED_STARTED_DATE
MED_ENDED_DATE
NOTE_DATE
PROCEDURE_DATE
RADIATION_STARTED_DATE
RADIATION_ENDED_DATE
STAGE_DATE
Relazioni supportate tra menzioni di entità
L'API Healthcare Natural Language può dedurre le relazioni tra le menzioni
delle entità in base al testo medico circostante. Nella risposta, il soggetto della relazione è identificato da subjectId
e l'oggetto della relazione è identificato da objectId
.
L'API Healthcare Natural Language supporta le seguenti relazioni tra le menzioni delle entità:
Oggetto | Oggetto |
---|---|
ANATOMICAL_STRUCTURE |
MEDICAL_DEVICE |
BODY_FUNCTION |
BF_RESULT |
BODY_MEASUREMENT |
BM_RESULT |
BODY_MEASUREMENT |
BM_UNIT |
BODY_MEASUREMENT |
BM_VALUE |
LABORATORY_DATA |
LAB_RESULT |
LABORATORY_DATA |
LAB_UNIT |
LABORATORY_DATA |
LAB_VALUE |
MEDICINE |
MED_DOSE |
MEDICINE |
MED_DURATION |
MEDICINE |
MED_FORM |
MEDICINE |
MED_FREQUENCY |
MEDICINE |
MED_ROUTE |
MEDICINE |
MED_STATUS |
MEDICINE |
MED_STRENGTH |
MEDICINE |
MED_TOTALDOSE |
MEDICINE |
MED_UNIT |
PROBLEM |
ANATOMICAL_STRUCTURE |
PROBLEM |
MEDICINE |
PROBLEM |
PROCEDURE |
PROBLEM |
SEVERITY |
PROCEDURE |
ANATOMICAL_STRUCTURE |
PROCEDURE |
PROC_METHOD |
PROCEDURE |
PROCEDURE_RESULT |
SUBSTANCE_ABUSE |
SEVERITY |
Output dell'API Healthcare Natural Language come pacchetto FHIR
Quando richiedi il metodo analyzeEntities
con il campo
alternativeOutputFormat
impostato su FHIR_BUNDLE
, la risposta include i seguenti oggetti JSON:
- L'entità menziona, le entità e le relazioni
- Un bundle FHIR R4 rappresentato come una stringa, che include tutte le entità, le menzioni dell'entità e le relazioni in formato JSON
Per creare il bundle FHIR R4, l'API Healthcare Natural Language mappa le menzioni, le entità e le relazioni dell'entità alle risorse FHIR e ai loro elementi. Nella tabella seguente sono elencate alcune di queste mappature.
Menzioni di entità API Healthcare Natural Language | Categoria di conoscenze mediche | Risorse ed elementi FHIR R4 |
---|---|---|
PROBLEM |
Condition |
|
PROBLEM |
Condition.category |
|
PROBLEM |
Condition.status |
|
PROBLEM |
ANATOMICAL_STRUCTURE |
Condition.bodySite |
PROBLEM |
ANATOMICAL_STRUCTURE |
Condition.evidence |
PROBLEM |
SEVERITY |
Condition.severity |
PROCEDURE |
Procedure |
|
PROCEDURE |
Procedure.status |
|
PROCEDURE |
Procedure.code |
|
PROCEDURE |
ANATOMICAL_STRUCTURE |
Procedure.bodySite |
PROCEDURE |
MEDICAL_DEVICE |
Procedure.usedCode |
PROCEDURE |
PROBLEM |
Procedure.reasonReference |
MEDICINE |
MedicationStatement |
|
MEDICINE |
MedicationStatement.status |
|
MEDICINE |
MedicationStatement.medication |
|
MEDICINE |
PROBLEM |
MedicationStatement.reasonReference |
MEDICINE |
MED_DOSE |
MedicationStatement.dosage.doseAndRate.doseQuantity |
MEDICINE |
MED_FREQUENCY |
MedicationStatement.dosage.text |
MEDICINE |
MED_ROUTE |
MedicationStatement.dosage.route |
MEDICINE |
MED_STRENGTH |
MedicationStatement.dosage.doseAndRate.doseQuantity |
MEDICINE |
MED_UNIT |
MedicationStatement.dosage.doseAndRate.doseQuantity |
Per estrarre le entità dal testo come bundle FHIR R4, consulta Estrai l'output come un bundle FHIR R4.