Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Di profil toko di artikel layanan FHIR®, Anda menelusuri dasar-dasar profil FHIR dan menyimpannya. Layanan FHIR di Azure Health Data Services memungkinkan memvalidasi sumber daya terhadap profil untuk melihat apakah sumber daya sesuai dengan profil. Artikel ini memandu Anda melalui cara menggunakan $validate untuk memvalidasi sumber daya terhadap profil.
$validate adalah operasi dalam Fast Healthcare Interoperability Resources (FHIR) yang memungkinkan Anda memastikan bahwa sumber daya FHIR sesuai dengan persyaratan sumber daya dasar atau profil tertentu. Operasi ini memastikan bahwa data dalam layanan FHIR memiliki atribut dan nilai yang diharapkan. Untuk informasi tentang operasi validasi, kunjungi Spesifikasi HL7 FHIR.
Per spesifikasi, Mode dapat ditentukan dengan $validate, seperti membuat dan memperbarui:
create: Layanan FHIR memeriksa bahwa konten profil unik dari sumber daya yang ada dan dapat diterima untuk dibuat sebagai sumber daya baru.update: Memeriksa bahwa profil adalah pembaruan terhadap sumber daya yang ada yang ditunjuk (yaitu, tidak ada perubahan yang dilakukan pada bidang yang tidak dapat diubah).
Ada berbagai cara yang disediakan bagi Anda untuk memvalidasi sumber daya:
- Opsi 1: Validasi sumber daya yang ada dengan operasi validasi.
- Opsi 2: Validasi sumber daya baru dengan operasi validasi.
- Opsi 3: Validasi pada sumber daya CREATE atau UPDATE menggunakan header.
Pada validasi sumber daya yang ada atau baru yang berhasil dengan operasi validasi, sumber daya tidak dipertahankan ke dalam layanan FHIR. Gunakan Opsi 3 untuk berhasil mempertahankan sumber daya yang divalidasi ke layanan FHIR.
Layanan FHIR selalu mengembalikan OperationOutcome sebagai hasil validasi untuk operasi $validate. Setelah sumber daya diteruskan ke titik akhir $validate, layanan FHIR melakukan validasi dua langkah. Langkah pertama adalah validasi dasar untuk memastikan sumber daya dapat diurai. Selama penguraian sumber daya, kesalahan individual perlu diperbaiki sebelum melanjutkan ke langkah berikutnya. Setelah sumber daya berhasil diurai, validasi penuh dilakukan sebagai langkah kedua.
Catatan
Setiap set nilai yang akan digunakan untuk validasi harus diunggah ke server FHIR. Ini termasuk Nilaiset apa pun yang merupakan bagian dari spesifikasi FHIR, serta NilaiSet apa pun yang ditentukan dalam panduan implementasi. Hanya Valueset yang sepenuhnya diperluas yang berisi daftar lengkap semua kode yang didukung. Definisi ValueSet apa pun yang mereferensikan sumber eksternal tidak didukung.
Opsi 1: Memvalidasi sumber daya yang ada
Untuk memvalidasi sumber daya yang ada, gunakan $validate dalam GET permintaan.
GET http://<your FHIR service base URL>/{resource}/{resource ID}/$validate
Contohnya:
GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/a6e11662-def8-4dde-9ebc-4429e68d130e/$validate
Dalam contoh ini, Anda memvalidasi sumber daya a6e11662-def8-4dde-9ebc-4429e68d130e Pasien yang ada terhadap sumber daya Pasien dasar. Jika valid, Anda mendapatkan OperationOutcome seperti contoh kode berikut.
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "All OK"
}
]
}
Jika sumber daya tidak valid, Anda mendapatkan kode kesalahan dan pesan kesalahan dengan detail mengapa sumber daya tidak valid. Contoh OperationOutcome dikembalikan dengan pesan kesalahan dan bisa terlihat seperti contoh kode berikut.
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.identifier.value' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient.identifier[1]"
]
},
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.gender' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient"
]
}
]
}
Dalam contoh ini, sumber daya tidak sesuai dengan profil Pasien yang disediakan, yang memerlukan nilai dan jenis kelamin pengidentifikasi pasien.
Jika Anda ingin menentukan profil sebagai parameter, Anda dapat menentukan URL kanonis untuk profil yang akan divalidasi, seperti contoh berikut untuk profil dasar HL7 untuk heartrate.
GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate
Opsi 2: Memvalidasi sumber daya baru
Jika Anda ingin memvalidasi sumber daya baru yang Anda unggah ke server, Anda dapat melakukan POST permintaan.
POST http://<your FHIR service base URL>/{Resource}/$validate
Contohnya:
POST https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/$validate
Permintaan ini memvalidasi sumber daya. Sumber daya baru yang Anda tentukan dalam permintaan akan dibuat setelah validasi.
Server selalu mengembalikan sebagai OperationOutcome hasilnya.
Opsi 3: Memvalidasi pada sumber daya CREATE atau UPDATE menggunakan header
Anda dapat memilih kapan Anda ingin memvalidasi sumber daya Anda, seperti pada sumber daya CREATE atau UPDATE. Secara default, layanan FHIR dikonfigurasi untuk menolak validasi pada sumber daya Create/Update. Kemampuan ini memungkinkan validasi pada Create/Update penggunaan x-ms-profile-validation header. Atur x-ms-profile-validation ke true untuk validasi.
Catatan
Di layanan FHIR sumber terbuka, Anda dapat mengubah pengaturan konfigurasi server, di bawah CoreFeatures.
{
"FhirServer": {
"CoreFeatures": {
"ProfileValidationOnCreate": true,
"ProfileValidationOnUpdate": false
}
}
Untuk mengaktifkan validasi ketat, gunakan header 'Prefer: handling' dengan nilai ketat. Dengan mengatur header ini, peringatan validasi dilaporkan sebagai kesalahan.
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara memvalidasi sumber daya terhadap profil menggunakan $validate. Untuk mempelajari tentang fitur yang didukung layanan FHIR lainnya, lihat