API Healthcare Natural Language

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:

O pedido de análise de entidades contém os seguintes campos:

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 campo textContent e descreve o excerto do texto médico que contém a menção da entidade, e offset, 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 ser CURRENT, CLINICAL_HISTORY, FAMILY_HISTORY, UPCOMING ou OTHER.
    • certaintyAssessment: a negação ou a qualificação do conceito médico, um dos valores LIKELY, SOMEWHAT_LIKELY, UNCERTAIN, SOMEWHAT_UNLIKELY, UNLIKELY ou CONDITIONAL.
    • subject: especifica o assunto a que o conceito médico se refere, um de PATIENT, FAMILY_MEMBER ou OTHER.
    • linkedEntities: uma lista de conceitos médicos que podem estar relacionados com esta menção de entidade. As entidades associadas especificam o entityId, que associa um conceito médico a uma entidade em entities.
  • entities: descreve os conceitos médicos dos campos de entidades associadas. Cada entidade é descrita através dos 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 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.