API Healthcare Natural Language

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:

A solicitação de análise de entidade contém os seguintes campos:

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 campo textContent e descreve o trecho do texto médico que contém a menção da entidade, e offset, 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 ser CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING ou OTHER.
    • certaintyAssessment: a negação ou qualificação do conceito médico, que pode ser LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY ou CONDITIONAL.
    • subject: especifica o assunto a que o conceito médico está relacionado, PATIENT, FAMILY_MEMBER ou OTHER.
    • linkedEntities: uma lista de conceitos médicos que podem estar relacionados a essa menção de entidade. As entidades vinculadas especificam o entityId que vincula um conceito médico a uma entidade em entities.
  • entities: descreve os conceitos médicos dos campos de entidades vinculadas. Cada entidade é descrita usando os seguintes campos:

    • entityId: um identificador exclusivo do campo linkedEntities.
    • 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.