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.
O AutoML Entity Extraction for Healthcare permite criar um modelo personalizado de extração de entidades, treinado usando seu próprio texto médico com anotações 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 entidade
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 determinado 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 mil caracteres Unicode.licensedVocabularies[]
: opcional. O vocabulário SNOMED CT. Disponível apenas para usuários nos EUA.alternativeOutputFormat
: opcional. O formato de pacote FHIR.
Campos da resposta da análise de entidade
A análise de entidade retorna um conjunto de menções de conhecimentos médicos detectados, 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
: identificador exclusivo para 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 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 se relaciona com a menção, que pode serCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
ouOTHER
.certaintyAssessment
: a negação ou qualificação do conceito médico, que pode serLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
ouCONDITIONAL
.subject
: especifica o assunto a que o conceito médico está relacionado,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 preferencial 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 a entidades. Na amostra, o assunto da relação é "Regimen de insulina humana", e o objeto da relação é "5 unidades".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 outra descrição sobre o tipo de referência da entidade.
Consulte Informações adicionais.
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
.
Veja a seguir uma lista de categorias de conhecimento médico com suporte. Os tipos de referência de entidades que pertencem aos grupos de oncologia, determinantes sociais de saúde (SDOH, na sigla em inglês) e informações protegidas de saúde (PHI) só estão disponíveis em Pré-lançamento:
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
|
Função desempenhada 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 utilizando instrumentos básicos, como um termômetro ou um estetoscópio. | |
BM_RESULT
|
Resultado de uma medição corporal. | |
BM_UNIT
|
A unidade de medida corporal. | |
BM_VALUE
|
O valor de uma medida corporal. | |
LABORATORY_DATA
|
São os resultados de testes com uma amostra corporal. | |
LAB_RESULT
|
Uma descrição qualitativa de dados de laboratório, 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 do laboratório. | |
MEDICAL_DEVICE
|
Um instrumento físico ou virtual. | |
MEDICINE
|
Um medicamento ou outra preparação para o tratamento ou prevenção de uma doença. | |
MED_DOSE
|
Uma dose de um medicamento. | |
MED_DURATION
|
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
|
Local do corpo onde um medicamento é administrado. | |
MED_STATUS
|
O status de um medicamento existente, como "continuar", "iniciar", "reiniciar", "parar", "alternar", "aumentar" e "diminuir". | |
MED_STRENGTH
|
Quantidade do ingrediente ativo em uma dose de um medicamento. | |
MED_UNIT
|
A unidade de medida do ingrediente ativo de um medicamento. | |
MED_TOTALDOSE
|
A quantidade de medicamento a ser tomado ao mesmo tempo. | |
PROBLEM
|
Uma condição médica, incluindo resultados e doenças. | |
PROCEDURE
|
Um procedimento de diagnóstico ou tratamento. | |
PROCEDURE_RESULT
|
Resultados de um procedimento. | |
PROC_METHOD
|
Método usado para conduzir um procedimento. | |
SEVERITY
|
A gravidade da condição médica. | |
SUBSTANCE_ABUSE
|
Uma descrição do abuso de uma substância psicoativa. | |
Oncologia (prévia) | CLINICAL_STATUS
|
O status de um caso de câncer, como "ativo", "recorrente", "recorrente" e "resolvido". |
DATE
|
Uma anotação da data, como a data do diagnóstico, do procedimento ou de um tratamento de radiação. Extrai todos os elementos de uma data e pode não incluir o ano. | |
DIMENSIONS
|
Medidas 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 a aparência de uma célula cancerígena. | |
LAB_SPECIMEN
|
Material biológico coletado do corpo para teste ou amostragem. | |
RADIATION_DOSAGE
|
A quantidade de radiação fornecida 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 fornecido à variante genômica específica detectada em um grande sistema de codificação, como o ClinVar e o HGVS. | |
Determinantes sociais de saúde (SDoH) (prévia) | AGE
|
Um identificador de idade. Isso inclui frases que descrevem a idade, como "parece ter menos de idade", "idade média", "78 anos" ou "adolescente".
Observação: a HIPAA classifica a idade de uma pessoa como PHI somente 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 construtivos" ou "divorciado". | |
LIVING_SITUATION
|
Frases que descrevem a situação de vida do paciente, como "com colegas de quarto", "tem enfermeiro domiciliar 24 horas por dia, 7 dias por semana" ou "mudou-se 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 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 "trabalho perdido no ano passado". | |
Informações protegidas de saúde (PHI) (pré-lançamento) | PERSON_NAME
|
Identificador de nome genérico de uma pessoa. Inclui títulos, como "Dr.", "Sra." ou "MD" |
ORGANIZATION_NAME
|
É um identificador de uma organização médica que coleta PHI, como uma clínica, um asilo ou hospital. | |
GENERIC_ID
|
Um ID genérico que identifica prontuários médicos, pacientes, médicos, hospitais, como o CPF ou CNPJ do paciente ou o número de um prestador de cuidados de saúde. | |
LOCATION
|
Uma localização geográfica 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 mais detalhes sobre uma menção
de entidade. Por exemplo, o campo additionalInfo
de uma menção de entidade DATE
pode
ter detalhes sobre o tipo de data, categorizados como uma das seguintes opções:
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:
- A entidade menciona, as entidades e os relacionamentos
- Um pacote FHIR R4 representado como uma string, que inclui todas as entidades, a entidade mencionada e os relacionamentos no formato JSON.
Para criar o pacote FHIR R4, a API Healthcare Natural Language mapeia menções, entidades e relacionamentos de entidades para recursos FHIR e os respectivos elementos. A tabela a seguir lista alguns desses mapeamentos.
Menções à entidade da API Healthcare Natural Language | Categoria de conhecimento médico | 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 do texto como um pacote FHIR R4, consulte Extrair saída como um pacote FHIR R4.