Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memodifikasi Sumber Daya dengan operasi PATCH
AWS HealthLake sekarang mendukung operasi PATCH untuk sumber daya FHIR, memungkinkan Anda untuk memodifikasi sumber daya dengan menargetkan elemen tertentu untuk menambah, mengganti, atau menghapus tanpa memperbarui seluruh sumber daya. Operasi ini sangat berguna untuk klien jarak jauh atau mereka yang memiliki bandwidth terbatas yang ingin mengurangi penggunaan jaringan. Operasi ini sangat berguna ketika Anda perlu:
- 
      
Buat pembaruan yang ditargetkan ke sumber daya besar
 - 
      
Mengurangi penggunaan bandwidth jaringan
 - 
      
Lakukan modifikasi atom pada elemen sumber daya tertentu
 - 
      
Minimalkan risiko menimpa perubahan bersamaan
 
Penggunaan
Operasi PATCH dapat dipanggil pada sumber daya FHIR menggunakan metode PATCH HTTP:
Operasi yang Didukung
PATCH [base]/[resource-type]/[id]{?_format=[mime-type]}
   
    Operasi PATCH yang Didukung
HealthLake mendukung operasi JSON Patch
| Operasi | Deskripsi | 
|---|---|
add | 
            Tambahkan nilai baru ke sumber daya | 
remove | 
            Hapus nilai dari sumber daya | 
replace | 
            Ganti nilai yang ada di sumber daya | 
move | 
            Secara fungsional identik dengan operasi “hapus” di lokasi “dari”, segera diikuti oleh operasi “tambah” di lokasi target dengan nilai yang baru saja dihapus | 
copy | 
            Salin nilai di lokasi tertentu ke lokasi target | 
test | 
            Uji bahwa nilai di lokasi target sama dengan nilai yang ditentukan | 
Header Permintaan
| Header | Wajib | Deskripsi | 
|---|---|---|
Content-Type | 
            Ya | Harus application/json-patch+json | 
          
If-Match | 
            Tidak | Pembaruan bersyarat khusus versi menggunakan ETag | 
Contoh
Permintaan PATCH dengan Beberapa Operasi
PATCH [base]/Patient/example
Content-Type: application/json-patch+json
If-Match: W/"1"
[
  {
    "op": "replace",
    "path": "/name/0/family",
    "value": "Smith"
  },
  {
    "op": "add",
    "path": "/telecom/-",
    "value": {
      "system": "phone",
      "value": "************",
      "use": "home"
    }
  },
  {
    "op": "remove",
    "path": "/address/0"
  },
  {
    "op": "move",
    "from": "/name/0/family",
    "path": "/name/1/family"
  },
  {
    "op": "test",
    "path": "/gender",
    "value": "male"
  },
  {
    "op": "copy",
    "from": "/name/0",
    "path": "/name/1"
  }
]
     
      Permintaan PATCH dengan Operasi Tunggal
PATCH [base]/Patient/example
Content-Type: application/json-patch+json
[
  {
    "op": "replace",
    "path": "/active",
    "value": false
  }
]
     
      Contoh Respons
Operasi mengembalikan sumber daya yang diperbarui dengan informasi versi baru:
HTTP/1.1 200 OK
Content-Type: application/fhir+json
ETag: W/"2"
Last-Modified: Mon, 05 May 2025 10:10:10 GMT
{
  "resourceType": "Patient",
  "id": "example",
  "active": true,
  "name": [
    {
      "family": "Smith",
      "given": ["John"]
    }
  ],
  "telecom": [
    {
      "system": "phone",
      "value": "************",
      "use": "home"
    }
  ],
  "meta": {
    "versionId": "2",
    "lastUpdated": "2025-05-05T10:10:10Z"
  }
}
   
    Sintaks Jalur Patch JSON
Parameter jalur menggunakan sintaks JSON Pointer (RFC 6901):
| Contoh Jalur | Deskripsi | 
|---|---|
/name/0/family | 
            Elemen keluarga nama depan | 
/telecom/- | 
            Tambahkan ke array telekomunikasi | 
/active | 
            Elemen aktif tingkat akar | 
/address/0/line/1 | 
            Baris kedua dari alamat pertama | 
Perilaku
Operasi PATCH:
- 
        
Memvalidasi sintaks JSON Patch menurut RFC 6902 dan RFC 6901
 - 
        
Menerapkan operasi secara atom - semua operasi berhasil atau semuanya gagal
 - 
        
Memperbarui ID versi sumber daya dan membuat entri riwayat baru
 - 
        
Mempertahankan sumber daya asli dalam sejarah sebelum menerapkan perubahan
 - 
        
Memvalidasi kendala sumber daya FHIR setelah menerapkan tambalan
 - 
        
Mendukung pembaruan bersyarat menggunakan header If-Match dengan ETag
 
Penanganan Kesalahan
Operasi menangani kondisi kesalahan berikut:
- 
        
400 Permintaan Buruk: Sintaks tambalan tidak valid (permintaan tidak sesuai atau Patch JSON yang salah)
 - 
        
404 Tidak Ditemukan: Sumber daya tidak ditemukan (ID tertentu tidak ada)
 - 
        
409 Konflik: Konflik versi (pembaruan bersamaan atau ID versi tidak saat ini disediakan)
 - 
        
422 Entitas yang Tidak Dapat Diproses: Operasi tambalan tidak dapat diterapkan ke elemen sumber daya yang ditentukan
 
Peringatan
- 
        
Hanya jenis
application/json-patch+jsonkonten yang didukung - 
        
Operasi PATCH bersyarat menggunakan kondisi pencarian tidak didukung
 
Untuk informasi selengkapnya tentang operasi PATCH, lihat dokumentasi PATCH FHIR R4