기본적으로 의료 데이터를 검색하면 검색 결과가 역순으로 반환됩니다. 비정형 텍스트가 포함된 다음 FHIR 리소스 유형을 검색할 때 쿼리와의 관련성에 따라 검색 결과를 정렬할 수 있습니다.
- 음악작품
- DiagnosticReport
- DocumentReference
예시 시나리오
특정 환자의 키워드 insulin
을 검색하고 결과를 비정형 텍스트가 포함된 리소스로 필터링했다고 가정해 보겠습니다. 다른 결과 중 다음과 같은 문서가 표시됩니다.
- 결과 1: 2024년 4월 24일자 DocumentReference 리소스로, 환자의 'HbA1c' 수치에 관한 메모가 포함되어 있습니다.
- 결과 2: 2024년 1월 11일자 DiagnosticReport 리소스로, 환자가 따라야 하는 '인슐린 요법'에 관한 메모가 포함되어 있습니다.
기본적으로 최신 문서인 결과 1이 검색 결과에 더 높은 순서로 표시되지만 관련성별로 정렬하면 결과 2가 검색 결과에 더 높은 순서로 표시됩니다. 이는 검색어 insulin
과 더 관련성이 높기 때문입니다.
의료 검색 결과 정렬
관련성별로 검색 결과를 정렬하려면 다음 단계를 완료하세요.
콘솔
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
쿼리할 의료 검색 앱을 선택합니다.
탐색 메뉴에서 미리보기를 클릭합니다.
환자 ID 필드에 데이터를 쿼리하려는 환자의 ID를 입력합니다. 환자 ID는 대소문자를 구분합니다.
Enter 키를 누르거나 미리보기를 클릭하여 환자 ID를 제출합니다.
검색어 입력 검색창에 쿼리를 입력합니다.
자동 완성을 사용 설정한 경우 입력할 때 검색창 아래에 자동 완성 추천 용어가 표시됩니다.
Enter 키를 눌러 쿼리를 제출합니다.
- 검색 결과는 FHIR 리소스 유형에 따라 분류된 페이지가 지정된 테이블에 표시됩니다.
- 기본적으로 모든 FHIR 리소스 유형의 검색 결과는 시간 역순으로 표시됩니다.
Composition, DocumentReference, DiagnosticReport 리소스의 경우 정렬: 시간 역순 필터를 클릭하고 목록에서 관련성을 선택합니다. 그런 다음 이러한 리소스의 결과가 관련성별로 정렬됩니다.
REST
관련성에 따라 검색 결과를 정렬하려면 다음과 같이 search
요청을 수정합니다.
- 요청에
filter
필드를 추가하여 검색 결과를 Composition, DiagnosticReport, DocumentReference와 같이 비정형 텍스트가 포함된 FHIR 리소스로만 제한합니다. - 검색 요청에
orderBy
필드를 추가하고 값을_RELEVANCE
로 설정하여 관련성별로 정렬된 검색 응답을 가져옵니다.
검색 요청을 전송합니다.
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": "patient_id: ANY(\"PATIENT_ID\") AND resource_type: ANY(\"Composition\", \"DiagnosticReport\", \"DocumentReference\")", "orderBy": "_RELEVANCE" }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.APP_ID
: 쿼리할 Vertex AI Search 앱의 ID입니다.KEYWORD_QUERY
: 필터링된 환자의 환자 임상 데이터에서 검색하려는 키워드입니다(예: '당뇨', 'a1c').PATIENT_ID
: 데이터를 검색하려는 환자의 리소스 ID입니다.
관련성 순으로 나열된 항목별 검색 결과가 포함된 JSON 응답이 표시됩니다.