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 tanggal dan nilai waktu yang ditentukan.
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
Respons
Anda akan menerima respons JSON yang mirip dengan respons yang terpotong
berikut. Respons berisi hasil penelusuran terperinci yang tercantum dalam urutan kronologis
terbalik dengan cuplikan, jika cuplikan tersedia. Kolom
structData
berisi data JSON terstruktur untuk
dokumen.
{ "results": [ { "id": "DOCUMENT_ID ", "document": { "name": "projects/PROJECT_ID /locations/us/collections/default_collection/dataStores/DATA_STORE_ID /branches/0/documents/DOCUMENT_ID ", "id": "DOCUMENT_ID ", "structData": { ... "resource_type": "FHIR_RESOURCE_TYPE ", "resource_datetime": "RESOURCE_DATETIME ", "patient_id": "PATIENT_ID ", "FHIR_RESOURCE_TYPE ": { ... } }, "derivedStructData": { "snippets": [ { "snippet": "SNIPPET_TEXT ", "snippet_status": "SUCCESS" } ] } } }] }
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\")"