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.

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:

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 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 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 está relacionada à menção da entidade: CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING ou OTHER.
    • certaintyAssessment: a negação ou qualificação do conceito médico, um de LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY ou CONDITIONAL.
    • subject: especifica o assunto relacionado ao conceito médico: 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 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.