By default, when you search healthcare data , the search results are returned in reverse chronological order. When you search over the following FHIR resource types that contain unstructured text, you can order your search results according to their relevance to your query:
- Composition
- DiagnosticReport
- DocumentReference
Example scenario
Suppose that you're searching for the keyword insulin
for a given patient and you've filtered the results to the resources
that contain unstructured text. Among other results, you receive the following
documents:
- Result 1: A DocumentReference resource, dated 24 April, 2024, that contains notes about the patient's "HbA1c" levels.
- Result 2: A DiagnosticReport resource, dated 11 January, 2024, that contains notes about the "insulin regimen" that the patient must follow.
By default, Result 1 is shown higher in the results because it is a newer
document, but when you order by relevance, Result 2 shows up higher in the
results. This is because it is more relevant to the search query insulin
.
Order your healthcare search results
To order your search results according to relevance, complete the following steps:
Console
-
In the Google Cloud console, go to the AI Applicationspage.
-
Select the healthcare search app that you want to query.
-
In the navigation menu, click Preview.
-
In the Patient IDfield, enter the ID of the patient whose data you want to query. Patient IDs are case-sensitive.
-
Press Enteror click Previewto submit the patient ID.
-
In the Search heresearch bar, enter your query.
If you enabled autocomplete, you see a list of autocomplete suggestions below the search bar as you type.
-
Press Enterto submit the query.
- The search results are displayed in paginated tables that are categorized based on their FHIR resource type.
- By default, the search results for all FHIR resource types are displayed in reverse chronological order.
-
For the Composition, the DocumentReference, and the DiagnosticReport resources, click the Sort: Reverse Chronologicalfilter and select Relevancefrom the list. The results for these resources are then ordered according to relevance.
REST
To order your search results according to relevance, modify your search
request in the following way:
- Add the
filterfield to your request to limit the search results to only those FHIR resources that contain unstructured text: Composition, DiagnosticReport, and DocumentReference. - Add the
orderByfield to your search request and set its value to_RELEVANCEto get search responses that are sorted according to their relevance.
-
Send the search request.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://us-discoveryengine.googleapis.com/v1/projects/ PROJECT_ID /locations/us/collections/default_collection/engines/ APP_ID /servingConfigs/default_search:search" \ -d '{ "query": " KEYWORD_QUERY ", "filter": "patient_id: ANY(\" PATIENT_ID \") AND resource_type: ANY(\"Composition\", \"DiagnosticReport\", \"DocumentReference\")", "orderBy": "_RELEVANCE" }'
Replace the following:
-
PROJECT_ID: the ID of your Google Cloud project. -
APP_ID: the ID of the Vertex AI Search app that you want to query. -
KEYWORD_QUERY: the keyword that you want to search across the patient clinical data for the filtered patient, such as "diabetes" or "a1c". -
PATIENT_ID: the resource ID of the patient whose data you want to search.
You should receive a JSON response that contains itemized search results listed in the order of their relevance.
-

