Pesquisar dados de saúde

Depois de importar dados do FHIR R4 para seu app de pesquisa de saúde, você pode consultar os dados importados para receber resultados relevantes. Você pode pesquisar usando os seguintes tipos de consultas:

  • Consulta de palavra-chave
  • Consulta do Natural Language
  • Consulta de linguagem natural com uma resposta de IA generativa

Além disso, você pode filtrar sua pesquisa usando consultas com filtro de data. Para mais informações, consulte Definir um filtro resource_datetime.

Ao pesquisar no console do Google Cloud, primeiro é necessário fornecer um ID do paciente e pesquisar os dados de um único paciente por vez. Ao pesquisar usando a API REST, é possível pesquisar em todo o repositório de dados.

Esta página mostra como pesquisar dados de saúde usando os vários tipos de consultas.

Uso pretendido da Vertex AI para Pesquisa para pesquisar dados de saúde

O uso pretendido da Vertex AI Search não é fornecer informações relacionadas à prevenção, diagnóstico ou tratamento de doenças. As perguntas sobre recomendações de diagnóstico ou tratamento não são tratadas pelo produto. O uso pretendido deste produto é extrair e resumir as informações médicas fornecidas pelos usuários.

Devido aos dados de teste limitados, este produto pode ou não ser aplicável aos grupos de 0 a 18 anos e 85 anos ou mais. Portanto, ao analisar a saída gerada, os clientes precisam considerar a representatividade das subpopulações nos dados de origem.

Confira abaixo alguns exemplos de como esse produto deve ser usado:

  • Consultas exploratórias para encontrar informações de um paciente relevantes para um tema:

    • "Resumir os usos da aspirina"
    • "pressão arterial"
    • "diabetes management?"
  • Consultas de navegação para encontrar recursos específicos que podem ser mapeados para uma consulta estruturada:

    • "Mostre a versão a1c mais recente"
  • Extraia perguntas e respostas para responder a perguntas específicas em que as evidências podem estar espalhadas entre os recursos:

    • "Esse paciente já foi tratado com uma cefalosporina?"
    • "O paciente já fez uma avaliação psiquiátrica"

Confira a seguir exemplos de como não usar o produto:

  • Recomendações de diagnóstico e tratamento:

    • "Qual é o diagnóstico diferencial desse paciente?"
    • "Quais medicamentos devo prescrever ao paciente?"

Diretrizes de consulta

As diretrizes a seguir podem ajudar você a formular uma consulta que pode melhorar os resultados da pesquisa:

  • Pesquisar consultas com intenção específica: como o modelo não sabe o que você está procurando, é melhor fornecer uma consulta segmentada do que uma vaga. Por exemplo, pesquisar a palavra-chave "hipertensão" é melhor do que pesquisar a palavra-chave "resumo". Enquanto a consulta "hipertensão" mostra resultados específicos de documentos relevantes, a consulta "resumo" pode mostrar resultados de documentos que não são relevantes.

  • Preservar o contexto: como a pesquisa não é interativa, é melhor fornecer o contexto completo para cada consulta. Por exemplo, se a consulta inicial for "hipertensão" e você quiser acompanhar o mesmo tópico, a consulta "quando a hipertensão foi diagnosticada" é melhor do que "quando ela foi diagnosticada".

  • Simplifique a consulta: sempre que possível, divida consultas complexas em consultas mais simples. Por exemplo, em vez de pesquisar "creatinina e albumina", crie consultas diferentes para "creatinina", "albumina" e "razão creatinina-albumina", dependendo do seu objetivo.

  • Evite pedir inferências: a pesquisa fornece resultados mais precisos quando o modelo pode retornar informações literalmente dos documentos pesquisados em vez de calcular ou deduzir as informações pesquisadas. Por exemplo, em vez de consultar "quanto o peso do paciente mudou", você pode consultar "listar o peso do paciente nas últimas 10 visitas" e calcular a mudança de peso separadamente.

Antes de começar

Antes de pesquisar, faça o seguinte:

Você pode pesquisar no repositório de dados de saúde usando uma palavra-chave. Por exemplo, você pode pesquisar usando palavras-chave como "a1c", "insulina" ou "úlcera" para receber recursos relevantes do FHIR.

A imagem a seguir mostra os resultados da pesquisa quando a palavra-chave é "lipid". Este exemplo não inclui um resumo ou uma resposta de IA generativa.

A consulta é "lipid".
Figura 1. Pesquise usando a palavra-chave.

Para pesquisar usando uma palavra-chave, siga estas etapas.

Console

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Selecione o app de pesquisa de saúde que você quer consultar.

  3. No menu de navegação, clique em Visualizar.

  4. No campo ID do paciente, insira o ID do paciente cujos dados você quer consultar. Os IDs dos pacientes diferenciam maiúsculas de minúsculas.

  5. Pressione Enter ou clique em Visualizar para enviar o ID do paciente.

  6. Na barra de pesquisa Pesquisar aqui, digite uma palavra-chave.

    Se você tiver ativado o preenchimento automático, uma lista de sugestões vai aparecer abaixo da barra de pesquisa conforme você digita.

  7. Pressione Enter para enviar a consulta.

    • Os resultados da pesquisa são mostrados em tabelas paginadas categorizadas com base no tipo de recurso do FHIR.
    • Por padrão, os resultados da pesquisa de todos os tipos de recurso do FHIR são mostrados em ordem cronológica inversa.
  8. Opcional. Para filtrar os resultados, selecione uma ou mais categorias de recursos do FHIR que estão na barra de pesquisa.

  9. Opcional. Para ordenar os resultados de acordo com a relevância para os recursos Composition, DocumentReference e DiagnosticReport, clique no filtro Sort: Reverse Chronological e selecione Relevance na lista. Para mais informações, consulte Ordenar resultados de pesquisa de saúde.

REST

O exemplo a seguir mostra como pesquisar os dados FHIR R4 de um único paciente no app de pesquisa de saúde usando uma palavra-chave. Este exemplo usa o método servingConfigs.search.

Por padrão, os resultados da pesquisa são retornados em ordem cronológica inversa. Ao pesquisar nos recursos Composition, DiagnosticReport e DocumentReference, você pode ordenar os resultados da pesquisa de acordo com a relevância. Para mais informações, consulte Ordenar resultados de pesquisa de saúde.

  1. Pesquise usando uma palavra-chave.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
      -d '{
    "query": "KEYWORD_QUERY",
    "filter": "patientId: ANY(\"PATIENT_ID\")",
    "contentSearchSpec":{"snippetSpec":{"returnSnippet":true}}
    }'
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto do Google Cloud.
    • APP_ID: o ID do app da Vertex AI para Pesquisa que você quer consultar.
    • KEYWORD_QUERY: a palavra-chave que você quer pesquisar nos dados clínicos do paciente filtrado, como "diabetes" ou "a1c".
    • PATIENT_ID: o ID do recurso do paciente cujos dados você quer pesquisar.

Com a Vertex AI para Pesquisa, você pode receber resultados para consultas complexas de linguagem natural. Por exemplo, a imagem a seguir mostra os resultados da consulta de linguagem natural: "Resultados de laboratório relacionados à diabetes".

A consulta é "Quais são os exames de lípidos do paciente?".
Figura 2. Pesquise usando a consulta de linguagem natural.

Para pesquisar usando a consulta de linguagem natural, siga estas etapas.

Console

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Selecione o app de pesquisa de saúde que você quer consultar.

  3. No menu de navegação, clique em Visualizar.

  4. No campo ID do paciente, insira o ID do paciente cujos dados você quer consultar. Os IDs dos pacientes diferenciam maiúsculas de minúsculas.

  5. Pressione Enter ou clique em Visualizar para enviar o ID do paciente.

  6. Na barra de pesquisa Pesquisar aqui, insira uma consulta em linguagem natural, como "Resultados de laboratório relacionados à diabetes".

    Se você tiver ativado o preenchimento automático, uma lista de sugestões vai aparecer abaixo da barra de pesquisa conforme você digita.

  7. Pressione Enter para enviar a consulta.

    • Os resultados da pesquisa são mostrados em tabelas paginadas categorizadas com base no tipo de recurso do FHIR.
    • Por padrão, os resultados da pesquisa de todos os tipos de recurso do FHIR são mostrados em ordem cronológica inversa.
  8. Opcional. Selecione uma ou mais categorias de recursos do FHIR abaixo da barra de pesquisa para filtrar os resultados.

  9. Opcional. Para ordenar os resultados de acordo com a relevância para os recursos Composition, DocumentReference e DiagnosticReport, clique no filtro Sort: Reverse Chronological e selecione Relevance na lista. Para mais informações, consulte Ordenar resultados de pesquisa de saúde.

REST

O exemplo a seguir mostra como pesquisar os dados FHIR R4 de um único paciente no app de pesquisa de saúde usando uma consulta de linguagem natural. Este exemplo usa o método servingConfigs.search. Para pesquisar usando uma consulta de linguagem natural, adicione o campo naturalLanguageQueryUnderstandingSpec ao corpo da solicitação.

Por padrão, os resultados da pesquisa são retornados em ordem cronológica inversa. Ao pesquisar nos recursos Composition, DiagnosticReport e DocumentReference, você pode ordenar os resultados da pesquisa de acordo com a relevância. Para mais informações, consulte Ordenar resultados de pesquisa de saúde.

  1. Postar uma consulta em linguagem natural.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
      -d '{
    "query": "NATURAL_LANGUAGE_QUERY",
    "filter": "patientId: ANY(\"PATIENT_ID\")",
    "contentSearchSpec":{"snippetSpec":{"returnSnippet":true}},
    "naturalLanguageQueryUnderstandingSpec":{"filterExtractionCondition":"ENABLED"}
    }'
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto do Google Cloud.
    • APP_ID: o ID do app da Vertex AI para Pesquisa que você quer consultar.
    • NATURAL_LANGUAGE_QUERY: a consulta em linguagem natural, como "Resultados de laboratório relacionados a diabetes" ou "O paciente está tomando algum medicamento?".
    • PATIENT_ID: o ID do recurso do paciente cujos dados você quer pesquisar.

Pesquisar usando a consulta de linguagem natural com a resposta de IA generativa

Ao pesquisar os dados FHIR de um paciente usando uma consulta de linguagem natural, você pode escolher receber uma resposta de IA generativa junto com os resultados da pesquisa. A resposta resume os resultados da pesquisa e também mostra as referências usadas para gerar a resposta.

Ao usar o console, você pode selecionar o modelo de linguagem grande (LLM) para respostas de IA generativa. Para mais informações, consulte Configurar resultados de pesquisa para dados de saúde.

Ao usar a API REST, você pode especificar um dos seguintes modelos de LLM para receber respostas de IA generativa no campo version:

  • gemini-1.5-flash-001/answer_gen/v1 ou stable: um modelo estável e geralmente disponível com base no modelo gemini-1.5-flash-001. Para mais informações, consulte Modelos de disponibilidade geral (GA).
  • gemini-1.0-pro-002/answer_gen/v1: uma pesquisa da Vertex AI baseada no modelo gemini-1.0-pro-002. Para mais informações, consulte Modelos de disponibilidade geral (GA).
  • medlm-medium/answer_gen/v1 oupreview: um modelo de pré-visualização baseado no MedLM. Para mais informações, consulte Modelo MedLM.

A imagem a seguir mostra um exemplo de consulta de linguagem natural com resposta de IA gerativa. O resumo da pesquisa fornece uma resposta para a consulta resumindo as descobertas dos resultados relevantes. É possível expandir os segmentos que têm citações para conferir as referências usadas para gerar o segmento selecionado. Nem todas as respostas geradas têm citações.

A consulta é "Quais são os
laboratórios de lípidos do paciente?". Os resultados da pesquisa são mostrados em um formato
tabular . Os
resultados da pesquisa são acompanhados por um resumo gerado pela IA generativa que diz "O paciente não tem
alergias conhecidas".
Figura 3. Pesquise usando a consulta de linguagem natural com a resposta de IA generativa.

Para pesquisar com a resposta da IA generativa, faça o seguinte:

Console

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Agent Builder.

  2. Selecione o app de pesquisa de saúde que você quer consultar.

  3. No menu de navegação, clique em Configurações.

  4. Personalize o widget de pesquisa:

    1. No campo Tipo de pesquisa, selecione Pesquisar com uma resposta.
    2. Selecione o modelo que você quer usar para gerar o resumo. Para mais informações, consulte Configurar resultados de pesquisa para dados de saúde.
    3. Salve e publique suas preferências.
  5. No menu de navegação, clique em Visualizar.

  6. No campo ID do paciente, insira o ID do paciente cujos dados você quer consultar. Os IDs dos pacientes diferenciam maiúsculas de minúsculas.

  7. Pressione Enter ou clique em Visualizar para enviar o ID do paciente.

  8. Na barra de pesquisa Pesquisar aqui, digite uma consulta em linguagem natural, como "nsaids", "Quais são os exames de lipidograma do paciente" ou "Qual é o resultado mais recente de A1C".

    Se você tiver ativado o preenchimento automático, uma lista de sugestões vai aparecer abaixo da barra de pesquisa conforme você digita.

  9. Pressione Enter para enviar a consulta.

    • A resposta da IA generativa aparece abaixo da barra de pesquisa.
    • Os resultados da pesquisa são mostrados em tabelas paginadas categorizadas com base no tipo de recurso do FHIR.
    • Por padrão, os resultados da pesquisa de todos os tipos de recurso do FHIR são mostrados em ordem cronológica inversa.
  10. Opcional. Abra um segmento da resposta que tenha citações para conferir as referências nos resultados da pesquisa.

  11. Opcional. Selecione uma ou mais categorias de recursos do FHIR abaixo da barra de pesquisa para filtrar os resultados.

  12. Opcional. Para ordenar os resultados de acordo com a relevância para os recursos Composition, DocumentReference e DiagnosticReport, clique no filtro Sort: Reverse Chronological e selecione Relevance na lista. Para mais informações, consulte Ordenar resultados de pesquisa de saúde.

REST

O exemplo a seguir mostra como pesquisar os dados FHIR R4 de um único paciente no app de pesquisa de saúde usando uma consulta de linguagem natural com respostas de IA generativa. Este exemplo usa o método servingConfigs.search.

  • Para pesquisar usando uma consulta de linguagem natural, adicione o campo naturalLanguageQueryUnderstandingSpec ao corpo da solicitação.
  • Para incluir índices de citação inline, adicione o campo includeCitations. Este é um campo booleano com o padrão definido como false.

Por padrão, os resultados da pesquisa são retornados em ordem cronológica inversa. Ao pesquisar nos recursos Composition, DiagnosticReport e DocumentReference, você pode ordenar os resultados da pesquisa de acordo com a relevância. Para mais informações, consulte Ordenar resultados de pesquisa de saúde.

  1. Postar uma consulta em linguagem natural.

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
      -d '{
            "query": "QUERY",
            "filter": "patientId: ANY(\"PATIENT_ID\")",
            "contentSearchSpec": {
              "snippetSpec": {
                "returnSnippet": true
              },
              "summarySpec": {
                "summaryResultCount": 1,
                "includeCitations": true,
                "modelSpec": {
                  "version": "MODEL_VERSION"
                }
              }
            },
            "naturalLanguageQueryUnderstandingSpec": {
              "filterExtractionCondition": "ENABLED"
            }
          }'
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto do Google Cloud.
    • APP_ID: o ID do app da Vertex AI para Pesquisa que você quer consultar.
    • QUERY: a consulta em linguagem natural, como "nsaids", "What are the patients lipid labs" ou "What is the most recent A1C result". Se a consulta incluir um apóstrofo ', substitua-o pela referência numérica do caractere apóstrofo: '.
    • PATIENT_ID: o ID do recurso do paciente cujos dados você quer pesquisar.
    • MODEL_VERSION: a versão do modelo que você quer usar para gerar a resposta.