Después de importar datos de FHIR R4 a tu app de búsqueda de atención médica, puedes consultar los datos importados para obtener resultados relevantes. Puedes realizar búsquedas con los siguientes tipos de consultas:
- Consulta de palabras clave
- Consulta sobre el lenguaje natural
- Consulta en lenguaje natural con una respuesta de IA generativa
Además, puedes filtrar tu búsqueda con consultas filtradas por fecha. Para obtener más información, consulta Cómo definir un filtro de resource_datetime
.
Cuando realizas una búsqueda en la consola de Google Cloud , primero debes proporcionar un ID de paciente y buscar los datos de un solo paciente a la vez. Cuando realizas búsquedas con la API de REST, puedes buscar en todo tu almacén de datos.
En esta página, se muestra cómo buscar datos de atención médica con los distintos tipos de consultas.
Uso previsto de Vertex AI Search para buscar datos de atención médica
El uso previsto de Vertex AI Search no es proporcionar información relacionada con la prevención, el diagnóstico o el tratamiento de enfermedades. El producto no está diseñado para responder preguntas sobre recomendaciones de diagnóstico o tratamiento. El uso previsto de este producto es recuperar y resumir la información médica existente proporcionada por los usuarios.
Debido a la limitación de los datos de prueba, es posible que este producto no sea aplicable a los grupos etarios de 0 a 18 años y de 85 años o más. Por lo tanto, cuando revisen el resultado generado, los clientes deben tener en cuenta la representatividad de las subpoblaciones dentro de sus datos fuente.
A continuación, se incluyen algunos ejemplos de cómo se pretende usar este producto:
Consultas exploratorias para encontrar información de un paciente relevante para un tema:
- "Resume los usos de la aspirina".
- "presión arterial"
- "¿control de la diabetes?"
Búsquedas de navegación para encontrar recursos específicos que se podrían asignar a una búsqueda estructurada:
- "Muéstrame el valor de A1c más reciente".
Preguntas y respuestas extractivas para responder preguntas específicas en las que la evidencia puede estar distribuida en varios recursos:
- "¿Alguna vez se trató a este paciente con cefalosporina?"
- "¿Alguna vez se sometió el paciente a una evaluación psiquiátrica?"
A continuación, se muestran ejemplos de cómo no se debe usar este producto:
Recomendaciones de diagnóstico y tratamiento:
- "¿Cuál es el diagnóstico diferencial para este paciente?"
- "¿Qué medicamentos debo recetarle al paciente?"
Lineamientos para las búsquedas
Los siguientes lineamientos pueden ayudarte a formular una búsqueda que te proporcione mejores resultados:
Busca consultas con una intención específica: Como el modelo no sabe lo que buscas, es mejor proporcionar una consulta segmentada que una vaga. Por ejemplo, es mejor buscar la palabra clave "hipertensión" que la palabra clave "resumen". Si bien la búsqueda "hipertensión" arroja resultados específicos de documentos pertinentes, la búsqueda "resumen" puede arrojar resultados de documentos que no son pertinentes.
Conserva el contexto: Dado que la búsqueda no es conversacional, es mejor proporcionar el contexto completo para cada búsqueda. Por ejemplo, si tu búsqueda inicial es "hipertensión" y quieres hacer un seguimiento sobre el mismo tema, "¿Cuándo se diagnosticó la hipertensión?" es una mejor segunda búsqueda que "¿Cuándo se diagnosticó esto?".
Simplifica la búsqueda: Siempre que sea posible, divide las búsquedas complejas en otras más sencillas. Por ejemplo, en lugar de buscar "creatinina y albúmina", crea diferentes búsquedas para "creatinina", "albúmina" y "relación albúmina-creatinina", según tu objetivo.
Evita pedir inferencias: La Búsqueda proporciona resultados más precisos cuando el modelo puede devolver información textual de los documentos que busca en lugar de calcular o deducir a partir de la información buscada. Por ejemplo, en lugar de consultar "¿Cuánto cambió el peso del paciente?", puedes consultar "Enumera el peso del paciente en las últimas 10 visitas" y, luego, calcular el cambio de peso por separado.
Destacado de coincidencias en los resultados
El resaltado de coincidencias es una configuración que destaca partes del texto en un resultado de la búsqueda que coinciden contextualmente con la búsqueda.
Los resultados de los siguientes tipos de recursos admiten el destacado de coincidencias:
- Composición: Destaca el texto contextual del campo
Composition.section[].text.div
. - DiagnosticReport: Destaca el texto contextual del campo
DiagnosticReport.conclusion
. DocumentReference: Destaca el texto contextual de los documentos a los que se hace referencia en el campo
DocumentReference.content[0].attachment.url
. El texto destacado se encuentra dentro de un cuadro delimitador. El cuadro delimitador se representa con dos conjuntos de coordenadas normalizadas en la respuesta de búsqueda. Los documentos que admiten el resaltado de coincidencias son los archivos PDF y los archivos de imagen con tipos admitidos. En la siguiente imagen, se muestra cómo se destaca el texto en un documento escaneado del tipo de recurso DocumentReference:Figura 1. Destacado de coincidencias en un documento DocumentReference escaneado.
Cuando realices una búsqueda con la API de REST, debes habilitar el resaltado de coincidencias en tu solicitud de búsqueda con el campo matchHighlightingCondition
.
La respuesta contiene el campo match_highlighting
, que puedes usar para renderizar el texto destacado en tu aplicación de búsqueda:
- En el caso de los documentos Composition y DiagnosticReport, el campo
match_highlighting
contiene los índices de inicio y finalización del token que se debe destacar. - En el caso de los documentos DocumentReference, el campo
match_highlighting
contiene las coordenadas del cuadro delimitador que destaca el texto. El cuadro delimitador se representa con dos conjuntos de coordenadas normalizadas cuyo origen se encuentra en la esquina superior izquierda del documento. Este campo también anida el campopage_number
, que se establece en0
para las imágenes y en1
para la primera página de los archivos PDF.
Cuando previsualizas los resultados de la búsqueda con la consola de Google Cloud , el destacado de coincidencias está habilitado de forma predeterminada.
Antes de comenzar
Antes de realizar la búsqueda, haz lo siguiente:
- Crea una app de búsqueda de atención médica y un almacén de datos de búsqueda de atención médica, y luego importa datos de FHIR R4. Para obtener más información, consulta Crea una app de búsqueda de atención médica y Crea un almacén de datos de búsqueda de atención médica.
- Configura los resultados de la búsqueda para los datos de atención médica.
- Para obtener sugerencias de búsqueda útiles, activa la función de autocompletar. Esta es una función de versión preliminar.
- Revisa la lista de recursos de FHIR R4 que admite Vertex AI Search. Para obtener más información, consulta la referencia del esquema de datos de FHIR R4 de Healthcare.
Cómo buscar con una palabra clave
Puedes buscar en tu almacén de datos de atención médica con una palabra clave. Por ejemplo, puedes buscar con palabras clave como "A1c", "insulina" o "úlcera" para obtener recursos de FHIR pertinentes.
En la siguiente imagen, se muestran los resultados de la búsqueda cuando la palabra clave es "lípidos". Este ejemplo no incluye un resumen ni una respuesta de IA generativa.

Para buscar con una palabra clave, completa los siguientes pasos.
Console
En la consola de Google Cloud , ve a la página AI Applications.
Selecciona la app de búsqueda de atención médica que quieras consultar.
En el menú de navegación, haz clic en Vista previa.
En el campo ID del paciente, ingresa el ID del paciente cuyos datos deseas consultar. Los IDs de paciente distinguen mayúsculas de minúsculas.
Presiona Intro o haz clic en Obtener vista previa para enviar el ID del paciente.
En la barra de búsqueda Buscar aquí, escribe una palabra clave para buscar.
Si habilitaste el autocompletado, verás una lista de sugerencias debajo de la barra de búsqueda a medida que escribes.
Presiona Intro para enviar la consulta.
- Los resultados de la búsqueda se muestran en tablas paginadas que se categorizan según su tipo de recurso de FHIR.
- De forma predeterminada, los resultados de la búsqueda para todos los tipos de recursos de FHIR se muestran en orden cronológico inverso.
Opcional. Para filtrar los resultados, selecciona una o más categorías de recursos de FHIR que se encuentran debajo de la barra de búsqueda.
Opcional. Para ordenar los resultados según la relevancia para los recursos Composition, DocumentReference y DiagnosticReport, haz clic en el filtro Ordenar: cronológico inverso y, en la lista, selecciona Relevancia. Para obtener más información, consulta Cómo ordenar los resultados de la búsqueda de atención médica.
REST
En el siguiente ejemplo, se muestra cómo buscar los datos de FHIR R4 de un solo paciente en la app de búsqueda de atención médica con una palabra clave. En este ejemplo, se usa el método servingConfigs.search
.
De forma predeterminada, los resultados de la búsqueda se muestran en orden cronológico inverso. Cuando buscas en los recursos Composition, DiagnosticReport y DocumentReference, puedes ordenar los resultados de la búsqueda según la relevancia. Para obtener más información, consulta Cómo ordenar los resultados de la búsqueda de atención médica.
Realiza una búsqueda con una palabra clave.
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" } }'
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto de Google Cloud .APP_ID
: Es el ID de la app de Vertex AI Search que deseas consultar.KEYWORD_QUERY
: Es la palabra clave que deseas buscar en los datos clínicos del paciente filtrado, como "diabetes" o "a1c".PATIENT_ID
: Es el ID del recurso del paciente cuyos datos deseas buscar.MATCH_HIGHLIGHTING_CONDITION
: Es una cadena que puede tener los siguientes valores:MATCH_HIGHLIGHTING_DISABLED
: Desactiva el resaltado de coincidencias en todos los documentos.MATCH_HIGHLIGHTING_ENABLED
: Activa el resaltado de coincidencias en todos los documentos. Cuando dejas este campo vacío o no lo especificas, el resaltado de coincidencias se establece enMATCH_HIGHLIGHTING_DISABLED
y se desactiva en todos los documentos.
Búsqueda con una consulta en lenguaje natural
Con Vertex AI Search, puedes obtener resultados para consultas complejas en lenguaje natural. Por ejemplo, la siguiente imagen muestra los resultados de la búsqueda en lenguaje natural: "Resultados de laboratorio relacionados con la diabetes".

Para realizar una búsqueda con una consulta en lenguaje natural, completa los siguientes pasos.
Console
En la consola de Google Cloud , ve a la página AI Applications.
Selecciona la app de búsqueda de atención médica que quieras consultar.
En el menú de navegación, haz clic en Vista previa.
En el campo ID del paciente, ingresa el ID del paciente cuyos datos deseas consultar. Los IDs de paciente distinguen mayúsculas de minúsculas.
Presiona Intro o haz clic en Obtener vista previa para enviar el ID del paciente.
En la barra de búsqueda Buscar aquí, ingresa una consulta en lenguaje natural, como "Resultados de laboratorio relacionados con la diabetes".
Si habilitaste el autocompletado, verás una lista de sugerencias debajo de la barra de búsqueda a medida que escribes.
Presiona Intro para enviar la consulta.
- Los resultados de la búsqueda se muestran en tablas paginadas que se categorizan según su tipo de recurso de FHIR.
- De forma predeterminada, los resultados de la búsqueda para todos los tipos de recursos de FHIR se muestran en orden cronológico inverso.
Opcional. Selecciona una o más categorías de recursos de FHIR que se encuentren debajo de la barra de búsqueda para filtrar los resultados.
Opcional. Para ordenar los resultados según la relevancia para los recursos Composition, DocumentReference y DiagnosticReport, haz clic en el filtro Ordenar: cronológico inverso y, en la lista, selecciona Relevancia. Para obtener más información, consulta Cómo ordenar los resultados de la búsqueda de atención médica.
REST
En el siguiente ejemplo, se muestra cómo buscar los datos de FHIR R4 de un solo paciente en la app de búsqueda de atención médica con una consulta en lenguaje natural. En este ejemplo, se usa el método servingConfigs.search
. Para realizar una búsqueda con una consulta en lenguaje natural, debes agregar el campo naturalLanguageQueryUnderstandingSpec
al cuerpo de la solicitud.
De forma predeterminada, los resultados de la búsqueda se muestran en orden cronológico inverso. Cuando buscas en los recursos Composition, DiagnosticReport y DocumentReference, puedes ordenar los resultados de la búsqueda según la relevancia. Para obtener más información, consulta Cómo ordenar los resultados de la búsqueda de atención médica.
Publica una consulta en lenguaje 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" } }'
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto de Google Cloud .APP_ID
: Es el ID de la app de Vertex AI Search que deseas consultar.NATURAL_LANGUAGE_QUERY
: Es la búsqueda en lenguaje natural, como "Resultados de laboratorio relacionados con la diabetes" o "¿El paciente está tomando algún medicamento?".PATIENT_ID
: Es el ID del recurso del paciente cuyos datos deseas buscar.MATCH_HIGHLIGHTING_CONDITION
: Es una cadena que puede tener los siguientes valores:MATCH_HIGHLIGHTING_DISABLED
: Desactiva el resaltado de coincidencias en todos los documentos.MATCH_HIGHLIGHTING_ENABLED
: Activa el resaltado de coincidencias en todos los documentos. Cuando dejas este campo vacío o no lo especificas, el resaltado de coincidencias se establece enMATCH_HIGHLIGHTING_DISABLED
y se desactiva en todos los documentos.
Búsqueda con una consulta en lenguaje natural y una respuesta de IA generativa
Cuando buscas los datos de FHIR de un paciente con una consulta en lenguaje natural, puedes optar por obtener una respuesta de IA generativa junto con los resultados de la búsqueda. La respuesta resume los resultados de la búsqueda y también muestra las referencias que se usan para generarla.
Cuando usas la consola, puedes seleccionar el modelo de lenguaje grande (LLM) para las respuestas de IA generativa. Para obtener más información, consulta Cómo configurar los resultados de la búsqueda para los datos de atención médica.
Cuando usas la API de REST, puedes especificar uno de los siguientes modelos de LLM para obtener respuestas de IA generativa en el campo version
:
gemini-1.5-flash-001/answer_gen/v1
ostable
: Es un modelo estable y disponible de forma general que se basa en el modelogemini-1.5-flash-001
. Para obtener más información, consulta Modelos con disponibilidad general (DG).gemini-1.5-pro-002
opreview
: Es un modelo de vista previa basado en el modelogemini-1.5-pro
.
En la siguiente imagen, se muestra un ejemplo de una búsqueda en lenguaje natural con una respuesta generada por IA. El resumen de la búsqueda proporciona una respuesta a la consulta resumiendo los hallazgos de los resultados pertinentes. Puedes expandir los segmentos que tienen citas para ver las referencias que se usan para generar el segmento seleccionado. No todas las respuestas generadas tienen citas.

Para buscar con una respuesta de IA generativa, haz lo siguiente:
Console
En la consola de Google Cloud , ve a la página AI Applications.
Selecciona la app de búsqueda de atención médica que quieras consultar.
En el menú de navegación, haz clic en Configuraciones.
Personaliza el widget de búsqueda:
- En el campo Tipo de búsqueda, selecciona Búsqueda con respuesta.
- Selecciona el modelo que quieres usar para generar el resumen. Para obtener más información, consulta Cómo configurar los resultados de la búsqueda para los datos de atención médica.
- Guarda y publica tus preferencias.
En el menú de navegación, haz clic en Vista previa.
En el campo ID del paciente, ingresa el ID del paciente cuyos datos deseas consultar. Los IDs de paciente distinguen mayúsculas de minúsculas.
Presiona Intro o haz clic en Obtener vista previa para enviar el ID del paciente.
En la barra de búsqueda Buscar aquí, ingresa una consulta en lenguaje natural, como "AINE", "¿Cuáles son los análisis de lípidos del paciente?" o "¿Cuál es el resultado de A1c más reciente?".
Si habilitaste el autocompletado, verás una lista de sugerencias debajo de la barra de búsqueda a medida que escribes.
Presiona Intro para enviar la consulta.
- La respuesta de la IA generativa se muestra debajo de la barra de búsqueda.
- Los resultados de la búsqueda se muestran en tablas paginadas que se categorizan según su tipo de recurso de FHIR.
- De forma predeterminada, los resultados de la búsqueda para todos los tipos de recursos de FHIR se muestran en orden cronológico inverso.
Opcional. Expande un segmento de la respuesta que tenga citas para ver sus referencias en los resultados de la búsqueda.
Opcional. Selecciona una o más categorías de recursos de FHIR que se encuentren debajo de la barra de búsqueda para filtrar los resultados.
Opcional. Para ordenar los resultados según la relevancia para los recursos Composition, DocumentReference y DiagnosticReport, haz clic en el filtro Ordenar: cronológico inverso y, en la lista, selecciona Relevancia. Para obtener más información, consulta Cómo ordenar los resultados de la búsqueda de atención médica.
REST
En el siguiente ejemplo, se muestra cómo buscar los datos de FHIR R4 de un solo paciente en la app de búsqueda de atención médica con una búsqueda en lenguaje natural con respuestas de IA generativa.
En este ejemplo, se usa el método servingConfigs.search
.
- Para realizar una búsqueda con una consulta en lenguaje natural, debes agregar el campo
naturalLanguageQueryUnderstandingSpec
al cuerpo de la solicitud. - Para incluir índices de citas intercaladas, debes agregar el campo
includeCitations
. Este es un campo booleano con el valor predeterminado establecido enfalse
.
De forma predeterminada, los resultados de la búsqueda se muestran en orden cronológico inverso. Cuando buscas en los recursos Composition, DiagnosticReport y DocumentReference, puedes ordenar los resultados de la búsqueda según la relevancia. Para obtener más información, consulta Cómo ordenar los resultados de la búsqueda de atención médica.
Publica una consulta en lenguaje 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" } }'
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto de Google Cloud .APP_ID
: Es el ID de la app de Vertex AI Search que deseas consultar.QUERY
: Es la búsqueda en lenguaje natural, como "AINE", "¿Cuáles son los análisis de lípidos de los pacientes?" o "¿Cuál es el resultado de A1c más reciente?". Si la búsqueda incluye un apóstrofo'
, debes reemplazarlo por la referencia de carácter numérico del apóstrofo:'
.PATIENT_ID
: Es el ID del recurso del paciente cuyos datos deseas buscar.MODEL_VERSION
: Es la versión del modelo que deseas usar para generar la respuesta.MATCH_HIGHLIGHTING_CONDITION
: Es una cadena que puede tener los siguientes valores:MATCH_HIGHLIGHTING_DISABLED
: Desactiva el resaltado de coincidencias en todos los documentos.MATCH_HIGHLIGHTING_ENABLED
: Activa el resaltado de coincidencias en todos los documentos. Cuando dejas este campo vacío o no lo especificas, el resaltado de coincidencias se establece enMATCH_HIGHLIGHTING_DISABLED
y se desactiva en todos los documentos.