Obtenha resultados da pesquisa para dados de cuidados de saúde

Depois de importar dados FHIR R4 para a sua app de pesquisa de cuidados de saúde, pode consultar os dados importados para obter resultados relevantes. Pode pesquisar através dos seguintes tipos de consultas:

  • Consulta de palavra-chave
  • Consulta de linguagem natural
  • Consulta em linguagem natural com uma resposta da IA generativa

Além disso, pode filtrar a pesquisa com consultas filtradas por data. Para mais informações, consulte o artigo Defina um resource_datetime filtro.

Quando pesquisa na Google Cloud consola, tem de indicar primeiro um ID do paciente e pesquisar os dados de um único paciente de cada vez. Quando pesquisa através da API REST, pode pesquisar em todo o seu repositório de dados.

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

Utilização prevista do Vertex AI Search para pesquisar dados de saúde

A utilização pretendida do Vertex AI Search não é fornecer informações relativas à prevenção, ao diagnóstico ou ao tratamento de doenças. O produto não se destina a responder a perguntas sobre recomendações de diagnóstico ou tratamento. A utilização pretendida deste produto é obter e resumir informações médicas existentes fornecidas pelos utilizadores.

Devido aos dados de testes limitados, este produto pode ou não ser aplicável aos grupos etários de 0 a 18 anos e de 85 anos ou mais. Por conseguinte, ao rever o resultado gerado, os clientes têm de considerar a representatividade das subpopulações nos respetivos dados de origem.

Seguem-se alguns exemplos de como este produto se destina a ser usado:

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

    • "Resume as utilizações da aspirina"
    • "pressão arterial"
    • "diabetes management?" (gestão da diabetes?)
  • Consultas de navegação para encontrar recursos específicos que podem ser mapeados para uma consulta estruturada:

    • "Show me the most recent a1c" (Mostrar o valor de A1c mais recente)
  • Perguntas e respostas extrativas para responder a perguntas específicas em que as provas podem estar distribuídas por vários recursos:

    • "Has this patient ever been treated with a cephalsporin" (Este paciente já foi tratado com cefalosporina?)
    • "O paciente já foi submetido a uma avaliação psiquiátrica?"

Seguem-se exemplos de como este produto não se destina a ser usado:

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

    • "Qual é o diagnóstico diferencial para este paciente?"
    • "Que medicamentos devo prescrever ao paciente?"

Diretrizes de consulta

As seguintes diretrizes podem ajudar a formular uma consulta que lhe possa dar melhores resultados da pesquisa:

  • Pesquise consultas com uma intenção específica: uma vez que o modelo não sabe o que procura, é melhor fornecer uma consulta segmentada do que uma consulta vaga. Por exemplo, pesquisar a palavra-chave "hipertensão" é melhor do que pesquisar a palavra-chave "resumo". Embora a consulta "hipertensão" apresente resultados específicos de documentos relevantes, a consulta "resumo" pode apresentar resultados de documentos que não são relevantes.

  • Preserve o contexto: uma vez que a pesquisa não é conversacional, é melhor fornecer o contexto completo para cada consulta. Por exemplo, se a sua consulta inicial for "hipertensão" e quiser dar seguimento ao mesmo tópico, "quando foi diagnosticada a hipertensão" é uma segunda consulta melhor do que "quando foi diagnosticada esta doença".

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

  • Evite pedir inferências: a Pesquisa fornece resultados mais precisos quando o modelo consegue devolver informações textuais dos documentos que pesquisa, em vez de calcular ou deduzir a partir das informações pesquisadas. Por exemplo, em vez de consultar "quanto mudou o peso do paciente", pode consultar "indicar o peso do paciente nas últimas 10 visitas" e, em seguida, calcular a alteração de peso separadamente.

Realce de correspondências nos resultados

O realce de correspondências é uma configuração que realça partes do texto num resultado da pesquisa que correspondem contextualmente à consulta de pesquisa.

Os resultados dos seguintes tipos de recursos suportam o realce de correspondências:

  • Composição: realça o texto contextual do campo Composition.section[].text.div.
  • DiagnosticReport: realça o texto contextual do campo DiagnosticReport.conclusion.
  • DocumentReference: realça o texto contextual dos documentos referidos no campo DocumentReference.content[0].attachment.url. O texto realçado está dentro de uma caixa delimitadora. A caixa delimitadora é representada por dois conjuntos de coordenadas normalizadas na resposta de pesquisa. Os documentos que suportam o realce de correspondências são ficheiros PDF e ficheiros de imagem com tipos suportados. A imagem seguinte mostra como o texto é realçado num documento digitalizado do tipo de recurso DocumentReference:

    A consulta é "insulina".
    Figura 1. Realce as correspondências num documento DocumentReference digitalizado.

Quando pesquisa através da API REST, tem de ativar o realce de correspondências no seu pedido de pesquisa através do campo matchHighlightingCondition. A resposta contém o campo match_highlighting, que pode usar para renderizar o texto realçado na sua aplicação de pesquisa:

  • Para documentos Composition e DiagnosticReport, o campo match_highlighting contém os índices de início e fim do token que tem de ser realçado.
  • Para documentos DocumentReference, o campo match_highlighting contém as coordenadas da caixa delimitadora que realça o texto. A caixa delimitadora é representada por dois conjuntos de coordenadas normalizadas com a respetiva origem no canto superior esquerdo do documento. Este campo também aninha o campo page_number, que está definido como 0 para imagens e 1 para a primeira página de ficheiros PDF.

Quando pré-visualiza os resultados da pesquisa através da Google Cloud consola, a realce de correspondências está ativado por predefinição.

Antes de começar

Antes de pesquisar, faça o seguinte:

Pode pesquisar na sua loja de dados de saúde através de uma palavra-chave. Por exemplo, pode pesquisar através de palavras-chave como "a1c", "insulina" ou "úlcera" para obter recursos FHIR relevantes.

A imagem seguinte mostra os resultados da pesquisa quando a palavra-chave é "lípidos". Este exemplo não inclui um resumo nem uma resposta da IA generativa.

A consulta é "lipídio".
Figura 2. Pesquise através de palavras-chave.

Para pesquisar através de uma palavra-chave, conclua os seguintes passos.

Consola

  1. Na Google Cloud consola, aceda à página Aplicações de IA.

    Aplicações de IA

  2. Selecione a app de pesquisa de cuidados de saúde que quer consultar.

  3. No menu de navegação, clique em Pré-visualizar.

  4. No campo ID do paciente, introduza o ID do paciente cujos dados quer consultar. Os IDs dos pacientes são sensíveis a maiúsculas e minúsculas.

  5. Prima Enter ou clique em Pré-visualizar para enviar o ID do paciente.

  6. Na barra de pesquisa Pesquisar aqui, escreva uma palavra-chave para pesquisar.

    Se ativou o preenchimento automático, vê uma lista de sugestões de preenchimento automático abaixo da barra de pesquisa à medida que escreve.

  7. Prima Enter para enviar a consulta.

    • Os resultados da pesquisa são apresentados em tabelas paginadas categorizadas com base no respetivo tipo de recurso FHIR.
    • Por predefinição, os resultados da pesquisa para todos os tipos de recursos FHIR são apresentados por ordem cronológica inversa.
  8. Opcional. Para filtrar os resultados, selecione uma ou mais categorias de recursos FHIR que se encontram abaixo da 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 Ordenar: ordem cronológica inversa e, na lista, selecione Relevância. Para mais informações, consulte o artigo Ordene os resultados da pesquisa de cuidados de saúde.

REST

O exemplo seguinte mostra como pesquisar os dados FHIR R4 de um único paciente na app de pesquisa de cuidados de saúde através de uma palavra-chave. Este exemplo usa o método servingConfigs.search.

Por predefinição, os resultados da pesquisa são devolvidos por ordem cronológica inversa. Quando pesquisa nos recursos Composition, DiagnosticReport e DocumentReference, pode ordenar os resultados da pesquisa de acordo com a relevância. Para mais informações, consulte o artigo Ordene os resultados da pesquisa de cuidados de saúde.

  1. Pesquise através de 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}}
    "displaySpec": {
        "matchHighlightingCondition": "MATCH_HIGHLIGHTING_CONDITION"
      }
    }'
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • APP_ID: o ID da app Vertex AI Search que quer consultar.
    • KEYWORD_QUERY: a palavra-chave que quer pesquisar nos dados clínicos do paciente filtrado, como "diabetes" ou "a1c".
    • PATIENT_ID: o ID do recurso do paciente cujos dados quer pesquisar.
    • MATCH_HIGHLIGHTING_CONDITION: uma string que pode ter os seguintes valores:
      • MATCH_HIGHLIGHTING_DISABLED: desativa o realce de correspondências em todos os documentos.
      • MATCH_HIGHLIGHTING_ENABLED: ativa o realce de correspondências em todos os documentos. Quando deixa este campo vazio ou não o especifica, o realce de correspondências é definido como MATCH_HIGHLIGHTING_DISABLED e é desativado em todos os documentos.

Com a Vertex AI Search, pode obter resultados para consultas complexas de linguagem natural. Por exemplo, a imagem seguinte mostra os resultados da consulta de linguagem natural: "Resultados de laboratório relacionados com diabetes".

A consulta é "Quais são os resultados dos exames de lípidos do paciente".
Figura 4. Pesquise através de uma consulta de linguagem natural.

Para pesquisar através de uma consulta em linguagem natural, conclua os passos seguintes.

Consola

  1. Na Google Cloud consola, aceda à página Aplicações de IA.

    Aplicações de IA

  2. Selecione a app de pesquisa de cuidados de saúde que quer consultar.

  3. No menu de navegação, clique em Pré-visualizar.

  4. No campo ID do paciente, introduza o ID do paciente cujos dados quer consultar. Os IDs dos pacientes são sensíveis a maiúsculas e minúsculas.

  5. Prima Enter ou clique em Pré-visualizar para enviar o ID do paciente.

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

    Se ativou o preenchimento automático, vê uma lista de sugestões de preenchimento automático abaixo da barra de pesquisa à medida que escreve.

  7. Prima Enter para enviar a consulta.

    • Os resultados da pesquisa são apresentados em tabelas paginadas categorizadas com base no respetivo tipo de recurso FHIR.
    • Por predefinição, os resultados da pesquisa para todos os tipos de recursos FHIR são apresentados por ordem cronológica inversa.
  8. Opcional. Selecione uma ou mais categorias de recursos FHIR que se encontram 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 Ordenar: ordem cronológica inversa e, na lista, selecione Relevância. Para mais informações, consulte o artigo Ordene os resultados da pesquisa de cuidados de saúde.

REST

O exemplo seguinte mostra como pesquisar os dados FHIR R4 de um único paciente na app de pesquisa de cuidados de saúde através de uma consulta de linguagem natural. Este exemplo usa o método servingConfigs.search. Para pesquisar através de uma consulta em linguagem natural, tem de adicionar o campo naturalLanguageQueryUnderstandingSpec ao corpo do pedido.

Por predefinição, os resultados da pesquisa são devolvidos por ordem cronológica inversa. Quando pesquisa nos recursos Composition, DiagnosticReport e DocumentReference, pode ordenar os resultados da pesquisa de acordo com a relevância. Para mais informações, consulte o artigo Ordene os resultados da pesquisa de cuidados de saúde.

  1. Publicar 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"},
    "displaySpec": {
        "matchHighlightingCondition": "MATCH_HIGHLIGHTING_CONDITION"
      }
    }'
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • APP_ID: o ID da app Vertex AI Search que quer consultar.
    • NATURAL_LANGUAGE_QUERY: a consulta em linguagem natural, como "Resultados de laboratório relacionados com diabetes" ou "O paciente está atualmente a tomar alguma medicação".
    • PATIENT_ID: o ID do recurso do paciente cujos dados quer pesquisar.
    • MATCH_HIGHLIGHTING_CONDITION: uma string que pode ter os seguintes valores:
      • MATCH_HIGHLIGHTING_DISABLED: desativa o realce de correspondências em todos os documentos.
      • MATCH_HIGHLIGHTING_ENABLED: ativa o realce de correspondências em todos os documentos. Quando deixa este campo vazio ou não o especifica, o realce de correspondências é definido como MATCH_HIGHLIGHTING_DISABLED e é desativado em todos os documentos.

Pesquise usando uma consulta em linguagem natural com uma resposta da IA generativa

Quando pesquisa os dados FHIR de um paciente através de uma consulta em linguagem natural, pode optar por receber uma resposta da IA generativa juntamente com os resultados da pesquisa. A resposta resume os resultados da pesquisa e também mostra as referências usadas para gerar a resposta.

Quando usa a consola, pode selecionar o modelo de linguagem (conteúdo extenso) (MDL/CE) para respostas de IA generativa. Para mais informações, consulte o artigo Configure os resultados da pesquisa para dados de cuidados de saúde.

Quando usa a API REST, pode especificar um dos seguintes modelos de MDG 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 que se baseia no modelo gemini-1.5-flash-001. Para mais informações, consulte o artigo Modelos geralmente disponíveis (GA).

  • gemini-1.5-pro-002 ou preview: um modelo de pré-visualização baseado no modelo gemini-1.5-pro.

A imagem seguinte mostra um exemplo de uma consulta de linguagem natural com uma resposta de IA generativa. O resumo da pesquisa fornece uma resposta à consulta resumindo as descobertas dos resultados relevantes. Pode expandir segmentos com citações para ver 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 apresentados num formato de tabela . 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 através de uma consulta em linguagem natural com uma resposta da IA generativa.

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

Consola

  1. Na Google Cloud consola, aceda à página Aplicações de IA.

    Aplicações de IA

  2. Selecione a app de pesquisa de cuidados de saúde que 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 quer usar para gerar o resumo. Para mais informações, consulte o artigo Configure os resultados da pesquisa para dados de cuidados de saúde
    3. Guarde e publique as suas preferências.
  5. No menu de navegação, clique em Pré-visualizar.

  6. No campo ID do paciente, introduza o ID do paciente cujos dados quer consultar. Os IDs dos pacientes são sensíveis a maiúsculas e minúsculas.

  7. Prima Enter ou clique em Pré-visualizar para enviar o ID do paciente.

  8. Na barra de pesquisa Pesquisar aqui, introduza uma consulta em linguagem natural, como "AINEs", "Quais são os resultados dos exames de lípidos do paciente" ou "Qual é o resultado mais recente do A1C".

    Se ativou o preenchimento automático, vê uma lista de sugestões de preenchimento automático abaixo da barra de pesquisa à medida que escreve.

  9. Prima Enter para enviar a consulta.

    • A resposta da IA generativa é apresentada abaixo da barra de pesquisa.
    • Os resultados da pesquisa são apresentados em tabelas paginadas categorizadas com base no respetivo tipo de recurso FHIR.
    • Por predefinição, os resultados da pesquisa para todos os tipos de recursos FHIR são apresentados por ordem cronológica inversa.
  10. Opcional. Expanda um segmento da resposta que tenha citações para ver as respetivas referências dos resultados da pesquisa.

  11. Opcional. Selecione uma ou mais categorias de recursos FHIR que se encontram 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 Ordenar: ordem cronológica inversa e, na lista, selecione Relevância. Para mais informações, consulte o artigo Ordene os resultados da pesquisa de cuidados de saúde.

REST

O exemplo seguinte mostra como pesquisar os dados FHIR R4 de um único paciente na app de pesquisa de cuidados de saúde através de uma consulta em linguagem natural com respostas de IA generativa. Este exemplo usa o método servingConfigs.search.

  • Para pesquisar através de uma consulta de linguagem natural, tem de adicionar o campo naturalLanguageQueryUnderstandingSpec ao corpo do pedido.
  • Para incluir índices de citações inline, tem de adicionar o campo includeCitations. Este é um campo booleano com a predefinição definida como false.

Por predefinição, os resultados da pesquisa são devolvidos por ordem cronológica inversa. Quando pesquisa nos recursos Composition, DiagnosticReport e DocumentReference, pode ordenar os resultados da pesquisa de acordo com a relevância. Para mais informações, consulte o artigo Ordene os resultados da pesquisa de cuidados de saúde.

  1. Publicar 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
              },
              "displaySpec": {
                  "matchHighlightingCondition": "MATCH_HIGHLIGHTING_CONDITION"
              }
              "summarySpec": {
                "summaryResultCount": 1,
                "includeCitations": true,
                "modelSpec": {
                  "version": "MODEL_VERSION"
                }
              }
            },
            "naturalLanguageQueryUnderstandingSpec": {
              "filterExtractionCondition": "ENABLED"
            }
      }'
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • APP_ID: o ID da app Vertex AI Search que quer consultar.
    • QUERY: a consulta em linguagem natural, como "AINEs", "Quais são os resultados dos exames de lípidos dos pacientes" ou "Qual é o resultado mais recente da A1C". Se a consulta incluir um apóstrofe ', tem de substituí-lo pela referência de caráter numérico do apóstrofe: '.
    • PATIENT_ID: o ID do recurso do paciente cujos dados quer pesquisar.
    • MODEL_VERSION: a versão do modelo que quer usar para gerar a resposta.
    • MATCH_HIGHLIGHTING_CONDITION: uma string que pode ter os seguintes valores:
      • MATCH_HIGHLIGHTING_DISABLED: desativa o realce de correspondências em todos os documentos.
      • MATCH_HIGHLIGHTING_ENABLED: ativa o realce de correspondências em todos os documentos. Quando deixa este campo vazio ou não o especifica, o realce de correspondências é definido como MATCH_HIGHLIGHTING_DISABLED e é desativado em todos os documentos.