Halaman ini menjelaskan cara menghapus resource FHIR secara massal dari penyimpanan FHIR menggunakan operasi yang berjalan lama.
Anda dapat menghapus beberapa resource FHIR dalam satu operasi berdasarkan filter seperti jenis resource dan waktu terakhir diperbarui. Hal ini berguna untuk pengelolaan siklus proses data dan penghematan biaya.
Sebelum memulai
Sebelum Anda dapat menghapus massal resource FHIR, pastikan hal berikut:
- Anda harus memiliki izin
healthcare.fhirStores.bulkDeletedi penyimpanan FHIR. - Jika Anda menentukan
gcsDestination, akun layanan Agen Layanan Cloud Healthcare harus memiliki peranroles/storage.objectAdmindi bucket tujuan. Untuk mengetahui informasi selengkapnya, lihat izin Cloud Storage FHIR store.
Menghapus resource FHIR secara massal
Untuk menghapus resource FHIR secara massal, gunakan metode projects.locations.datasets.fhirStores.bulkDelete.
Metode ini menampilkan operasi yang berjalan lama (LRO). Anda dapat melacak status LRO menggunakan nama operasi yang ditampilkan oleh panggilan API.
Contoh berikut menunjukkan cara membuat permintaan POST untuk menghapus secara massal semua resource Observation dan Encounter di penyimpanan FHIR yang terakhir diperbarui sebelum stempel waktu tertentu.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID: ID Google Cloud project AndaLOCATION: lokasi set dataDATASET_ID: set data induk FHIR storeFHIR_STORE_ID: ID FHIR store
Meminta isi JSON:
{
"type": "Observation,Encounter",
"versionConfig": "ALL",
"until": "2025-01-01T00:00:00Z",
"gcsDestination": {
"uriPrefix": "gs://BUCKET/DIRECTORY"
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF'
{
"type": "Observation,Encounter",
"versionConfig": "ALL",
"until": "2025-01-01T00:00:00Z",
"gcsDestination": {
"uriPrefix": "gs://BUCKET/DIRECTORY"
}
}
EOFKemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:bulkDelete"
PowerShell
Simpan isi permintaan dalam file bernama request.json.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@'
{
"type": "Observation,Encounter",
"versionConfig": "ALL",
"until": "2025-01-01T00:00:00Z",
"gcsDestination": {
"uriPrefix": "gs://BUCKET/DIRECTORY"
}
}
'@ | Out-File -FilePath request.json -Encoding utf8Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:bulkDelete" | Select-Object -Expand Content
Melihat status LRO
Untuk melihat status operasi penghapusan massal, gunakan metode operations.get dengan nama operasi yang ditampilkan dari panggilan bulkDelete.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID: ID Google Cloud project AndaLOCATION: lokasi set dataDATASET_ID: set data induk FHIR storeOPERATION_ID: ID yang ditampilkan dari operasi yang berjalan lama
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1alpha2/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1alpha2/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
Melacak resource yang dihapus
Setelah operasi penghapusan massal selesai, jika gcsDestination ditentukan, file ringkasan akan dibuat di Cloud Storage. File ini berisi daftar ID resource untuk resource versi saat ini yang dihapus selama operasi.
Batasan
Integritas referensial tidak dijamin selama operasi penghapusan massal. Sebaiknya gunakan operasi ini hanya jika integritas referensial tidak diperlukan atau diketahui terpenuhi setelah operasi.