A API Healthcare Natural Language que faz parte da API Cloud Healthcare que usa modelos de linguagem natural para extrair informações de saúde do texto médico.
Neste guia conceitual, explicamos os conceitos básicos de uso da API Natural Language, incluindo:
- Tipos de solicitações que você pode fazer para a API Natural Language
- Como criar solicitações para a API Natural Language
- Como lidar com as respostas da API Healthcare Natural Language
Visão geral
A API Natural Language extrai informações de saúde do texto médico. Essas informações de saúde podem incluir:
- Conceitos médicos, como medicamentos, procedimentos e condições médicas
- Recursos funcionais, como relacionamentos temporais, assuntos e avaliações de certeza
- Relações, como efeitos colaterais e dosagem de medicamentos
Como escolher entre a API Healthcare Natural Language e a extração de entidade de Healthcare AutoML
A API Healthcare Natural Language oferece modelos pré-treinados de linguagem natural para extrair conceitos e relações médicas do texto médico. A API Healthcare Natural Language mapeia o texto em um conjunto predefinido de categorias de conhecimento médico.
AutoML Entity Extraction for Healthcare permite criar um modelo de extração de entidades personalizado treinado usando seu próprio texto médico anotado e suas próprias categorias. Para mais informações, consulte a Documentação de Extração de entidades de Healthcare AutoML.
Locais disponíveis
A API Healthcare Natural Language está disponível nos seguintes locais:
Nome do local | Descrição do local |
---|---|
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 |
Recursos da API Healthcare Natural Language
A API Natural Language inspeciona o texto médico de conceitos
e relações médicas. Execute a análise de entidade usando o
método
analyzeEntities
.
Solicitações de análise de entidades
A API Natural Language é uma API REST e consiste em solicitações e respostas JSON. As seções a seguir mostram como extrair diferentes insights médicos de um texto médico:
- Extrair entidades, relações e atributos contextuais
- Incluir vocabulários licenciados
- Extrair a saída como um pacote FHIR R4
A solicitação de análise de entidade contém os seguintes campos:
documentContent
: os dados da solicitação, que consistem em texto médico. O tamanho máximo do texto médico é de 20.000 caracteres Unicode.licensedVocabularies[]
: opcional. O vocabulário do SNOMED CT. Disponível apenas para usuários dos EUA.alternativeOutputFormat
: opcional. O formato do pacote FHIR.
Campos da resposta da análise de entidade
A análise de entidade retorna um conjunto de menções de conhecimento médico detectado, conceitos médicos e relações entre menções de conhecimento médico, incluindo o seguinte:
entityMentions
: ocorrências de entidades de conhecimento médico no texto médico de origem. Cada menção à 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 à entidade.text
: consiste no campotextContent
e descreve o trecho do texto médico que contém a menção da entidade, eoffset
, o local da menção da entidade no texto médico de origem.temporalAssessment
: especifica como a entidade vinculada está relacionada à menção da entidade:CURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
ouOTHER
.certaintyAssessment
: a negação ou qualificação do conceito médico, um deLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
ouCONDITIONAL
.subject
: especifica o assunto relacionado ao conceito médico:PATIENT
,FAMILY_MEMBER
ouOTHER
.linkedEntities
: uma lista de conceitos médicos que podem estar relacionados a essa menção de entidade. As entidades vinculadas especificam oentityId
que vincula um conceito médico a uma entidade ementities
.
entities
: descreve os conceitos médicos dos campos de entidades vinculadas. Cada entidade é descrita usando os 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 compatíveis.
relationships
: define relações direcionadas entre menções de entidades. No exemplo, o assunto da relação é "Insulin regimen human" e o objeto do relacionamento é "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 listados, a resposta também pode conter o campo additionalInfo
, que indica qualquer descrição adicional sobre o tipo de menção de entidade.
Consulte Outras informações.
Idiomas disponíveis
A API Healthcare Natural Language só oferece suporte à extração de informações de saúde de textos em inglês.
Vocabulários médicos compatíveis
A API Healthcare Natural Language é compatível com os seguintes vocabulários médicos:
- Foundational Model of Anatomy
- Gene Ontology
- HUGO Gene Nomenclature Committee
- Human Phenotype Ontology
- ICD-10 Procedure Coding System
- CID-10-CM
- ICD-9-CM
- LOINC
- MeSH
- Tópicos de saúde da MedlinePlus
- Metathesaurus Names
- NCBI Taxonomy
- NCI Thesaurus
- National Drug File
- Online Mendelian Inheritance in Man
- RXNORM
- SNOMED CT (disponível apenas para usuários dos EUA)
Categorias de conhecimento médico compatíveis
A API Healthcare Natural Language atribui uma categoria de conhecimento médico ao campo entityMentions.type
.
Confira a lista de categorias de conhecimento médico compatíveis. Os tipos de menção de entidade que pertencem aos grupos de oncologia, determinantes sociais da saúde (DSS) e informações protegidas de saúde (PHI) só estão disponíveis na Versão prévia:
Grupo | Categoria de conhecimento médico | 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 do corpo. | |
BODY_MEASUREMENT
|
Uma medida normal do corpo humano, como sinais vitais, obtida sem testes ou procedimentos complexos usando instrumentos básicos, como um termômetro ou um estetoscópio. | |
BM_RESULT
|
O resultado de uma medição do corpo. | |
BM_UNIT
|
A unidade de uma medida corporal. | |
BM_VALUE
|
O valor de uma medida do corpo. | |
LABORATORY_DATA
|
Os resultados do teste de uma amostra corporal. | |
LAB_RESULT
|
Uma descrição qualitativa dos dados do laboratório, como "aumento", "redução", "positivo" ou "negativo". | |
LAB_VALUE
|
O valor de uma instância dos dados do laboratório. | |
LAB_UNIT
|
A unidade de medida do valor de laboratório. | |
MEDICAL_DEVICE
|
Um instrumento físico ou virtual. | |
MEDICINE
|
Uma droga 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 características físicas de um medicamento específico. | |
MED_FREQUENCY
|
A frequência com que um medicamento é tomado. | |
MED_ROUTE
|
Um local no corpo em que um medicamento é administrado. | |
MED_STATUS
|
O status de um medicamento, como "continuar", "iniciar", "reiniciar", "parar", "alternar", "aumentar" e "diminuir". | |
MED_STRENGTH
|
A quantidade de ingrediente ativo em uma dose de um medicamento. | |
MED_UNIT
|
A unidade de medida do ingrediente ativo em um medicamento. | |
MED_TOTALDOSE
|
A quantidade de medicamento a ser tomada de uma só vez. | |
PROBLEM
|
Uma condição médica, incluindo descobertas 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é-lançamento) | CLINICAL_STATUS
|
O status de um caso de câncer, como "ativo", "recorrente", "recidiva" e "resolvido". |
DATE
|
Uma anotação de data, como a data do diagnóstico, do procedimento ou do tratamento de radiação. Ele extrai todos os elementos de uma data e pode não incluir o ano. | |
DIMENSIONS
|
As medições de um tumor, massa ou crescimento anormal. | |
GENE_STUDIED
|
Os genes estudados que levam diretamente ou indiretamente à formação de tumores, como BRCA1, p53 e ALK. | |
HISTOLOGICAL_GRADE
|
Um sistema de classificação para avaliar a aparência de uma célula. | |
LAB_SPECIMEN
|
Material biológico coletado 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 ao câncer. | |
VARIATION_CODE
|
Um código atribuído à variante genômica específica detectada em um sistema de codificação principal, como ClinVar e HGVS. | |
Determinantes sociais da saúde (DSS) (pré-lançamento) | AGE
|
Um identificador de idade. Inclui frases que descrevem a idade, como "parece mais jovem do que a idade declarada", "de meia-idade", "78 anos" ou "adolescente".
Observação: a HIPAA classifica a idade de uma pessoa como PHI apenas quando ela é superior a 90 anos. Para mais informações, consulte o Resumo da regra de privacidade da HIPAA. |
FAMILY
|
Frases que descrevem a estrutura familiar ou os parentes do paciente, como "casado com dois filhos", "irmão", "esposa", "pais que apoiam" ou "divorciado". | |
LIVING_SITUATION
|
Frases que descrevem a situação de moradia do paciente, como "com colegas de quarto", "tem enfermeira de homecare 24 horas por dia" ou "se mudou recentemente". | |
SOCIAL_IDENTITY
|
Frases 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
|
Frases que descrevem a característica física mais perceptível ou evidente do paciente ou da família, como "cicatriz na bochecha direita", "síndrome de Down", "obeso" ou "perna esquerda amputada". | |
OCCUPATION
|
Frases que descrevem a ocupação e o status de emprego do paciente ou da família, como "mãe aposentada", "trabalhou como soldador por 20 anos" ou "perdeu o emprego no ano passado". | |
Informações protegidas de saúde (PHI) (pré-lançamento) | PERSON_NAME
|
Um identificador de nome genérico de uma pessoa. Inclui títulos, como "Dr.", "Sra." ou "Dr." |
ORGANIZATION_NAME
|
Um identificador de uma organização médica que coleta PHI, como uma clínica, uma casa de repouso ou um hospital. | |
GENERIC_ID
|
Um ID genérico que identifica prontuários médicos, pacientes, médicos, hospitais, como o SSN do paciente ou o número de um provedor. | |
LOCATION
|
Um local geográfico que pode conter nomes e números de edifícios, ruas, cidades, estados ou CEPs. | |
PHONE_NUMBER
|
Um número para indicar um número de telefone, de fax ou de pager. | |
EMAIL_ADDRESS
|
Um identificador de endereço de e-mail. | |
URL
|
O endereço de um site. | |
ZIPCODE
|
Um identificador de CEP. |
Categorias de recursos funcionais suportados
A API Healthcare Natural Language pode inferir recursos funcionais ou atributos
de uma entidade mencionada pelo contexto. Por exemplo, na declaração
"A mãe de Kusuma tem diabetes", a condição "diabetes" tem o recurso
funcional de subject
FAMILY_MEMBER
.
Relações temporais
As relações temporais, retornadas no campo temporalAssessment
, descrevem
como essa menção de entidade se refere ao assunto no temporalmente.
A API Healthcare Natural Language é compatível com as seguintes relações temporais:
CURRENT
CLINICAL_HISTORY
FAMILY_HISTORY
UPCOMING
OTHER
Assuntos
Os assuntos, retornados no campo subject
, descrevem o indivíduo a que a
entidade se refere.
A API Healthcare Natural Language é compatível com os seguintes assuntos:
PATIENT
FAMILY_MEMBER
OTHER
Avaliações de certeza
Algumas avaliações, retornadas no campo certaintyAssessment
, descrevem
a confiança do autor original da anotação. Por exemplo, se a anotação original
contiver "O paciente tem uma dor de garganta", a avaliação de certeza
retorna um valor LIKELY
para indicar a confiança do autor da anotação na
probabilidade do paciente ter apresentado uma dor de garganta. Se a anotação original contiver "O paciente não
está com dor de garganta", a avaliação de certeza retorna um valor UNLIKELY
para indicar a confiança do autor da nota na probabilidade do
paciente não estar com dor de garganta.
As avaliações de certeza podem ter um dos seguintes valores:
LIKELY
SOMEWHAT_LIKELY
UNCERTAIN
SOMEWHAT_UNLIKELY
UNLIKELY
CONDITIONAL
Mais informações
O campo additionalInfo
fornece detalhes adicionais sobre uma menção
de entidade. Por exemplo, o campo additionalInfo
de uma menção de entidade DATE
pode
ser composto por detalhes sobre o tipo de data, categorizado 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 compatíveis entre menções a entidades
A API Healthcare Natural Language pode inferir relações entre menções a entidades
com base no texto médico associado. Na resposta, o assunto da
relação é identificado por subjectId
e o objeto da relação,
por objectId
.
A API Healthcare Natural Language é compatível com as seguintes relações entre menções a 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 você solicita o método analyzeEntities
com o campo
alternativeOutputFormat
definido como FHIR_BUNDLE
, a resposta inclui os seguintes objetos JSON:
- As menções de entidade, 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 em formato JSON
Para criar o pacote FHIR R4, a API Healthcare Natural Language mapeia as menções de entidade, entidades e relações para recursos FHIR e elementos. A tabela a seguir lista alguns desses mapeamentos.
Menções a entidades da API Healthcare Natural Language | Categoria de conhecimento médico | Recursos e elementos do 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 do texto como um pacote FHIR R4, consulte Extrair a saída como um pacote FHIR R4.