

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menghapus sumber daya FHIR
<a name="managing-fhir-resources-delete"></a>

`delete`Interaksi FHIR menghapus sumber daya FHIR yang ada dari penyimpanan HealthLake data. Untuk informasi tambahan, lihat [https://hl7.org/fhir/R4/http.html#delete](https://hl7.org/fhir/R4/http.html#delete)di dokumentasi **FHIR R4 RESTful API**.

**Untuk menghapus sumber daya FHIR**  


1. Kumpulkan HealthLake `region` dan `datastoreId` nilai. Untuk informasi selengkapnya, lihat [Mendapatkan properti penyimpanan data](managing-data-stores-describe.md).

1. Tentukan jenis FHIR `Resource` untuk menghapus dan mengumpulkan `id` nilai terkait. Untuk informasi selengkapnya, lihat [Jenis sumber daya](reference-fhir-resource-types.md).

1. Buat URL untuk permintaan menggunakan nilai yang dikumpulkan untuk HealthLake `region` dan`datastoreId`. Juga termasuk `Resource` jenis FHIR dan yang terkait`id`. Untuk melihat seluruh jalur URL dalam contoh berikut, gulir ke atas tombol **Salin**.

   ```
   DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
   ```

1. Kirim permintaan . `delete`Interaksi FHIR menggunakan `DELETE` permintaan dengan [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) atau SMART pada otorisasi FHIR. `curl`Contoh berikut menghapus `Patient` sumber daya FHIR yang ada dari penyimpanan HealthLake data. Untuk melihat seluruh contoh, gulir ke atas tombol **Salin**.

------
#### [ SigV4 ]

   Otorisasi SiGv4

   ```
   curl --request DELETE \
     'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/id' \
     --aws-sigv4 'aws:amz:region:healthlake' \
     --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
     --header "x-amz-security-token:$AWS_SESSION_TOKEN" \
     --header 'Accept: application/json'
   ```

   Server mengembalikan kode status `204` HTTP yang mengonfirmasi sumber daya telah dihapus dari penyimpanan HealthLake data. Jika permintaan penghapusan gagal, Anda akan menerima kode status HTTP `400` seri yang menunjukkan mengapa permintaan gagal.

------
#### [ SMART on FHIR ]

   SMART pada contoh otorisasi FHIR untuk tipe [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html)data.

   ```
   {
       "AuthorizationStrategy": "SMART_ON_FHIR",
       "FineGrainedAuthorizationEnabled": true,
       "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name",
       "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\",\"permission-v2\"]}"
   }
   ```

   Penelepon dapat menetapkan izin di lambda otorisasi. Untuk informasi selengkapnya, lihat [OAuth 2.0 cakupan](reference-smart-on-fhir-oauth-scopes.md).

------
#### [ AWS Console ]

   1. Masuk ke halaman [Jalankan kueri](https://console.aws.amazon.com/healthlake/home#/crud) di HealthLake Konsol.

   2. Di bawah bagian **Pengaturan kueri**, buat pilihan berikut.
   + **ID Penyimpanan Data** — pilih ID penyimpanan data untuk menghasilkan string kueri.
   + **Jenis kueri** - pilih`Delete`.
   + **Jenis sumber daya** - pilih [jenis sumber daya](reference-fhir-resource-types.md) FHIR untuk dihapus.
   + **ID Sumber Daya** — masukkan ID sumber daya FHIR.

   3. Pilih **Run query** (Jalankan kueri).

------

## Menghapus sumber daya FHIR berdasarkan kondisi
<a name="conditional-delete-fhir"></a>

Penghapusan bersyarat sangat berguna ketika Anda tidak mengetahui ID sumber daya FHIR tertentu tetapi memiliki informasi pengenal lain tentang sumber daya yang ingin Anda hapus.

Penghapusan bersyarat memungkinkan Anda untuk menghapus sumber daya yang ada berdasarkan kriteria pencarian, bukan dengan ID FHIR logis. Saat server memproses permintaan penghapusan, server melakukan pencarian menggunakan kemampuan pencarian standar untuk jenis sumber daya untuk menyelesaikan satu ID logis untuk permintaan tersebut.

### Cara kerja penghapusan bersyarat
<a name="conditional-delete-works"></a>

**Tindakan server tergantung pada berapa banyak kecocokan yang ditemukannya:**  


1. **Tidak ada kecocokan**: Server mencoba menghapus biasa dan merespons dengan tepat (404 Tidak Ditemukan untuk sumber daya yang tidak ada, 204 Tidak Ada Konten untuk sumber daya yang sudah dihapus)

1. **Satu kecocokan**: Server melakukan penghapusan biasa pada sumber daya yang cocok

1. **Beberapa kecocokan**: Mengembalikan kesalahan 412 Prasyarat Gagal yang menunjukkan kriteria klien tidak cukup selektif

### Skenario respons
<a name="response-scenerios"></a>

AWS HealthLake menangani operasi penghapusan bersyarat dengan pola respons berikut:

**Operasi yang Sukses**  

+ Ketika kriteria pencarian Anda berhasil mengidentifikasi satu sumber daya aktif, sistem mengembalikan **204 Tanpa Konten** setelah menyelesaikan penghapusan, seperti operasi penghapusan standar.

**Penghapusan Bersyarat Berbasis ID**  
Saat melakukan penghapusan bersyarat berdasarkan `id` parameter tambahan (`createdAt`,`tag`, atau`_lastUpdated`):
+ **204 Tidak Ada Konten**: Sumber daya sudah dihapus
+ **404 Tidak Ditemukan**: Sumber daya tidak ada
+ **409 Konflik**: ID cocok tetapi parameter lain tidak cocok

**Non-ID-Based Hapus Bersyarat**  
Kapan tidak `id` disediakan atau saat menggunakan parameter selain`createdAt`,`tag`, atau`_lastUpdated`:
+ **404 Not Found: Tidak ditemukan** kecocokan

**Situasi Konflik**  
Beberapa skenario menghasilkan 412 tanggapan Prasyarat Gagal:
+ Beberapa sumber daya cocok dengan kriteria pencarian Anda (kriteria tidak cukup spesifik)
+ Konflik versi saat menggunakan ETag header dengan `If-Match`
+ Pembaruan sumber daya yang terjadi antara operasi pencarian dan penghapusan

**Contoh Penghapusan Bersyarat yang Berhasil**  
Contoh berikut menghapus sumber daya Pasien berdasarkan kriteria tertentu:

```
DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?name=peter&birthdate=2000-01-01&phone=1234567890
```

Permintaan ini menghapus sumber daya Pasien di mana:
+ Nama adalah “Peter”
+ Tanggal lahir adalah 1 Januari 2000
+ Nomor telepon adalah 1234567890

**Praktik Terbaik**  


1. Gunakan kriteria pencarian khusus untuk menghindari beberapa kecocokan dan mencegah 412 kesalahan.

1. Pertimbangkan ETag header untuk kontrol versi bila diperlukan untuk menangani modifikasi bersamaan.

1. Tangani respons kesalahan dengan tepat:
   + Untuk 404: Perbaiki kriteria pencarian Anda
   + Untuk 412: Buat kriteria lebih spesifik atau selesaikan konflik versi

1. Bersiaplah untuk konflik waktu di lingkungan konkurensi tinggi di mana sumber daya dapat dimodifikasi antara operasi pencarian dan penghapusan.