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 fare all'API Healthcare Natural Language
- Come creare richieste all'API Healthcare Natural Language
- Come gestire le risposte dell'API Healthcare Natural Language
Panoramica
L'API Healthcare Natural Language estrae informazioni sanitarie da testi medici. Queste informazioni sanitarie possono includere:
- Concetti medici, come farmaci, procedure e patologie
- Funzionalità funzionali, come relazioni temporali, soggetti e valutazioni di certezza
- Relazioni, come effetti collaterali e dosaggio dei farmaci
Scegliere tra l'API Healthcare Natural Language e AutoML Entity Extraction for Healthcare
L'API Healthcare Natural Language offre modelli di linguaggio naturale preaddestrati per estrarre concetti e relazioni mediche da testi medici. L'API Healthcare Natural Language mappa il testo in un insieme predefinito di categorie di conoscenze mediche.
AutoML Entity Extraction for Healthcare ti consente di creare un modello di estrazione di entità personalizzato addestrato utilizzando il tuo testo medico annotato e le tue categorie. Per saperne di più, consulta la documentazione di AutoML Entity Extraction for Healthcare.
Paesi in cui è disponibile il servizio
L'API Healthcare Natural Language è disponibile nelle seguenti località:
Nome della sede | Descrizione della sede |
---|---|
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 esamina il testo medico per individuare concetti e relazioni mediche. Esegui l'analisi delle entità utilizzando il metodo
analyzeEntities
.
Richieste di analisi delle entità
L'API Healthcare Natural Language è un'API REST ed è composta da richieste e risposte JSON. Le sezioni seguenti mostrano come estrarre diverse informazioni mediche da un determinato testo medico:
- Estrazione di entità, relazioni e attributi contestuali
- Includi vocabolari concessi in licenza
- Estrai l'output come bundle FHIR R4
La richiesta di analisi dell'entità contiene i seguenti campi:
documentContent
: I dati per la richiesta, costituiti da testo medico. La dimensione massima del testo medico è di 20.000 caratteri Unicode.licensedVocabularies[]
: Facoltativo. Il vocabolario 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 citazioni di conoscenze mediche rilevate, concetti medici e relazioni tra le citazioni di conoscenze mediche, tra cui:
entityMentions
: occorrenze di entità di conoscenza medica nel testo medico di origine. Ogni menzione di un'entità ha i seguenti campi:mentionId
: un identificatore univoco per una menzione di entità nella risposta.type
: la categoria di conoscenze mediche della menzione dell'entità.text
: è costituito dal campotextContent
e descrive l'estratto del testo medico contenente la menzione dell'entità eoffset
, la posizione della menzione dell'entità nel testo medico di origine.temporalAssessment
: specifica la relazione tra l'entità collegata e la menzione dell'entità, uno traCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
oOTHER
.certaintyAssessment
: la negazione o la qualificazione del concetto medico, uno traLIKELY
,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 a questa 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à è descritta utilizzando i seguenti campi:entityId
: un identificatore univoco del campolinkedEntities
.preferredTerm
: un termine preferito per il concetto medico.vocabularyCodes
: la rappresentazione del concetto medico nei vocabolari medici supportati.
relationships
: definisci le relazioni dirette tra le menzioni di entità. Nell'esempio, il soggetto della relazione è "Insulin regimen human" e l'oggetto della relazione è "5 units".confidence
: un'indicazione della confidenza del modello nella relazione come numero compreso tra 0 e 1.
Oltre ai campi elencati, la risposta potrebbe contenere anche il campo additionalInfo
, che indica qualsiasi descrizione aggiuntiva sul tipo di menzione dell'entità.
Consulta la sezione Informazioni aggiuntive.
Lingue supportate
L'API Healthcare Natural Language supporta solo l'estrazione di informazioni sanitarie da testi in inglese.
Vocabolari medici supportati
L'API Healthcare Natural Language supporta i seguenti vocabolari medici:
- Foundational Model of Anatomy
- Gene Ontology
- HUGO Gene Nomenclature Committee
- Ontologia del fenotipo umano
- ICD-10 Procedure Coding System
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- Argomenti di salute di MedlinePlus
- Metathesaurus Names
- Tassonomia NCBI
- NCI Thesaurus
- National Drug File
- Online Mendelian Inheritance in Man
- RXNORM
- SNOMED CT (disponibile solo per gli utenti statunitensi)
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 menzione di entità che appartengono ai gruppi oncologia, determinanti sociali della salute (SDOH) e informazioni sanitarie protette (PHI) sono disponibili solo in anteprima:
Gruppo | Categoria di conoscenze mediche | Descrizione |
---|---|---|
Generale | ANATOMICAL_STRUCTURE
|
Una 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 misurazione normale del corpo umano, come i segni vitali, ottenuta senza test o procedure complesse utilizzando strumenti di base, come un termometro o uno stetoscopio. | |
BM_RESULT
|
Il risultato di una misurazione corporea. | |
BM_UNIT
|
L'unità di misura per una misurazione corporea. | |
BM_VALUE
|
Il valore di una misurazione corporea. | |
LABORATORY_DATA
|
I risultati del test di un campione biologico. | |
LAB_RESULT
|
Una descrizione qualitativa dei dati di laboratorio, ad esempio "aumentato", "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 un altro preparato per il trattamento 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
|
Una posizione del corpo in cui viene somministrato un farmaco. | |
MED_STATUS
|
Lo stato di un farmaco esistente, ad esempio "continua", "inizia", "riavvia", "interrompi", "cambia", "aumenta" e "diminuisci". | |
MED_STRENGTH
|
La quantità di principio attivo in una dose di un farmaco. | |
MED_UNIT
|
L'unità di misura del principio attivo di un farmaco. | |
MED_TOTALDOSE
|
La quantità di farmaco da assumere in una sola volta. | |
PROBLEM
|
Una condizione medica, inclusi risultati e malattie. | |
PROCEDURE
|
Una procedura diagnostica o di trattamento. | |
PROCEDURE_RESULT
|
I risultati di una procedura. | |
PROC_METHOD
|
Il metodo utilizzato per eseguire una procedura. | |
SEVERITY
|
La gravità della patologia. | |
SUBSTANCE_ABUSE
|
Una descrizione dell'abuso di una sostanza psicoattiva. | |
Oncologia (anteprima) | CLINICAL_STATUS
|
Lo stato di un caso di cancro, ad esempio "attivo", "ricorrente", "recidivo" e "risolto". |
DATE
|
Un'annotazione di data, ad esempio la data della diagnosi, dell'intervento o di un trattamento di radioterapia. Estrae tutti gli elementi di una data e potrebbe non includere l'anno. | |
DIMENSIONS
|
Le misurazioni di un tumore, una massa o una crescita anomala. | |
GENE_STUDIED
|
I geni studiati che portano direttamente o indirettamente alla formazione di tumori, come BRCA1, p53 e ALK. | |
HISTOLOGICAL_GRADE
|
Un sistema di classificazione per valutare l'aspetto di una cellula cancerogena. | |
LAB_SPECIMEN
|
Materiale biologico raccolto dal corpo per test o campionamento. | |
RADIATION_DOSAGE
|
La quantità di radiazioni somministrate a un paziente. | |
ONSET
|
Un'annotazione di data per rappresentare 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 in un sistema di codifica principale come ClinVar e HGVS. | |
Determinanti sociali della salute (SDoH) (anteprima) | AGE
|
Un identificatore dell'età. Sono incluse frasi che descrivono l'età, come "sembra più giovane dell'età dichiarata", "di mezza età", "78 anni" o "adolescente".
Nota: la normativa HIPAA classifica l'età di una persona come PHI solo se superiore a 90 anni. Per saperne di più, consulta il Riepilogo della norma sulla privacy HIPAA. |
FAMILY
|
Frasi che descrivono la struttura familiare o i parenti del paziente, ad esempio "sposato con due figli", "fratello", "moglie", "genitori che lo sostengono" o "divorziato". | |
LIVING_SITUATION
|
Frasi che descrivono la situazione abitativa del paziente, ad esempio "con coinquilini", "ha un infermiere di assistenza 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, tra cui gruppo etnico, orientamento sessuale, religione, nazionalità, lingue parlate o non parlate o paese di origine. | |
PHYSICAL_APPEARANCE
|
Frasi che descrivono la caratteristica fisica più evidente del paziente o della famiglia, ad esempio "cicatrice sulla guancia destra", "sindrome di Down", "obeso" o "gamba sinistra amputata". | |
OCCUPATION
|
Frasi che descrivono l'occupazione e lo stato lavorativo del paziente o della famiglia, ad esempio "madre in pensione ", "ha lavorato come saldatore per 20 anni" o"ha perso il lavoro l'anno scorso". | |
Informazioni sanitarie protette (PHI) (anteprima) | PERSON_NAME
|
Un identificatore di nome generico per una persona. Include titoli, ad esempio "Dott.", "Sig.ra" o "Dott." |
ORGANIZATION_NAME
|
Un identificatore per un'organizzazione medica che raccoglie PHI, ad esempio una clinica, una casa di cura o un ospedale. | |
GENERIC_ID
|
Un ID generico che identifica cartelle cliniche, pazienti, medici, ospedali, ad esempio il numero di previdenza sociale del paziente o il numero di un fornitore. | |
LOCATION
|
Una posizione geografica che potrebbe contenere nomi e numeri di edifici, strade, città, stati o codici postali. | |
PHONE_NUMBER
|
Un numero per indicare un numero di telefono, di fax o di cercapersone. | |
EMAIL_ADDRESS
|
Un identificatore dell'indirizzo email. | |
URL
|
L'indirizzo di un sito web. | |
ZIPCODE
|
Un identificatore del codice postale. |
Categorie di funzionalità supportate
L'API Healthcare Natural Language può dedurre le caratteristiche funzionali o gli attributi di una menzione di entità dal contesto. Ad esempio, nell'affermazione
"La madre di Kusuma ha il diabete", la condizione "diabete" ha la caratteristica
funzionale di subject
FAMILY_MEMBER
.
Relazioni temporali
Le relazioni temporali, restituite nel campo temporalAssessment
, descrivono
il rapporto temporale tra questa menzione dell'entità e il soggetto.
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 dell'entità.
L'API Healthcare Natural Language supporta i seguenti argomenti:
PATIENT
FAMILY_MEMBER
OTHER
Valutazioni della certezza
Le valutazioni di certezza, restituite nel campo certaintyAssessment
, descrivono
la sicurezza dell'autore originale delle note. Ad esempio, se la nota originale
contiene "Il paziente ha mal di gola", la valutazione della certezza
restituisce un valore LIKELY
per indicare la certezza di chi ha preso la nota che
era probabile che il paziente avesse mal di gola. Se la nota originale contiene "Il paziente non ha mal di gola", la valutazione della certezza restituisce un valore UNLIKELY
per indicare la fiducia del compilatore della nota che era improbabile che il paziente avesse mal di gola.
Le valutazioni della 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 un'entità. Ad esempio, il campo additionalInfo
per una menzione dell'entità DATE
potrebbe
consistere in 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 le menzioni di entità
L'API Healthcare Natural Language può dedurre le relazioni tra le menzioni di 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 di 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 bundle FHIR
Quando richiedi il metodo analyzeEntities
con il campo
alternativeOutputFormat
impostato su FHIR_BUNDLE
, la risposta include i seguenti oggetti JSON:
- Le menzioni di entità, le entità e le relazioni
- Un bundle FHIR R4 rappresentato come una stringa, che include tutte le entità, le menzioni di entità e le relazioni in formato JSON
Per creare il bundle FHIR R4, l'API Healthcare Natural Language mappa le menzioni di entità, le entità e le relazioni con le risorse FHIR e i relativi elementi. La tabella seguente elenca alcuni di questi mapping.
Menzioni di entità dell'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 entità dal testo come pacchetto FHIR R4, consulta Estrarre l'output come pacchetto FHIR R4.