Membuat penelusuran FHIR kustom

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

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

  • Anda perlu menelusuri kolom di resource FHIR, tetapi tidak ada parameter penelusuran yang didukung untuk kolom tersebut.
  • Anda perlu menelusuri 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 di kolom yang tidak tercakup oleh parameter penelusuran standar.
  • Untuk menelusuri ekstensi ke model data FHIR.

Banyak panduan penerapan FHIR 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

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

Resource SearchParameter di penyimpanan FHIR tidak akan diterapkan hingga dikonfigurasi menggunakan metode configureSearch. Metode ini memungkinkan 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 dalam penyimpanan sesuai dengan konfigurasi penelusuran baru. Semua resource baru dan yang diperbarui setelah panggilan metode diindeks sesuai dengan konfigurasi baru. Semua data indeks untuk parameter penelusuran kustom yang tidak ada lagi dalam konfigurasi akan dihapus. Untuk mengetahui detail selengkapnya tentang cara menggunakan configureSearch, lihat Mengaktifkan parameter penelusuran kustom untuk FHIR store 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 parameter penelusuran yang relevan, 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

Untuk 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 toko 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 ke metode ini akan 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 Anda dapat membatalkannya menggunakan metode operations.cancel. Status ini berisi penghitung yang menunjukkan jumlah resource yang telah berhasil diindeks ulang.

Penelusuran di Play Store akan terus berfungsi secara normal saat operasi yang berjalan lama berjalan, kecuali parameter penelusuran kustom yang ditambahkan atau diubah oleh operasi ini akan menampilkan hasil sebagian. Membatalkan operasi ini aman, tetapi akan menyebabkan pengindeksan sebagian parameter penelusuran kustom. Anda harus menyelesaikan seluruh operasi pengindeksan ulang yang berhasil sebelum menelusuri 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 menunggu 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"
    }
  }
}

Saat 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 menunggu 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"
    }
  }
}

Saat 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 kustom 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, 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 diisi, tetapi tidak memiliki efek fungsional.

base

Kolom base mencantumkan jenis resource FHIR yang berlaku untuk penelusuran ini.

Jika ada lebih dari satu jenis, kolom expression harus memiliki klausa untuk setiap jenis. Tidak ada perbedaan antara menentukan satu parameter pada dua jenis atau menentukan satu parameter untuk setiap jenis. Menentukan satu parameter untuk beberapa jenis resource akan membuat definisi 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 akan menjadi 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 ditentukan 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 dari berikut:

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

Jenis composite dan special tidak didukung.

expression

Kolom expression menentukan kolom atau ekstensi yang dikueri parameter penelusuran. Kolom ini menggunakan sekumpulan sintaksis dan fungsi FHIRPath yang terbatas.

Sintaksis kolom

Kolom expression ditentukan 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 cocok jika salah satu klausa cocok dengan resource. Misalnya, parameter penelusuran dengan ekspresi Patient.name.given | Patient.name.family cocok dengan salah satu dari dua kolom tersebut. Gunakan beberapa klausa jika 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 kolom memiliki lebih dari satu jenis data potensial. Misalnya, kolom Observation.value dapat berisi berbagai jenis, seperti Quantity dan String, yang berfungsi dengan jenis penelusuran yang berbeda. 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 tempat fungsi where() diizinkan.

Tidak ada fungsi FHIRPath lain yang didukung.

target

Jika kolom type ditentukan 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 ke penyimpanan FHIR menggunakan salah satu metode berikut:

Dalam beberapa kasus, Anda harus mengonversi parameter penelusuran yang dipublikasikan agar Cloud Healthcare API dapat 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 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 dirujuk tidak didukung. Hapus klausa where() dan simpan jenis resource yang dirujuk di kolom SearchParameter.target. Untuk informasi selengkapnya, lihat target.

  • Beberapa panduan penerapan 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. Buat contoh resource 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 ditetapkan 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 di 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` di 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 kolom ekstensi 2 tingkat

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

  1. Buat contoh resource Pasien:

    curl

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

    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 di 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` di 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"
    }