Validasi Operasi : Gambaran Umum
Penting
Azure API untuk FHIR akan dihentikan pada 30 September 2026. Ikuti strategi migrasi untuk beralih ke layanan FHIR® Azure Health Data Services pada tanggal tersebut. Karena penghentian Azure API untuk FHIR, penyebaran baru tidak akan diizinkan mulai 1 April 2025. Layanan Azure Health Data Services FHIR adalah versi Azure API yang berkembang untuk FHIR yang memungkinkan pelanggan mengelola layanan FHIR, DICOM, dan MedTech dengan integrasi ke layanan Azure lainnya.
Di artikel profil toko di Azure API untuk FHIR, Anda menelusuri dasar-dasar profil FHIR dan menyimpannya. Artikel ini akan memandu Anda melalui cara menggunakan $validate
untuk memvalidasi sumber daya terhadap profil. Memvalidasi sumber daya terhadap profil berarti memeriksa apakah sumber daya sesuai dengan profil, termasuk spesifikasi yang tercantum dalam Resource.meta.profile
atau dalam Panduan Implementasi.
$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 di Azure API untuk FHIR memiliki atribut dan nilai yang diharapkan. Untuk informasi tentang memvalidasi operasi, kunjungi Spesifikasi HL7 FHIR. Per spesifikasi, Mode dapat ditentukan dengan $validate
, seperti membuat dan memperbarui:
create
: Azure API untuk FHIR memeriksa bahwa konten profil unik dari sumber daya yang ada dan dapat diterima untuk dibuat sebagai sumber daya baru.update
: Memeriksa apakah profil adalah pembaruan terhadap sumber daya yang ada yang ditunjuk (tidak ada perubahan yang dilakukan pada bidang yang tidak dapat diubah).
Ada berbagai cara yang disediakan bagi Anda untuk memvalidasi sumber daya:
- Validasi sumber daya yang ada dengan operasi validasi.
- Validasi sumber daya baru dengan operasi validasi.
- Validasi pada sumber daya CREATE/UPDATE menggunakan header.
Azure API untuk FHIR akan selalu mengembalikan OperationOutcome
sebagai hasil validasi untuk operasi $validate. Azure API untuk layanan FHIR melakukan validasi dua langkah, setelah sumber daya diteruskan ke titik akhir $validate - 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.
Memvalidasi sumber daya yang sudah ada
Untuk memvalidasi sumber daya yang ada, gunakan $validate
dalam GET
permintaan:
GET http://<your Azure API for FHIR 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 akan mendapatkan OperationOutcome
seperti contoh kode berikut:
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "All OK"
}
]
}
Jika sumber daya tidak valid, Anda akan 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://myAzureAPIforFHIR.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate
Memvalidasi sumber daya baru
Jika Anda ingin memvalidasi sumber daya baru yang Anda unggah ke Azure API untuk FHIR, Anda dapat melakukan POST
permintaan: Server akan selalu mengembalikan OperationOutcome sebagai hasilnya.
POST http://<your Azure API for FHIR base URL>/{Resource}/$validate
Contohnya:
POST https://myAzureAPIforFHIR.azurehealthcareapis.com/Patient/$validate
Permintaan ini akan memvalidasi sumber daya. Pada sumber daya validasi tidak dibuat di layanan FHIR, Anda harus mengirim permintaan POST tanpa $validate untuk membuat sumber daya.
Validasi pada sumber daya CREATE/UPDATE menggunakan header.
Secara default, Azure API untuk FHIR dikonfigurasi untuk menolak validasi pada sumber daya Create/Update
. Kemampuan ini memungkinkan untuk memvalidasi pada Create/Update
, menggunakan 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
}
}
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara memvalidasi sumber daya terhadap profil menggunakan $validate
. Untuk mempelajari tentang Azure API lainnya untuk fitur yang didukung FHIR, lihat
FHIR® adalah merek dagang terdaftar HL7 dan digunakan dengan izin HL7.