Halaman ini menjelaskan cara menyelesaikan tugas berikut:
- Mengonfigurasi header HTTP kustom dalam permintaan ke Cloud Healthcare API.
Gunakan Cloud Audit Logs untuk menelusuri permintaan dan header HTTP kustom yang cocok untuk melakukan hal berikut:
- Melihat siapa yang mengirim permintaan dan kapan.
- Sederhanakan deployment dan proses debug dengan mencari tahu permintaan mana yang menyebabkan error tertentu.
Untuk mengetahui informasi selengkapnya tentang penggunaan Cloud Audit Logs di Cloud Healthcare API, lihat Melihat Log Audit Cloud.
Metode yang dapat dikonfigurasi
Anda dapat mengonfigurasi header HTTP kustom untuk metode Cloud Healthcare API di resource REST berikut:
projects.locations
projects.locations.datasets
projects.locations.dicomStores
projects.locations.dicomStores.studies
projects.locations.dicomStores.studies.series
projects.locations.dicomStores.studies.series.instances
projects.locations.dicomStores.studies.series.instances.frames
projects.locations.datasets.fhirStores
projects.locations.datasets.fhirStores.fhir
projects.locations.datasets.hl7V2Stores
projects.locations.datasets.hl7V2Stores.messages
projects.locations.datasets.operations
Mengonfigurasi header HTTP kustom
Ada dua jenis header HTTP kustom yang dapat Anda tentukan pada permintaan Cloud Healthcare API dan lihat di log audit. Anda dapat menggunakan setiap jenis secara eksklusif atau menggabungkannya.
Logging ID Kustom. Anda dapat menentukan header HTTP kustom
X-Request-Id
untuk memberikan ID kustom ke setiap permintaan, lalu menelusuri log audit untuk menemukan permintaan yang berisi ID. Untuk memberikan ID kustom, tentukan header HTTP kustom dalam format berikut:X-Request-Id: REQUEST_ID
Tentukan nilai unik untuk REQUEST_ID di setiap permintaan.
Sebagian besar bahasa pemrograman memiliki cara untuk menghasilkan ID acak yang dapat Anda gunakan untuk membuat ID permintaan. Misalnya, modul
uuid
Python memiliki fungsiuuid.uuid4()
yang dapat Anda gunakan untuk membuat ID secara otomatis untuk setiap permintaan. Cloud Healthcare API tidak membuat ID permintaan.Logging metadata. Anda dapat menyertakan informasi metadata tambahan dalam header HTTP kustom menggunakan header
X-Goog-Healthcare-Audit-IDENTIFIER
. {i>Header<i} secara unik mengidentifikasi jenis informasi {i>metadata<i}.Metadata disimpan dalam log audit untuk setiap permintaan. Untuk menyediakan informasi metadata, tentukan satu atau beberapa header HTTP kustom dalam format berikut:
X-Goog-Healthcare-Audit-IDENTIFIER: VALUE
Ganti IDENTIFIER dengan ID yang dapat dibaca manusia. Ganti VALUE dengan nilai untuk metadata. Anda dapat menentukan beberapa nilai dalam daftar yang dipisahkan koma menggunakan sintaksis berikut:
X-Goog-Healthcare-Audit-IDENTIFIER: VALUE_1, VALUE_2, VALUE_n ...
Contoh:
X-Goog-Healthcare-Audit-MyIdentifier: Value1, Value2, Value3
Anda juga dapat menentukan beberapa header HTTP kustom dengan nilai uniknya sendiri:
X-Goog-Healthcare-Audit-MyIdentifier1: Value1, Value2 X-Goog-Healthcare-Audit-MyIdentifier2: Value3
Melihat log audit di Cloud Audit Logs
Baca bagian Melihat log.
Contoh
Contoh berikut menunjukkan skenario saat Anda menentukan header HTTP kustom dalam permintaan fhir.create
.
Misalkan Anda sedang menjalankan studi dan memiliki aplikasi seluler untuk pasien yang bernama PatientApp
. Pasien dalam penelitian ini dibagi menjadi
dua kelompok: Cohort1
dan Cohort2
. Untuk mengidentifikasi setiap permintaan dari Cohort1
dengan ID unik dan nama aplikasi seluler, tentukan header HTTP kustom berikut di setiap permintaan:
X-Request-Id: REQUEST_ID X-Goog-Healthcare-Audit-AppName: PatientApp X-Goog-Healthcare-Audit-CohortName: Cohort1
Header HTTP kustom ditampilkan di kolom metadata
pada setiap log audit permintaan di Cloud Audit Logs.
Contoh berikut menunjukkan cara menggunakan curl
untuk membuat resource Pasien baru di penyimpanan
FHIR. Permintaan berisi header HTTP kustom berikut:
X-Request-Id: 123
X-Goog-Healthcare-Audit-AppName: PatientApp
X-Goog-Healthcare-Audit-CohortName: Cohort1
Sebelum mengirim permintaan, ganti hal berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: set data induk penyimpanan FHIR
- FHIR_STORE_ID: ID penyimpanan FHIR
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Request-Id: 123" \ -H "X-Goog-Healthcare-Audit-AppName: PatientApp" \ -H "X-Goog-Healthcare-Audit-CohortName: Cohort1" \ --data '{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
Output-nya adalah sebagai berikut:
{ "birthDate": "1970-01-01", "gender": "female", "id": "PATIENT_ID", "meta": { "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ", "versionId": "VERSION_ID" }, "name": [ { "family": "Smith", "given": [ "Darcy" ], "use": "official" } ], "resourceType": "Patient" }
Jika Anda menelusuri permintaan di Cloud Audit Logs, log audit akan terlihat seperti berikut:
{ logName: "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_write" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" metadata: { X-Request-Id: [123] X-Goog-Healthcare-Audit-AppName: ["PatientApp"] X-Goog-Healthcare-Audit-CohortName: ["Cohort1"] } ... } ... }