A API Healthcare Natural Language faz parte da Cloud Healthcare API que usa modelos de linguagem natural para extrair informações de saúde de texto médico.
Este guia conceptual explica os princípios básicos da utilização da API Natural Language para cuidados de saúde, incluindo:
- Os tipos de pedidos que pode fazer à API Natural Language para cuidados de saúde
- Como criar pedidos para a API Healthcare Natural Language
- Como processar respostas da API Healthcare Natural Language
Vista geral
A API Healthcare Natural Language extrai informações de saúde de texto médico. Estas informações de saúde podem incluir:
- Conceitos médicos, como medicamentos, procedimentos e condições médicas
- Funcionalidades funcionais, como relações temporais, assuntos e avaliações de certeza
- Relações, como efeitos secundários e dosagem de medicamentos
Escolher entre a API Healthcare Natural Language e a AutoML Entity Extraction for Healthcare
A API Healthcare Natural Language oferece modelos de linguagem natural pré-preparados para extrair conceitos e relações médicas de texto médico. A API Healthcare Natural Language mapeia texto num conjunto predefinido de categorias de conhecimentos médicos.
O AutoML Entity Extraction for Healthcare permite-lhe criar um modelo de extração de entidades personalizado preparado com o seu próprio texto médico anotado e usando as suas próprias categorias. Para mais informações, consulte a documentação do AutoML Entity Extraction for Healthcare.
Localizações disponíveis
A API Healthcare Natural Language está disponível nas seguintes localizações:
Nome da localização | Descrição da localização |
---|---|
asia-south1 |
Mumbai, Índia |
australia-southeast1 |
Sydney, Austrália |
europe-west2 |
Londres, Reino Unido |
europe-west4 |
Países Baixos |
northamerica-northeast1 |
Montreal, Canadá |
us-central1 |
Iowa, EUA |
Funcionalidades da API Healthcare Natural Language
A API Healthcare Natural Language inspeciona texto médico para encontrar conceitos e relações médicas. Faz a análise de entidades através do método
analyzeEntities
.
Pedidos de análise de entidades
A API Healthcare Natural Language é uma API REST e consiste em pedidos e respostas JSON. As secções seguintes mostram como extrair diferentes estatísticas médicas de um determinado texto médico:
- Extraia entidades, relações e atributos contextuais
- Inclua vocabulários licenciados
- Extraia o resultado como um pacote FHIR R4
O pedido de análise de entidades contém os seguintes campos:
documentContent
: Os dados do pedido, que consistem em texto médico. O tamanho máximo do texto médico é de 20 000 carateres Unicode.licensedVocabularies[]
: Opcional. O vocabulário SNOMED CT. Disponível apenas para utilizadores nos EUA.alternativeOutputFormat
: Opcional. O formato do pacote FHIR.
Campos de resposta da análise de entidades
A análise de entidades devolve um conjunto de menções de conhecimentos médicos detetadas, conceitos médicos e relações entre menções de conhecimentos médicos, incluindo o seguinte:
entityMentions
: ocorrências de entidades de conhecimentos médicos no texto médico de origem. Cada menção de entidade tem os seguintes campos:mentionId
: um identificador exclusivo de uma menção de entidade na resposta.type
: a categoria de conhecimento médico da menção da entidade.text
: consiste no campotextContent
e descreve o excerto do texto médico que contém a menção da entidade, eoffset
, a localização da menção da entidade no texto médico de origem.temporalAssessment
: especifica a relação entre a entidade associada e a menção da entidade, que pode serCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
ouOTHER
.certaintyAssessment
: a negação ou a qualificação do conceito médico, um dos valoresLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
ouCONDITIONAL
.subject
: especifica o assunto a que o conceito médico se refere, um dePATIENT
,FAMILY_MEMBER
ouOTHER
.linkedEntities
: uma lista de conceitos médicos que podem estar relacionados com esta menção de entidade. As entidades associadas especificam oentityId
, que associa um conceito médico a uma entidade ementities
.
entities
: descreve os conceitos médicos dos campos de entidades associadas. Cada entidade é descrita através dos seguintes campos:entityId
: um identificador exclusivo do campolinkedEntities
.preferredTerm
: um termo preferido para o conceito médico.vocabularyCodes
: a representação do conceito médico em vocabulários médicos suportados.
relationships
: definir relações direcionadas entre menções de entidades. No exemplo, o assunto da relação é "Insulin regimen human" e o objeto da relação é "5 units".confidence
: uma indicação da confiança do modelo na relação como um número entre 0 e 1.
Além dos campos indicados, a resposta também pode conter o campo additionalInfo
que indica qualquer descrição adicional sobre o tipo de menção de entidade.
Consulte Informações adicionais.
Idiomas suportados
A API Healthcare Natural Language só suporta a extração de informações de cuidados de saúde de texto em inglês.
Vocabulários médicos suportados
A API Healthcare Natural Language suporta os seguintes vocabulários médicos:
- Modelo de base de anatomia
- Ontologia de genes
- HUGO Gene Nomenclature Committee
- Ontologia do fenótipo humano
- ICD-10 Procedure Coding System
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- Tópicos de saúde do MedlinePlus
- Nomes do Metathesaurus
- Taxonomia do NCBI
- Tesauro do NCI
- National Drug File
- Online Mendelian Inheritance in Man
- RXNORM
- SNOMED CT (disponível apenas para utilizadores nos EUA)
Categorias de conhecimentos médicos suportadas
A API Healthcare Natural Language atribui uma categoria de conhecimentos médicos ao campo entityMentions.type
.
Segue-se uma lista das categorias de conhecimentos médicos suportadas. Os tipos de menções de entidades que pertencem aos grupos de oncologia, determinantes sociais de saúde (SDOH) e informações de saúde protegidas (PHI) só estão disponíveis na pré-visualização:
Grupo | Categoria de conhecimentos médicos | Descrição |
---|---|---|
Geral | ANATOMICAL_STRUCTURE
|
Uma parte complexa do corpo humano, como células, órgãos e sistemas. |
BODY_FUNCTION
|
Uma função realizada pelo corpo humano. | |
BF_RESULT
|
O resultado de uma função corporal. | |
BODY_MEASUREMENT
|
Uma medição normal do corpo humano, como os sinais vitais, obtida sem testes ou procedimentos complexos através de instrumentos básicos, como um termómetro ou um estetoscópio. | |
BM_RESULT
|
O resultado de uma medição corporal. | |
BM_UNIT
|
A unidade de uma medição corporal. | |
BM_VALUE
|
O valor de uma medição corporal. | |
LABORATORY_DATA
|
Os resultados dos testes de uma amostra corporal. | |
LAB_RESULT
|
Uma descrição qualitativa dos dados laboratoriais, como "aumentado", "diminuído", "positivo" ou "negativo". | |
LAB_VALUE
|
O valor de uma instância dos dados de laboratório. | |
LAB_UNIT
|
A unidade de medida do valor laboratorial. | |
MEDICAL_DEVICE
|
Um instrumento físico ou virtual. | |
MEDICINE
|
Um medicamento ou outra preparação para o tratamento ou a prevenção de uma doença. | |
MED_DOSE
|
Uma dose de um medicamento. | |
MED_DURATION
|
O período de administração de um medicamento. | |
MED_FORM
|
As caraterísticas físicas de um medicamento específico. | |
MED_FREQUENCY
|
A frequência com que um medicamento é tomado. | |
MED_ROUTE
|
Uma localização no corpo onde é administrado um medicamento. | |
MED_STATUS
|
O estado de um medicamento existente, como "continuar", "iniciar", "reiniciar", "parar", "mudar", "aumentar" e "diminuir". | |
MED_STRENGTH
|
A quantidade de ingrediente ativo numa dose de um medicamento. | |
MED_UNIT
|
A unidade de medida do ingrediente ativo num medicamento. | |
MED_TOTALDOSE
|
A quantidade de medicamento a tomar de uma só vez. | |
PROBLEM
|
Uma condição médica, incluindo conclusões e doenças. | |
PROCEDURE
|
Um procedimento de diagnóstico ou tratamento. | |
PROCEDURE_RESULT
|
Os resultados de um procedimento. | |
PROC_METHOD
|
O método usado para realizar um procedimento. | |
SEVERITY
|
A gravidade da condição médica. | |
SUBSTANCE_ABUSE
|
Uma descrição do abuso de uma substância psicoativa. | |
Oncologia (Pré-visualização) | CLINICAL_STATUS
|
O estado de um caso de cancro, como "ativo", "recorrente", "com recaída" e "resolvido". |
DATE
|
Uma anotação de data, como a data do diagnóstico, a data do procedimento ou a data de um tratamento de radiação. Extrai todos os elementos de uma data e pode não incluir o ano. | |
DIMENSIONS
|
As medições de um tumor, uma massa ou um crescimento anormal. | |
GENE_STUDIED
|
Os genes estudados que levam direta ou indiretamente à formação de tumores, como BRCA1, p53 e ALK. | |
HISTOLOGICAL_GRADE
|
Um sistema de classificação para classificar o aspeto de uma célula cancerígena. | |
LAB_SPECIMEN
|
Material biológico recolhido do corpo para testes ou amostragem. | |
RADIATION_DOSAGE
|
A quantidade de radiação administrada a um paciente. | |
ONSET
|
Uma anotação de data para representar a data em que um paciente observou pela primeira vez problemas relacionados com o cancro. | |
VARIATION_CODE
|
Um código atribuído à variante genómica específica que é detetada num sistema de codificação principal, como o ClinVar e o HGVS. | |
Determinantes sociais de saúde (DSS) (pré-visualização) | AGE
|
Um identificador de idade. Inclui expressões que descrevem a idade, como "parece mais jovem do que a idade indicada", "de meia-idade", "78 anos" ou "adolescente".
Nota: a HIPAA classifica a idade de uma pessoa como IPH apenas quando é superior a 90 anos. Para mais informações, consulte o Resumo da Regra de Privacidade da HIPAA. |
FAMILY
|
Expressões que descrevem a estrutura familiar ou os familiares do paciente, como "casado com dois filhos", "irmão", "mulher", "pais prestáveis" ou "divorciado". | |
LIVING_SITUATION
|
Expressões que descrevem a situação de vida do paciente, como "com colegas de quarto", "tem uma enfermeira em casa 24 horas por dia, 7 dias por semana" ou "mudou-se recentemente". | |
SOCIAL_IDENTITY
|
Expressões que descrevem a identidade social do paciente ou da família, incluindo raça, etnia, orientação sexual, religião, nacionalidade, idiomas falados ou não falados, ou país de origem. | |
PHYSICAL_APPEARANCE
|
Expressões que descrevem a característica física mais percetível ou evidente do paciente ou da família, como "cicatriz na bochecha direita", "síndrome de Down", "obeso" ou "perna esquerda amputada". | |
OCCUPATION
|
Expressões que descrevem a profissão e o estado de emprego do paciente ou da família, como "mãe reformada", "trabalhou como soldador durante 20 anos" ou "perdeu o emprego no ano passado". | |
Informações de saúde protegidas (PHI) (pré-visualização) | PERSON_NAME
|
Um identificador de nome genérico para uma pessoa. Inclui títulos, como "Dr." "Sra." ou "MD" |
ORGANIZATION_NAME
|
Um identificador de uma organização médica que recolhe IPH, como uma clínica, um lar de idosos ou um hospital. | |
GENERIC_ID
|
Um ID genérico que identifica registos médicos, pacientes, médicos, hospitais, como o SSN do paciente ou o número de um fornecedor. | |
LOCATION
|
Uma localização geográfica que pode conter nomes e números de edifícios, ruas, cidades, distritos ou códigos postais. | |
PHONE_NUMBER
|
Um número para indicar um número de telefone, um número de fax ou um número de pager. | |
EMAIL_ADDRESS
|
Um identificador de endereço de email. | |
URL
|
O endereço de um Website. | |
ZIPCODE
|
Um identificador de código postal. |
Categorias de funcionalidades funcionais suportadas
A API Healthcare Natural Language pode inferir funcionalidades funcionais ou atributos de uma menção de entidade a partir do contexto. Por exemplo, na declaração "A mãe de Kusuma tem diabetes", a condição "diabetes" tem a caraterística funcional de subject
FAMILY_MEMBER
.
Relações temporais
As relações temporais, devolvidas no campo temporalAssessment
, descrevem como esta menção de entidade se relaciona temporalmente com o assunto.
A API Healthcare Natural Language suporta as seguintes relações temporais:
CURRENT
CLINICAL_HISTORY
FAMILY_HISTORY
UPCOMING
OTHER
Assuntos
Os assuntos, devolvidos no campo subject
, descrevem o indivíduo a que a menção da entidade se refere.
A API Healthcare Natural Language suporta os seguintes assuntos:
PATIENT
FAMILY_MEMBER
OTHER
Avaliações de certeza
As avaliações de certeza, devolvidas no campo certaintyAssessment
, descrevem a confiança do autor das notas original. Por exemplo, se a nota original
contiver "O paciente tem dor de garganta", a avaliação da certeza
devolve um valor LIKELY
para indicar a confiança do autor da nota de que
era provável que o paciente tivesse dor de garganta. Se a nota original contiver "O paciente não tem
dor de garganta", a avaliação de certeza devolve um valor UNLIKELY
para indicar a confiança do autor da nota de que era improvável
que o paciente tivesse dor de garganta.
As avaliações de certeza podem ter um dos seguintes valores:
LIKELY
SOMEWHAT_LIKELY
UNCERTAIN
SOMEWHAT_UNLIKELY
UNLIKELY
CONDITIONAL
Informações adicionais
O campo additionalInfo
fornece detalhes adicionais sobre uma menção de entidade. Por exemplo, o campo additionalInfo
para uma menção de entidade DATE
pode consistir em detalhes sobre o tipo de data, categorizados como um dos seguintes:
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
Relações suportadas entre menções de entidades
A API Healthcare Natural Language pode inferir relações entre menções de entidades com base no texto médico circundante. Na resposta, o assunto da relação é identificado por subjectId
e o objeto da relação é identificado por objectId
.
A API Healthcare Natural Language suporta as seguintes relações entre menções de entidades:
Assunto | Objeto |
---|---|
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 |
Saída da API Healthcare Natural Language como um pacote FHIR
Quando pede o método analyzeEntities
com o campo alternativeOutputFormat
definido como FHIR_BUNDLE
, a resposta inclui os seguintes objetos JSON:
- As menções de entidades, as entidades e as relações
- Um pacote FHIR R4 representado como uma string, que inclui todas as entidades, as menções de entidades e as relações no formato JSON
Para criar o pacote FHIR R4, a API Healthcare Natural Language mapeia as menções de entidades, as entidades e as relações para recursos FHIR e os respetivos elementos. A tabela seguinte lista alguns destes mapeamentos.
Menções de entidades da API Healthcare Natural Language | Categoria de conhecimentos médicos | Recursos e elementos 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 |
Para extrair entidades de texto como um pacote FHIR R4, consulte o artigo Extraia a saída como um pacote FHIR R4.