Menghapus sumber daya FHIR - AWS HealthLake

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

Menghapus sumber daya FHIR

deleteInteraksi FHIR menghapus sumber daya FHIR yang ada dari penyimpanan HealthLake data. Untuk informasi tambahan, lihat deletedi 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.

  2. Tentukan jenis FHIR Resource untuk menghapus dan mengumpulkan id nilai terkait. Untuk informasi selengkapnya, lihat Jenis sumber daya.

  3. Buat URL untuk permintaan menggunakan nilai yang dikumpulkan untuk HealthLake region dandatastoreId. Juga termasuk Resource jenis FHIR dan yang terkaitid. Untuk melihat seluruh jalur URL dalam contoh berikut, gulir ke atas tombol Salin.

    DELETE https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Kirim permintaan . deleteInteraksi FHIR menggunakan DELETE permintaan dengan AWS Signature Version 4 atau SMART pada otorisasi FHIR. curlContoh 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 IdentityProviderConfigurationdata.

    { "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.

    AWS Console

    1. Masuk ke halaman Jalankan kueri 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 - pilihDelete.

    • Jenis sumber daya - pilih jenis sumber daya FHIR untuk dihapus.

    • ID Sumber Daya — masukkan ID sumber daya FHIR.

    3. Pilih Run query (Jalankan kueri).

Menghapus sumber daya FHIR berdasarkan kondisi

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

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)

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

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

Skenario respons

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 selaincreatedAt,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:

  • Namanya 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.

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

  3. Tangani respons kesalahan dengan tepat:

    • Untuk 404: Perbaiki kriteria pencarian Anda

    • Untuk 412: Buat kriteria lebih spesifik atau selesaikan konflik versi

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