Memperbarui 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.

Memperbarui sumber daya FHIR

updateInteraksi FHIR membuat versi baru saat ini untuk sumber daya yang ada atau membuat versi awal jika tidak ada sumber daya yang sudah ada untuk yang diberikanid. Untuk informasi tambahan, lihat updatedi dokumentasi FHIR R4 RESTful API.

Untuk memperbarui sumber daya FHIR

  1. Kumpulkan HealthLake region dan datastoreId nilai. Untuk informasi selengkapnya, lihat Mendapatkan properti penyimpanan data.

  2. Tentukan jenis FHIR Resource untuk memperbarui 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.

    PUT https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/id
  4. Membangun JSON badan untuk permintaan, menentukan update data FHIR yang akan dibuat. Untuk tujuan prosedur ini, simpan file sebagaiupdate-patient.json.

    { "id": "2de04858-ba65-44c1-8af1-f2fe69a977d9", "resourceType": "Patient", "active": true, "name": [ { "use": "official", "family": "Doe", "given": [ "Jane" ] }, { "use": "usual", "given": [ "Jane" ] } ], "gender": "female", "birthDate": "1985-12-31" }
  5. Kirim permintaan . updateInteraksi FHIR menggunakan PUT permintaan dengan AWS Signature Version 4 atau SMART pada otorisasi FHIR. curlContoh berikut memperbarui sumber Patient daya di HealthLake. Untuk melihat seluruh contoh, gulir ke atas tombol Salin.

    SigV4

    Otorisasi SiGv4

    curl --request PUT \ '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' \ --data @update-patient.json

    Permintaan Anda akan mengembalikan kode status 200 HTTP jika sumber daya yang ada diperbarui atau kode status 201 HTTP jika sumber daya baru dibuat.

    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 - pilihUpdate (PUT).

    • Jenis sumber daya - pilih jenis sumber daya FHIR untuk memperbarui atau membuat.

    • Badan permintaan - buat badan JSON untuk permintaan, menentukan data FHIR untuk memperbarui sumber daya dengan.

    3. Pilih Run query (Jalankan kueri).

Memperbarui sumber daya FHIR berdasarkan kondisi

Pembaruan bersyarat memungkinkan Anda memperbarui sumber daya yang ada berdasarkan beberapa kriteria pencarian identifikasi, bukan oleh id FHIR logis. Ketika server memproses pembaruan, ia melakukan pencarian menggunakan kemampuan pencarian standar untuk jenis sumber daya, dengan tujuan menyelesaikan satu logis id untuk permintaan tersebut.

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

  • Tidak ada kecocokan, tidak id disediakan di badan permintaan: Server membuat sumber daya FHIR.

  • Tidak ada kecocokan, id disediakan, dan sumber daya yang belum ada dengan id: Server memperlakukan interaksi sebagai Pembaruan sebagai interaksi Buat.

  • Tidak ada kecocokan, id disediakan dan sudah ada: Server menolak pembaruan dengan 409 Conflict kesalahan.

  • One Match, tidak ada sumber daya yang id id disediakan ATAU (sumber daya yang disediakan dan cocok dengan sumber daya yang ditemukan): Server melakukan pembaruan terhadap sumber daya yang cocok seperti di atas di mana, jika sumber daya diperbarui, server HARUS mengembalikan file200 OK.

  • One Match, sumber daya yang id disediakan tetapi tidak cocok dengan sumber daya yang ditemukan: Server mengembalikan 409 Conflict kesalahan yang menunjukkan spesifikasi id klien adalah masalah yang lebih disukai dengan OperationOutcome

  • Beberapa kecocokan: Server mengembalikan 412 Precondition Failed kesalahan yang menunjukkan kriteria klien tidak cukup selektif lebih disukai dengan OperationOutcome

Contoh berikut memperbarui Patient sumber daya yang namanya peter, tanggal lahir 1 Jan 2000, dan nomor telepon 1234567890.

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

Mengkonfigurasi tingkat validasi untuk pembaruan sumber daya

Saat memperbarui sumber daya FHIR, Anda dapat menentukan header x-amzn-healthlake-fhir-validation-level HTTP secara opsional untuk mengonfigurasi tingkat validasi sumber daya. AWS HealthLake saat ini mendukung tingkat validasi berikut:

  • strict: Sumber daya divalidasi sesuai dengan elemen profil sumber daya, atau spesifikasi R4 jika tidak ada profil. Ini adalah tingkat validasi default untuk AWS HealthLake.

  • structure-only: Sumber daya divalidasi terhadap R4, mengabaikan profil yang direferensikan.

  • minimal: Sumber daya divalidasi minimal, mengabaikan aturan R4 tertentu. Sumber daya yang gagal dalam pemeriksaan struktur yang diperlukan search/analytics akan diperbarui untuk menyertakan peringatan untuk audit.

Sumber daya yang diperbarui dengan tingkat validasi minimal dapat dicerna ke dalam Datastore meskipun validasi gagal diperlukan untuk pengindeksan pencarian. Dalam hal ini, sumber daya akan diperbarui untuk menyertakan ekstensi khusus Healthlake untuk mendokumentasikan kegagalan tersebut:

{ "url": "http://healthlake.amazonaws.com/fhir/StructureDefinition/validation-issue", "valueString": "{\"resourceType\":\"OperationOutcome\",\"issue\":[{\"severity\":\"error\",\"code\":\"processing\",\"details\":{\"text\":\"FHIR resource in payload failed FHIR validation rules.\"},\"diagnostics\":\"FHIR resource in payload failed FHIR validation rules.\"}]}" }

Selain itu, header respons HTTP berikut akan disertakan dengan nilai “true”:

x-amzn-healthlake-validation-issues : true
catatan

Perhatikan bahwa data yang dicerna yang cacat menurut spesifikasi R4 mungkin tidak dapat dicari seperti yang diharapkan jika kesalahan ini ada.