Saat membuat kueri data layanan kesehatan, Anda dapat menggunakan filter untuk menyaring respons penelusuran. Dalam permintaan penelusuran, Anda dapat memberikan filter untuk menerapkan kriteria yang menyertakan atau mengecualikan respons penelusuran tertentu.
Misalnya, saat Anda menelusuri data satu pasien, isi permintaan penelusuran harus berisi ekspresi filter berikut yang menentukan ID pasien:
"filter": "patient_id: ANY(\"PATIENT_ID\")"
Halaman ini menunjukkan cara menentukan filter untuk penelusuran layanan kesehatan.
Sebelum memulai
Sebelum memulai, lakukan hal berikut:
- Buat aplikasi penelusuran layanan kesehatan dan penyimpanan data penelusuran layanan kesehatan, lalu impor data FHIR R4. Untuk mengetahui informasi selengkapnya, lihat Membuat aplikasi penelusuran layanan kesehatan dan Membuat penyimpanan data penelusuran layanan kesehatan.
- Tinjau daftar resource FHIR R4 yang didukung Vertex AI Search sebagai kolom yang dapat diindeks, ditelusuri, dan diambil. Untuk mengetahui informasi selengkapnya, lihat Referensi skema data FHIR R4 Layanan kesehatan.
- Pahami sintaksis ekspresi filter.
Menentukan filter
Filter ditentukan di kolom filter
dalam isi permintaan metode servingConfigs.search
.
Definisi filter mengikuti sintaksis ekspresi filter.
Dalam ekspresi filter, literal dapat berupa kolom yang dapat diindeks dari respons terhadap kueri penelusuran. Misalnya, jika respons berisi resource Observation,
patient_id
yang dirujuk oleh resource Observation dapat digunakan sebagai literal
filter.
Bagian berikut menunjukkan beberapa contoh cara membuat filter.
Menentukan filter resource_datetime
Contoh ini menunjukkan cara menentukan filter untuk penelusuran yang hanya menyertakan resource yang memiliki nilai resource_datetime
setelah nilai tanggal dan waktu yang ditentukan.
REST
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/dataStores/DATA_STORE_ID/servingConfigs/default_search:search" \ -d '{ "query": "QUERY", "filter": "patient_id: ANY(\"PATIENT_ID\") AND resource_datetime > \"DATE_TIME_VALUE, "contentSearchSpec":{"snippetSpec":{"returnSnippet":true}} }'
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud Anda.DATA_STORE_ID
: ID penyimpanan data Vertex AI Search.QUERY
: kueri penelusuran.PATIENT_ID
: ID resource pasien yang datanya ingin Anda telusuri.DATE_TIME_VALUE
: nilai kolomresource_datetime
yang mewakili tanggal dan waktu dalam format dateTime FHIR. Beberapa contoh kolom ini adalah sebagai berikut:- Untuk menentukan tanggal dan waktu dengan zona waktu yang dipisahkan oleh pemisah
T
:2022-08-05T01:00:00+00:00
- Untuk menentukan tanggal:
2022-08-05
- Untuk menentukan bulan:
2022-08
- Untuk menentukan tahun:
2022
- Untuk menentukan tanggal dan waktu dengan zona waktu yang dipisahkan oleh pemisah
Menentukan filter jenis resource
Contoh berikut menunjukkan cara membuat filter yang menggunakan operator AND
untuk memfilter semua resource Komposisi terlebih dahulu, lalu memfilter resource yang
tanggalnya lebih lambat dari tanggal dan waktu yang ditentukan.
"filter": "resource_type: ANY("Composition") AND Composition.date > "2022-08-05T01:00:00+00:00""
Menentukan filter resource FHIR
Anda dapat menggunakan filter untuk memeriksa apakah resource FHIR ada di
penyimpanan data Vertex AI Search. Misalnya, Anda dapat menelusuri resource DocumentReference yang memiliki ID 6112d1ac-c6bd-4755-d689-bfb71d59afc5
menggunakan filter berikut.
"filter": "DocumentReference.id: ANY(\"6112d1ac-c6bd-4755-d689-bfb71d59afc5\")"