Membuat penelusuran FHIR kustom

Halaman ini menjelaskan cara mengonfigurasi penyimpanan FHIR guna mendukung parameter penelusuran kustom untuk kolom dan ekstensi yang tidak tercakup oleh parameter penelusuran standar FHIR.

Parameter penelusuran kustom dapat berguna dalam banyak situasi, termasuk situasi berikut:

  • Anda harus menelusuri kolom di resource FHIR, tetapi tidak ada parameter penelusuran yang didukung untuk kolom tersebut.
  • Anda perlu melakukan penelusuran di ekstensi yang ditambahkan ke model data FHIR.

Ringkasan

Secara default, penelusuran resource FHIR mendukung parameter penelusuran standar yang ditentukan dalam spesifikasi FHIR, dengan beberapa pengecualian yang didokumentasikan dalam pernyataan kemampuan FHIR atau pernyataan kesesuaian FHIR.

Anda dapat membuat satu atau beberapa parameter penelusuran kustom dan mengonfigurasi penyimpanan FHIR untuk mendukungnya dalam kueri melalui metode search. Parameter penelusuran kustom berguna dalam situasi berikut:

  • Untuk menelusuri kolom yang tidak tercakup oleh parameter penelusuran standar.
  • Untuk menelusuri ekstensi model data FHIR.

Banyak panduan penerapan FHIR yang menentukan parameter penelusuran, yang dapat Anda gunakan dalam penelusuran.

Parameter penelusuran kustom mendukung perilaku penelusuran yang sama, termasuk fitur penelusuran FHIR lanjutan seperti parameter penelusuran standar, seperti berikut:

  • pengubah
  • _include dan _revinclude
  • penelusuran berantai
  • _sort

Jika ingin mengaktifkan penelusuran kustom untuk penyimpanan FHIR, Anda harus membuat satu atau beberapa resource SearchParameter yang menentukan perilaku penelusuran terlebih dahulu. SearchParameter adalah jenis resource FHIR standar yang dapat dibuat, diperbarui, atau dihapus menggunakan metode yang sama seperti jenis resource lainnya. Lihat Membuat resource parameter penelusuran di Play Store.

Resource SearchParameter di penyimpanan FHIR tidak berlaku hingga dikonfigurasi menggunakan metode configureSearch. Metode ini mengaktifkan daftar parameter penelusuran kustom. Setiap kali dipanggil, parameter ini akan menggantikan daftar parameter sebelumnya. Operasi yang berjalan lama dipicu agar configureSearch mengindeks ulang semua resource yang relevan di dalam toko sesuai dengan konfigurasi penelusuran yang baru. Semua resource baru dan yang diperbarui setelah panggilan metode diindeks sesuai dengan konfigurasi baru. Semua data indeks untuk parameter penelusuran kustom yang tidak lagi ada dalam konfigurasi akan dihapus. Untuk detail selengkapnya tentang cara menggunakan configureSearch, lihat Mengaktifkan parameter penelusuran kustom untuk penyimpanan FHIR Anda.

CapabilityStatement toko, yang diambil melalui metode fhir.capabilities, mencantumkan parameter penelusuran standar dan kustom. Parameter penelusuran untuk resource ditemukan di kolom rest.resource.searchParam.

Membuat resource SearchParameter di penyimpanan FHIR

Contoh berikut menunjukkan cara membuat resource parameter penelusuran kustom menggunakan metode projects.locations.datasets.fhirStores.fhir.create. Anda juga dapat menggunakan metode projects.locations.datasets.fhirStores.import.

Untuk deskripsi kolom yang relevan dari parameter penelusuran, lihat kolom resource SearchParameter.

curl

Contoh berikut menunjukkan permintaan POST yang menggunakan curl.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
        \"resourceType\": \"SearchParameter\",
        \"url\": \"CANONICAL_URL\",
        \"base\": [\"RESOURCE_TYPE\"],
        \"code\": \"SEARCH_PARAMETER_CODE\",
        \"name\": \"SEARCH_PARAMETER_NAME\",
        \"type\": \"SEARCH_PARAMETER_TYPE\",
        \"expression\": \"SEARCH_PARAMETER_EXPRESSION\",
        \"status\": \"active\",
        \"description\": \"SEARCH_PARAMETER_DESCRIPTION\"
    }" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"

Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

{
  "resourceType": "SearchParameter",
  "url": "CANONICAL_URL",
  "base": ["RESOURCE_TYPE"],
  "code": "SEARCH_PARAMETER_CODE",
  "name": "SEARCH_PARAMETER_NAME",
  "type": "SEARCH_PARAMETER_TYPE",
  "expression": "SEARCH_PARAMETER_EXPRESSION",
  "status": "active",
  "description": "SEARCH_PARAMETER_DESCRIPTION",
  "meta": {
    "lastUpdated": "LAST_UPDATED",
    "versionId": "VERSION_ID"
  },
}

PowerShell

Contoh berikut menunjukkan permintaan POST menggunakan Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

$SearchParameter = '{
    "resourceType": "SearchParameter",
    "url": "CANONICAL_URL",
    "base": ["RESOURCE_TYPE"],
    "code": "SEARCH_PARAMETER_CODE",
    "name": "SEARCH_PARAMETER_NAME",
    "type": "SEARCH_PARAMETER_TYPE",
    "expression": "SEARCH_PARAMETER_EXPRESSION",
    "status": "active",
    "description": "SEARCH_PARAMETER_DESCRIPTION"
}'

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body $SearchParameter `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter" | ConvertTo-Json

Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

{
  "resourceType": "SearchParameter",
  "url": "CANONICAL_URL",
  "base": ["RESOURCE_TYPE"],
  "code": "SEARCH_PARAMETER_CODE",
  "name": "SEARCH_PARAMETER_NAME",
  "type": "SEARCH_PARAMETER_TYPE",
  "expression": "SEARCH_PARAMETER_EXPRESSION",
  "status": "active",
  "description": "SEARCH_PARAMETER_DESCRIPTION",
  "meta": {
    "lastUpdated": "LAST_UPDATED",
    "versionId": "VERSION_ID"
  },
}

Mengaktifkan parameter penelusuran kustom untuk penyimpanan FHIR Anda

Guna mengaktifkan satu atau beberapa parameter penelusuran kustom untuk penyimpanan FHIR Anda, buat permintaan POST ke metode [store base URL]:configureSearch dan tentukan URL kanonis untuk setiap parameter penelusuran yang Anda aktifkan.

URL kanonis ditentukan dalam salah satu format berikut:

  • uri: Memilih version terbesar yang tersedia di toko untuk URI tersebut.
  • uri|version Memilih versi tertentu.

Misalnya, jika penyimpanan berisi versi 1.0.0 dan 1.0.1 untuk parameter penelusuran dengan URI http://example.com/search, URL kanonis http://example.com/search|1.0.0 akan memilih versi 1.0.0. URL kanonis http://example.com/search memilih versi 1.0.1.

Daftar URL yang diberikan untuk metode ini menggantikan konfigurasi sebelumnya dan menghapus parameter penelusuran kustom yang sebelumnya berlaku. Konfigurasi di-cache berdasarkan konten resource SearchParameter yang ada pada saat configureSearch dipanggil. Konfigurasi tidak akan diperbarui jika resource SearchParameter diperbarui atau dihapus hingga configureSearch dipanggil lagi.

Jika panggilan metode [store base URL]:configureSearch berhasil, nilai yang ditampilkan adalah nama operasi yang berjalan lama untuk mengindeks ulang resource di penyimpanan sesuai dengan konfigurasi baru. Anda dapat melihat status operasi yang berjalan lama menggunakan metode operations.get, dan dapat membatalkannya menggunakan metode operations.cancel. Status berisi penghitung yang menunjukkan jumlah resource yang telah berhasil diindeks ulang.

Penelusuran di Play Store terus berfungsi secara normal saat operasi yang berjalan lama berjalan, kecuali bahwa parameter penelusuran kustom yang ditambahkan atau diubah oleh operasi ini menampilkan hasil yang tidak lengkap. Membatalkan operasi adalah tindakan yang aman, tetapi dapat menyebabkan pengindeksan parsial parameter penelusuran kustom. Sebaiknya selesaikan seluruh operasi pengindeksan ulang yang berhasil sebelum melakukan penelusuran dengan parameter yang baru ditambahkan atau diubah.

Jika ada error, error tersebut akan ditampilkan di Cloud Logging.

Metode configureSearch juga dapat digunakan dengan opsi "validate_only": true untuk memvalidasi parameter penelusuran yang ditentukan tanpa mengubah konfigurasi penyimpanan dan tanpa mengindeks ulang data apa pun.

Contoh berikut menunjukkan cara mengaktifkan satu atau beberapa parameter penelusuran kustom untuk penyimpanan FHIR Anda menggunakan metode projects.locations.datasets.fhirStores.configureSearch.

curl

Contoh berikut menunjukkan permintaan POST yang menggunakan curl.

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
        \"canonicalUrls\": [\"CANONICAL_URL1\",\"CANONICAL_URL2\"],
    }" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"

Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
}

Respons berisi nama operasi. Untuk melacak status operasi, Anda dapat menggunakan metode get Operasi:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

Jika operasi yang berjalan lama masih berjalan, server akan menampilkan respons dengan jumlah resource FHIR yang tertunda pengindeksan ulang dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1beta1.fhir.FhirStoreService.ConfigureSearch",
    "createTime": "CREATE_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL",
    "counter": {
      "pending": "PENDING_COUNT"
    }
  }
}

Setelah LRO selesai, server akan menampilkan respons dengan status operasi dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.configureSearch",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL",
    "counter": {
      "success": "SUCCESS_COUNT"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty",
  }
}

Jika LRO berhasil, respons akan berisi jumlah resource FHIR yang berhasil diindeks ulang dan jenis respons google.protobuf.Empty.

PowerShell

Contoh berikut menunjukkan permintaan POST menggunakan Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

$configureSearch = '{
  "canonical_urls": [
    "CANONICAL_URL1",
    "CANONICAL_URL2"
  ]
}'

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body $configureSearch `
  -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"

Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
}

Respons berisi nama operasi. Untuk melacak status operasi, Anda dapat menggunakan metode get Operasi:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

Jika operasi yang berjalan lama masih berjalan, server akan menampilkan respons dengan jumlah resource FHIR yang tertunda pengindeksan ulang dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1beta1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1beta1.fhir.FhirStoreService.ConfigureSearch",
    "createTime": "CREATE_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL",
    "counter": {
      "pending": "PENDING_COUNT"
    }
  }
}

Setelah LRO selesai, server akan menampilkan respons dengan status operasi dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1.fhir.FhirService.configureSearch",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/query/CLOUD_LOGGING_URL",
    "counter": {
      "success": "SUCCESS_COUNT"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty",
  }
}

Jika LRO berhasil, respons akan berisi jumlah resource FHIR yang berhasil diindeks ulang dan jenis respons google.protobuf.Empty.

Anda dapat menelusuri menggunakan SearchParameter khusus dengan cara yang sama seperti penelusuran lainnya. Gunakan nilai code dari resource parameter penelusuran sebagai key untuk kueri penelusuran. Untuk informasi selengkapnya, lihat Menelusuri resource FHIR.

Kolom resource SearchParameter

Bagian berikut menjelaskan kolom resource SearchParameter yang relevan dengan penelusuran kustom. Kolom ini tersedia di FHIR versi STU3 dan R4.

uri dan version

Kolom uri yang wajib ada dan kolom version yang bersifat opsional menentukan URL kanonis untuk resource SearchParameter. Kombinasi uri dan version harus unik dalam penyimpanan FHIR.

URL kanonis adalah URL yang digunakan dalam panggilan configureSearch.

name, description, dan status

Kolom name, description, dan status wajib ada, tetapi tidak memiliki efek fungsional.

base

Kolom base mencantumkan jenis resource FHIR tempat penelusuran ini diterapkan.

Jika ada lebih dari satu jenis, kolom expression harus memiliki klausa untuk setiap jenis. Tidak ada perbedaan antara menetapkan satu parameter pada dua jenis atau menentukan satu parameter untuk setiap jenis. Menentukan satu parameter untuk beberapa jenis resource akan membuat definisinya lebih ringkas.

code

Kolom code menentukan kunci yang akan digunakan dalam kueri penelusuran FHIR. Misalnya, jika code ditentukan sebagai payment-type dan base ditentukan sebagai Claim, kueri penelusuran yang menggunakan parameter ini adalah Claim?payment-type=ABC.

Kolom code tidak boleh memiliki nilai yang sama dengan parameter penelusuran standar atau kustom lainnya pada jenis resource yang sama. Parameter penelusuran standar tidak dapat ditentukan ulang atau diubah menggunakan parameter penelusuran kustom. Metode configureSearch menolak parameter penelusuran duplikat.

Nilai kolom code harus memenuhi persyaratan berikut:

  • Harus diawali dengan huruf
  • Tidak boleh lebih dari 64 karakter
  • Hanya boleh berisi hal berikut:
    • Karakter alfanumerik
    • Karakter tanda hubung -
    • Karakter garis bawah _

Konvensi standar FHIR untuk kolom code adalah huruf kecil dengan tanda hubung.

type

Kolom type menentukan jenis parameter penelusuran. Jenis parameter penelusuran menentukan semantik kondisi penelusuran seperti yang ditetapkan dalam spesifikasi penelusuran FHIR. Nilai type ini harus kompatibel dengan jenis data kolom yang ditentukan oleh kolom expression. Jika tidak, configureSearch akan menolak parameter penelusuran kustom.

Kolom type harus ditentukan sebagai salah satu hal berikut:

  • number
  • date
  • string
  • token
  • reference
  • quantity
  • uri

Jenis composite dan special tidak didukung.

expression

Kolom expression menentukan kolom atau ekstensi yang merupakan kueri parameter penelusuran. Kolom ini menggunakan kumpulan sintaksis dan fungsi terbatas dari FHIRPath.

Sintaksis kolom

Kolom expression didefinisikan sebagai jalur yang dimulai dengan jenis resource dan diikuti oleh satu atau beberapa kolom yang dipisahkan oleh ., misalnya Patient.contact.name.given. Struktur kolom data FHIR dapat ditemukan di resource FHIR dan jenis data FHIR.

Beberapa klausa

Kolom expression dapat berisi beberapa klausa yang dipisahkan oleh |. Dalam hal ini, parameter penelusuran akan cocok jika salah satu klausa cocok dengan resource. Misalnya, parameter penelusuran dengan ekspresi Patient.name.given | Patient.name.family cocok dengan salah satu dari kedua kolom tersebut. Gunakan beberapa klausa saat lebih dari satu jenis resource ditentukan di base. Misalnya, Patient.name.given | Practitioner.name.given untuk parameter penelusuran yang berlaku untuk Patient dan Practitioner.

.as([data type])

Gunakan fungsi .as([data type]) jika sebuah kolom memiliki lebih dari satu jenis data potensial. Misalnya, kolom Observation.value dapat berisi berbagai jenis, seperti Quantity dan String, yang berfungsi dengan berbagai jenis penelusuran. Anda dapat memilih jenis penelusuran ini dengan Observation.value.as(Quantity)atau Observation.value.as(String).

Memilih ekstensi

Anda dapat memilih ekstensi dengan fungsi .extension([canonical url]). Karena ekstensi berisi kolom value yang dapat berisi jenis data apa pun, jalur lengkap ditentukan sebagai .extension([canonical url]).value.as([data type]). Ekstensi kompleks dapat menggunakan beberapa komponen .extension(), misalnya Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-citizenship').extension('code').value.as(CodeableConcept).

Anda juga dapat menggunakan fungsi .extension.where(url='[canonical url]') untuk memilih ekstensi. Ini adalah satu-satunya konteks saat fungsi where() diizinkan.

Tidak ada fungsi FHIRPath lain yang didukung.

target

Jika kolom type ditetapkan sebagai reference, kolom target harus berisi satu atau beberapa jenis resource FHIR yang menentukan jenis resource mana yang dapat menjadi target penelusuran referensi ini.

Misalnya, jika kolom Patient.generalPractitioner mengizinkan referensi ke Practitioner, PractitionerRole, dan Organization, parameter penelusuran dapat secara khusus mencocokkan referensi ke Practitioner, PractitionerRole, atau Organization. Untuk mencocokkan semua jenis referensi target, sertakan semua jenis di kolom target.

modifier, comparator, multipleOr, multipleAnd, dan chain

Kolom modifier, comparator, multipleOr, multipleAnd, dan chain diabaikan. Opsi dan fungsi yang tersedia dengan parameter penelusuran kustom sama dengan yang didukung oleh penyimpanan FHIR pada parameter penelusuran standar dari jenis yang sama.

Jika Anda menerapkan parameter penelusuran yang diperoleh dari panduan penerapan FHIR, impor resource SearchParameter dari file JSON panduan penerapan Anda ke penyimpanan FHIR menggunakan salah satu metode berikut:

Dalam beberapa kasus, Anda harus mengonversi parameter penelusuran yang dipublikasikan untuk Cloud Healthcare API guna mendukungnya. Jika parameter penelusuran tidak dikonversi, metode configureSearch akan menolaknya. Batasan berikut berlaku untuk parameter penelusuran dari panduan penerapan:

  • Jika parameter penelusuran identik dengan parameter dalam spesifikasi FHIR dasar, metode configureSearch akan menolak parameter penelusuran duplikat. Hapus duplikat tersebut saat memanggil configureSearch. Untuk informasi selengkapnya, lihat code.

  • Jika parameter penelusuran hanya berisi ekspresi xpath, konversikan ekspresi tersebut ke ekspresi FHIRPath yang setara dan gunakan di kolom expression. Untuk informasi selengkapnya, lihat expression.

  • Jenis parameter penelusuran composite dan special tidak didukung.

  • Sintaksis transmisi jenis alternatif ([field] as [data type]) tidak didukung. Konversikan ke [field].as([data type]) setara yang didukung. Untuk informasi selengkapnya, lihat .as([data type]).

  • Konvensi [reference field].where(resolve() is [resource type]) untuk membatasi jenis resource yang direferensikan tidak didukung. Hapus klausa where() dan simpan jenis resource yang direferensikan di kolom SearchParameter.target. Untuk informasi selengkapnya, lihat target.

  • Beberapa panduan implementasi menggunakan ekspresi untuk ekstensi yang menghilangkan beberapa komponen jalur yang diperlukan oleh penyimpanan FHIR Cloud Healthcare API. Misalnya, Patient.extension('url') harus diubah menjadi Patient.extension('url').value.as([data type]), dan Patient.extension('url').extension.value harus diubah menjadi Patient.extension('url').extension('url2').value.as([data type]).

Contoh

Menggunakan penelusuran kustom untuk menelusuri kolom ekstensi

Langkah-langkah berikut menunjukkan contoh penelusuran teks dalam ekstensi mothersMaidenName di resource Pasien.

  1. Membuat contoh referensi Pasien:

    curl

    Contoh berikut menunjukkan cara membuat resource Pasien dengan membuat permintaan POST menggunakan curl. Resource Pasien ini memiliki ekstensi mothersMaidenName yang ditetapkan ke Marca.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data "{
          \"name\": [
              {
                  \"use\": \"official\",
                  \"family\": \"Smith\",
                  \"given\": [
                      \"Darcy\"
                  ]
              }
          ],
          \"gender\": \"female\",
          \"birthDate\": \"1970-01-01\",
          \"resourceType\": \"Patient\",
          \"extension\": [
              {
                  \"url\": \"http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName\",
                  \"valueString\": \"Marca\"
              }
          ]
        }" \
        "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
    

    Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:

    {
      "birthDate": "1970-01-01",
      "gender": "female",
      "id": "PATIENT_ID",
      "meta": {
        "lastUpdated": "2020-01-01T00:00:00+00:00",
        "versionId": "VERSION_ID"
      },
      "name": [
        {
          "family": "Smith",
          "given": [
            "Darcy"
          ],
          "use": "official"
        }
      ],
      "resourceType": "Patient"
      "extension": [
        {
            "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName",
            "valueString": "Marca"
        }
      ]
    }
    

    PowerShell

    Contoh berikut menunjukkan cara membuat resource Pasien dengan membuat permintaan POST menggunakan Windows PowerShell. Resource Pasien ini memiliki ekstensi mothersMaidenName yang disetel ke Marca.

    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    $Patient = '{
        "name": [
            {
                "use": "official",
                "family": "Smith",
                "given": [
                    "Darcy"
                ]
            }
        ],
        "gender": "female",
        "birthDate": "1970-01-01",
        "resourceType": "Patient",
        "extension": [
            {
                "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName",
                "valueString": "Marca"
            }
        ]
    }'
    
    Invoke-RestMethod `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/fhir+json; charset=utf-8" `
      -Body $Patient `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | ConvertTo-Json
    

    Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:

    {
      "birthDate": "1970-01-01",
      "gender": "female",
      "id": "PATIENT_ID",
      "meta": {
        "lastUpdated": "2020-01-01T00:00:00+00:00",
        "versionId": "VERSION_ID"
      },
      "name": [
        {
          "family": "Smith",
          "given": [
            "Darcy"
          ],
          "use": "official"
        }
      ],
      "resourceType": "Patient"
      "extension": [
        {
            "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName",
            "valueString": "Marca"
        }
      ]
    }
    

  2. Buat resource parameter penelusuran kustom:

    curl

    Contoh berikut menunjukkan cara membuat resource parameter penelusuran kustom untuk ekstensi mothersMaidenName dengan membuat permintaan POST menggunakan curl.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data "{
            \"resourceType\": \"SearchParameter\",
            \"url\": \"http://example.com/SearchParameter/patient-mothersMaidenName\",
            \"base\": [\"Patient\"],
            \"code\": \"mothers-maiden-name\",
            \"name\": \"mothers-maiden-name\",
            \"type\": \"string\",
            \"expression\": \"Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value.as(String)\",
            \"status\": \"active\",
            \"description\": \"search on mother's maiden name\"
      }" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    { 
     "resourceType": "SearchParameter",
     "url": "http://example.com/SearchParameter/patient-mothersMaidenName",
     "base": ["Patient"],
     "code": "mothers-maiden-name",
     "name": "mothers-maiden-name",
     "type": "string",
     "expression": "Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value.as(String)",
     "status": "active",
     "description": "search on mother's maiden name",
     "meta": {
      "lastUpdated": "2020-01-01T00:00:00+00:00",
      "versionId": "VERSION_ID"
     },
    }

    PowerShell

    Berikut ini cara membuat resource parameter penelusuran kustom untuk ekstensi `mothersMaidenName` dengan membuat permintaan `POST` menggunakan Windows PowerShell.
    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    $SearchParameter = '{
        "resourceType": "SearchParameter",
        "url": "http://example.com/SearchParameter/patient-mothersMaidenName",
        "base": ["Patient"],
        "code": "mothers-maiden-name",
        "name": "mothers-maiden-name",
        "type": "string",
        "expression": "Patient.extension(''http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName'').value.as(String)",
        "status": "active",
        "description": "search on mother''s maiden name"
    }'
    
    Invoke-WebRequest `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -Body $SearchParameter `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    { 
     "resourceType": "SearchParameter",
     "url": "http://example.com/SearchParameter/patient-mothersMaidenName",
     "base": ["Patient"],
     "code": "mothers-maiden-name",
     "name": "mothers-maiden-name",
     "type": "string",
     "expression": "Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value.as(String)",
     "status": "active",
     "description": "search on mother's maiden name",
     "meta": {
       "lastUpdated": "2020-01-01T00:00:00+00:00",
       "versionId": "VERSION_ID"
     },
    }
    Untuk menargetkan jenis data yang berbeda di kolom expression, gunakan fungsi .as([data type]). Misalnya, untuk menentukan ekspresi penelusuran untuk nilai boolean, gunakan .value.as(Boolean). Untuk informasi selengkapnya, lihat .as([data type]).

  3. Aktifkan parameter penelusuran:

    curl

    Untuk mengaktifkan parameter penelusuran kustom, buat permintaan POST dan tentukan URL kanonis untuk setiap parameter penelusuran yang Anda aktifkan.

    Contoh berikut menunjukkan permintaan POST yang menggunakan curl.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data "{
            \"canonicalUrls\": [\"http://example.com/SearchParameter/patient-mothersMaidenName\"],
        }" \
        "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
    }
    

    PowerShell

    Untuk mengaktifkan parameter penelusuran kustom, buat permintaan POST dan tentukan URL kanonis untuk setiap parameter penelusuran yang Anda aktifkan.

    Contoh berikut menunjukkan permintaan POST menggunakan Windows PowerShell.

    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    $configureSearch = '{
      "canonicalUrls": "http://example.com/SearchParameter/patient-mothersMaidenName"
    }' `
    
    Invoke-WebRequest `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -Body $configureSearch `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
    }
    

  4. Telusuri menggunakan parameter penelusuran kustom:

    curl

    Contoh berikut menunjukkan cara menelusuri resource Pasien untuk string Marca dalam ekstensi mothersMaidenName dengan membuat permintaan GET menggunakan curl.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?mothers-maiden-name:exact=Marca"
    

    Jika permintaan berhasil, server akan menampilkan respons sebagai Bundle FHIR dalam format JSON. Bundle.type adalah searchset dan hasil penelusuran adalah entri dalam array Bundle.entry. Dalam contoh ini, permintaan menampilkan satu resource Pasien termasuk data di dalam resource tersebut:

    {
      "entry": [
        {
          "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID",
          "resource": {
            "birthDate": "1970-01-01",
            "gender": "female",
            "id": "PATIENT_ID",
            "meta": {
              "lastUpdated": "LAST_UPDATED",
              "versionId": "VERSION_ID"
            },
            "name": [
              {
                "family": "Smith",
                "given": [
                  "Darcy"
                ],
                "use": "official"
              }
            ],
            "resourceType": "Patient"
            "extension": [
              {
                  "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName",
                  "valueString": "Marca"
              }
            ]
          },
          "search": {
            "mode": "match"
          }
        }
      ],
      "link": [
        {
          "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith"
        }
      ],
      "resourceType": "Bundle",
      "total": 1,
      "type": "searchset"
    }
    

    PowerShell

    Contoh berikut menunjukkan cara menelusuri resource Pasien untuk string `Marca` dalam ekstensi `mothersMaidenName` dengan membuat permintaan `GET` menggunakan Windows PowerShell.
    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    Invoke-RestMethod `
      -Method Get `
      -Headers $headers `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?mothers-maiden-name:exact=Marca" | ConvertTo-Json
    

    Jika permintaan berhasil, server akan menampilkan respons sebagai Bundle FHIR dalam format JSON. Bundle.type adalah searchset dan hasil penelusuran adalah entri dalam array Bundle.entry. Dalam contoh ini, permintaan menampilkan satu resource Pasien termasuk data di dalam resource tersebut:

    {
      "entry": [
        {
          "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID",
          "resource": {
            "birthDate": "1970-01-01",
            "gender": "female",
            "id": "PATIENT_ID",
            "meta": {
              "lastUpdated": "LAST_UPDATED",
              "versionId": "VERSION_ID"
            },
            "name": [
              {
                "family": "Smith",
                "given": [
                  "Darcy"
                ],
                "use": "official"
              }
            ],
            "resourceType": "Patient"
            "extension": [
              {
                  "url": "http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName",
                  "valueString": "Marca"
              }
            ]
          },
          "search": {
            "mode": "match"
          }
        }
      ],
      "link": [
        {
          "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?family%3Aexact=Smith"
        }
      ],
      "resourceType": "Bundle",
      "total": 1,
      "type": "searchset"
    }
    

Menggunakan penelusuran kustom untuk menelusuri di kolom ekstensi 2 tingkat

Langkah-langkah berikut menunjukkan cara menelusuri kode dalam ekstensi us-core-ethnicity di resource Pasien.

  1. Membuat contoh referensi Pasien:

    curl

    Contoh berikut menunjukkan cara membuat resource Pasien dengan membuat permintaan POST menggunakan curl. Resource Pasien ini memiliki kumpulan ekstensi us-core-ethnicity.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data "{
          \"name\": [
              {
                  \"use\": \"official\",
                  \"family\": \"Smith\",
                  \"given\": [
                      \"Darcy\"
                  ]
              }
          ],
          \"gender\": \"female\",
          \"birthDate\": \"1970-01-01\",
          \"resourceType\": \"Patient\",
          \"extension\": [
              {
                \"url\": \"http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity\",
                \"extension\": [
                  {
                    \"url\" : \"ombCategory\",
                    \"valueCoding\" : {
                      \"system\" : \"urn:oid:2.16.840.1.113883.6.238\",
                      \"code\" : \"2028-9\",
                      \"display\" : \"Asian\"
                    }
                  }
                ]
              }
          ]
        }" \
        "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
    

    Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:

    {
      "birthDate": "1970-01-01",
      "gender": "female",
      "id": "PATIENT_ID",
      "meta": {
        "lastUpdated": "2020-01-01T00:00:00+00:00",
        "versionId": "VERSION_ID"
      },
      "name": [
        {
          "family": "Smith",
          "given": [
            "Darcy"
          ],
          "use": "official"
        }
      ],
      "resourceType": "Patient"
      "extension": [
        {
          "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
          "extension": [
            {
              "url" : "ombCategory",
              "valueCoding" : {
                "system" : "urn:oid:2.16.840.1.113883.6.238",
                "code" : "2028-9",
                "display" : "Asian"
              }
            }
          ]
        }
      ]
    }
    

    PowerShell

    Contoh berikut menunjukkan cara membuat resource Pasien dengan membuat permintaan POST menggunakan Windows PowerShell. Resource Pasien ini memiliki ekstensi us-core-ethnicity yang ditetapkan.

    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    $Patient = '{
        "name": [
            {
                "use": "official",
                "family": "Smith",
                "given": [
                    "Darcy"
                ]
            }
        ],
        "gender": "female",
        "birthDate": "1970-01-01",
        "resourceType": "Patient",
        "extension": [
          {
            "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
            "extension": [
              {
                "url" : "ombCategory",
                "valueCoding" : {
                  "system" : "urn:oid:2.16.840.1.113883.6.238",
                  "code" : "2028-9",
                  "display" : "Asian"
                }
              }
            ]
          }
        ]
    }'
    
    Invoke-RestMethod `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/fhir+json; charset=utf-8" `
      -Body $Patient `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient" | ConvertTo-Json
    

    Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:

    {
      "birthDate": "1970-01-01",
      "gender": "female",
      "id": "PATIENT_ID",
      "meta": {
        "lastUpdated": "2020-01-01T00:00:00+00:00",
        "versionId": "VERSION_ID"
      },
      "name": [
        {
          "family": "Smith",
          "given": [
            "Darcy"
          ],
          "use": "official"
        }
      ],
      "resourceType": "Patient"
      "extension": [
        {
          "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
          "extension": [
            {
              "url" : "ombCategory",
              "valueCoding" : {
                "system" : "urn:oid:2.16.840.1.113883.6.238",
                "code" : "2028-9",
                "display" : "Asian"
              }
            }
          ]
        }
      ]
    }
    

  2. Buat resource parameter penelusuran kustom:

    curl

    Contoh berikut menunjukkan cara membuat resource parameter penelusuran kustom untuk ekstensi us-core-ethnicity dengan membuat permintaan POST menggunakan curl.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data "{
            \"resourceType\": \"SearchParameter\",
            \"url\": \"http://example.com/SearchParameter/patient-us-core-ethnicity\",
            \"base\": [\"Patient\"],
            \"code\": \"ethnicity\",
            \"name\": \"ethnicity\",
            \"type\": \"token\",
            \"expression\": \"Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity').extension('ombCategory').value.as(Coding)\",
            \"status\": \"active\",
            \"description\": \"search on the ombCategory of a patient.\"
      }" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    {
      "resourceType": "SearchParameter",
      "url": "http://example.com/SearchParameter/patient-us-core-ethnicity",
      "base": ["Patient"],
      "code": "ethnicity",
      "name": "ethnicity",
      "type": "token",
      "expression": "Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity').extension('ombCategory').value.as(Coding)",
      "status": "active",
      "description": "search on the ombCategory of a patient.",
      "meta": {
        "lastUpdated": "2020-01-01T00:00:00+00:00",
        "versionId": "VERSION_ID"
      },
    }
    
    

    PowerShell

    Contoh berikut menunjukkan cara membuat resource parameter penelusuran kustom untuk ekstensi `mothersMaidenName` dengan membuat permintaan `POST` menggunakan Windows PowerShell.
    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    $SearchParameter = '{
        "resourceType": "SearchParameter",
        "url": "http://example.com/SearchParameter/patient-us-core-ethnicity",
        "base": ["Patient"],
        "code": "ethnicity",
        "name": "ethnicity",
        "type": "token",
        "expression": "Patient.extension(''http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'').extension(''ombCategory'').value.as(Coding)",
        "status": "active",
        "description": "search on the ombCategory of a patient."
    }'
    
    Invoke-WebRequest `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -Body $SearchParameter `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/SearchParameter"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    {
      "resourceType": "SearchParameter",
      "url": "http://example.com/SearchParameter/patient-us-core-ethnicity",
      "base": ["Patient"],
      "code": "ethnicity",
      "name": "ethnicity",
      "type": "token",
      "expression": "Patient.extension('http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity').extension('ombCategory').value.as(Coding)",
      "status": "active",
      "description": "search on the ombCategory of a patient.",
      "meta": {
        "lastUpdated": "2020-01-01T00:00:00+00:00",
        "versionId": "VERSION_ID"
      },
    }
    
    

  3. Aktifkan parameter penelusuran:

    curl

    Untuk mengaktifkan parameter penelusuran kustom, buat permintaan POST dan tentukan URL kanonis untuk setiap parameter penelusuran yang Anda aktifkan.

    Contoh berikut menunjukkan permintaan POST yang menggunakan curl.

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        --data "{
            \"canonicalUrls\": [\"http://example.com/SearchParameter/patient-us-core-ethnicity\"],
        }" \
        "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
    }
    

    PowerShell

    Untuk mengaktifkan parameter penelusuran kustom, buat permintaan POST dan tentukan URL kanonis untuk setiap parameter penelusuran yang Anda aktifkan.

    Contoh berikut menunjukkan permintaan POST menggunakan Windows PowerShell.

    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    $configureSearch = '{
      "canonicalUrls": "http://example.com/SearchParameter/patient-us-core-ethnicity"
    }' `
    
    Invoke-WebRequest `
      -Method Post `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -Body $configureSearch `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:configureSearch"
    

    Jika permintaan berhasil, server akan menampilkan respons dalam format JSON:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
    }
    

  4. Telusuri menggunakan parameter penelusuran kustom:

    curl

    Contoh berikut menunjukkan cara menelusuri resource Pasien untuk kode urn:oid:2.16.840.1.113883.6.238|2028-9 dalam ekstensi us-core-ethnicity dengan membuat permintaan GET menggunakan curl.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9"
    

    Jika permintaan berhasil, server akan menampilkan respons sebagai Bundle FHIR dalam format JSON. Bundle.type adalah searchset dan hasil penelusuran adalah entri dalam array Bundle.entry. Dalam contoh ini, permintaan menampilkan satu resource Pasien termasuk data di dalam resource tersebut:

    {
      "entry": [
        {
          "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID",
          "resource": {
            "birthDate": "1970-01-01",
            "gender": "female",
            "id": "PATIENT_ID",
            "meta": {
              "lastUpdated": "LAST_UPDATED",
              "versionId": "VERSION_ID"
            },
            "name": [
              {
                "family": "Smith",
                "given": [
                  "Darcy"
                ],
                "use": "official"
              }
            ],
            "resourceType": "Patient"
            "extension": [
              {
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
                "extension": [
                  {
                    "url" : "ombCategory",
                    "valueCoding" : {
                      "system" : "urn:oid:2.16.840.1.113883.6.238",
                      "code" : "2028-9",
                      "display" : "Asian"
                    }
                  }
                ]
              }
            ]
          },
          "search": {
            "mode": "match"
          }
        }
      ],
      "link": [
        {
          "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9"
        }
      ],
      "resourceType": "Bundle",
      "total": 1,
      "type": "searchset"
    }
    

    PowerShell

    Contoh berikut menunjukkan cara menelusuri resource Pasien untuk kode `urn:oid:2.16.840.1.113883.6.238|2028-9` dalam ekstensi `us-core-ethnicity` dengan membuat permintaan `GET` menggunakan Windows PowerShell.
    $cred = gcloud auth application-default print-access-token
    $headers = @{ Authorization = "Bearer $cred" }
    
    Invoke-RestMethod `
      -Method Get `
      -Headers $headers `
      -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9 | ConvertTo-Json
    

    Jika permintaan berhasil, server akan menampilkan respons sebagai Bundle FHIR dalam format JSON. Bundle.type adalah searchset dan hasil penelusuran adalah entri dalam array Bundle.entry. Dalam contoh ini, permintaan menampilkan satu resource Pasien termasuk data di dalam resource tersebut:

    {
      "entry": [
        {
          "fullUrl": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID",
          "resource": {
            "birthDate": "1970-01-01",
            "gender": "female",
            "id": "PATIENT_ID",
            "meta": {
              "lastUpdated": "LAST_UPDATED",
              "versionId": "VERSION_ID"
            },
            "name": [
              {
                "family": "Smith",
                "given": [
                  "Darcy"
                ],
                "use": "official"
              }
            ],
            "resourceType": "Patient"
            "extension": [
              {
                "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity",
                "extension": [
                  {
                    "url" : "ombCategory",
                    "valueCoding" : {
                      "system" : "urn:oid:2.16.840.1.113883.6.238",
                      "code" : "2028-9",
                      "display" : "Asian"
                    }
                  }
                ]
              }
            ]
          },
          "search": {
            "mode": "match"
          }
        }
      ],
      "link": [
        {
          "url": "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/?ethnicity=urn:oid:2.16.840.1.113883.6.238|2028-9"
        }
      ],
      "resourceType": "Bundle",
      "total": 1,
      "type": "searchset"
    }