Menyimpan profil dalam layanan FHIR
HL7 Fast Healthcare Interoperability Resources (FHIR®) mendefinisikan cara standar dan interoperabilitas untuk menyimpan dan bertukar data layanan kesehatan. Bahkan dalam spesifikasi FHIR dasar, dapat membantu untuk menentukan aturan atau ekstensi lain berdasarkan konteks bahwa FHIR sedang digunakan. Untuk penggunaan FHIR khusus konteks tersebut, profil FHIR digunakan untuk lapisan spesifikasi tambahan. Profil FHIR memungkinkan Anda mempersempit dan menyesuaikan definisi sumber daya menggunakan batasan dan ekstensi.
Layanan FHIR di Azure Health Data Services (dengan ini disebut layanan FHIR) memungkinkan validasi sumber daya terhadap profil untuk melihat apakah sumber daya sesuai dengan profil. Artikel ini memandu Anda melalui dasar-dasar profil FHIR dan cara menyimpannya. Untuk informasi selengkapnya tentang profil FHIR di luar artikel ini, kunjungi HL7.org.
Profil FHIR: dasar-dasarnya
Profil menetapkan konteks tambahan pada sumber daya yang direpresentasikan sebagai StructureDefinition
sumber daya.
StructureDefinition
mendefinisikan sekumpulan aturan pada konten sumber daya atau jenis data, seperti elemen apa yang dimiliki sumber daya dan nilai apa yang dapat diambil elemen-elemen ini.
Di bawah ini adalah beberapa contoh bagaimana profil dapat memodifikasi sumber daya dasar:
- Membatasi kardinalitas: Misalnya, Anda dapat mengatur kardinalitas maksimum pada elemen ke 0, yang berarti bahwa elemen disingkirkan dalam konteks tertentu.
- Batasi konten elemen ke satu nilai tetap.
- Tentukan ekstensi yang diperlukan untuk sumber daya.
StructureDefinition
diidentifikasi oleh URL kanonisnya:http://hl7.org/fhir/StructureDefinition/{profile}
Contohnya:
-
http://hl7.org/fhir/StructureDefinition/patient-birthPlace
adalah profil dasar yang memerlukan informasi tentang alamat terdaftar kelahiran pasien. -
http://hl7.org/fhir/StructureDefinition/bmi
adalah profil dasar lain yang mendefinisikan cara mewakili pengamatan Body Mass Index (BMI). -
http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance
adalah profil Inti AS yang menetapkan ekspektasi minimum untukAllergyIntolerance
sumber daya yang terkait dengan pasien, dan mengidentifikasi bidang wajib seperti ekstensi dan set nilai.
Saat sumber daya sesuai dengan profil, profil ditentukan di dalam profile
elemen sumber daya. Di bawah ini Anda dapat melihat contoh awal sumber daya 'Pasien', yang memiliki http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient profil.
{
"resourceType" : "Patient",
"id" : "ExamplePatient1",
"meta" : {
"lastUpdated" : "2020-10-30T09:48:01.8512764-04:00",
"source" : "Organization/PayerOrganizationExample1",
"profile" : [
"http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient"
]
},
Catatan
Profil harus dibangun di atas sumber daya dasar dan tidak dapat bertentangan dengan sumber daya dasar. Misalnya, jika elemen memiliki kardinalitas 1..1, profil tidak dapat membuatnya opsional.
Profil juga ditentukan oleh berbagai Panduan Implementasi (IG). Beberapa IG umum tercantum di bawah ini. Untuk informasi selengkapnya, kunjungi situs IG tertentu untuk mempelajari lebih lanjut tentang IG dan profil yang ditentukan di dalamnya:
Catatan
Layanan FHIR tidak menyimpan profil apa pun dari panduan implementasi secara default. Anda harus memuatnya ke dalam layanan FHIR.
Mengakses profil dan menyimpan profil
Menyimpan profil
Untuk menyimpan profil di layanan FHIR, Anda dapat PUT
StructureDefinition
dengan konten profil di isi permintaan. Pembaruan standar PUT
atau kondisional keduanya adalah metode yang baik untuk menyimpan profil pada layanan FHIR. Gunakan pembaruan bersyarah jika Anda tidak yakin mana yang akan digunakan.
Standar PUT
: PUT http://<your FHIR service base URL>/StructureDefinition/profile-id
atau
Pembaruan bersyar: PUT http://<your FHIR service base URL>/StructureDefinition?url=http://sample-profile-url
{
"resourceType" : "StructureDefinition",
"id" : "profile-id",
"url": "http://sample-profile-url"
…
}
Misalnya, jika Anda ingin menyimpan us-core-allergyintolerance
profil, Anda akan menggunakan perintah istirahat berikut dengan profil intoleransi alergi Inti AS dalam isinya. Kami telah menyertakan cuplikan profil ini untuk contohnya.
PUT https://<your FHIR service base URL>/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance
{
"resourceType" : "StructureDefinition",
"id" : "us-core-allergyintolerance",
"text" : {
"status" : "extensions"
},
"url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance",
"version" : "3.1.1",
"name" : "USCoreAllergyIntolerance",
"title" : "US Core AllergyIntolerance Profile",
"status" : "active",
"experimental" : false,
"date" : "2020-06-29",
"publisher" : "HL7 US Realm Steering Committee",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://www.healthit.gov"
}
]
}
],
"description" : "Defines constraints and extensions on the AllergyIntolerance resource for the minimal set of data to query and retrieve allergy information.",
Untuk contoh selengkapnya, lihat file REST sampel AS Core di situs sumber terbuka yang berjalan melalui penyimpanan profil AS Core. Untuk mendapatkan profil terbaru, Anda harus mendapatkan profil langsung dari HL7 dan panduan implementasi yang mendefinisikannya.
Menampilkan profil
Anda dapat mengakses profil kustom yang GET
ada menggunakan permintaan, GET http://<your FHIR service base URL>/StructureDefinition?url={canonicalUrl}
, di mana {canonicalUrl}
adalah URL kanonis profil Anda.
Misalnya, jika Anda ingin melihat profil sumber daya Tujuan Inti AS:
GET https://<your FHIR service base URL>/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal
Ini akan mengembalikan StructureDefinition
sumber daya untuk profil Tujuan Inti AS, yang akan dimulai seperti ini:
{
"resourceType" : "StructureDefinition",
"id" : "us-core-goal",
"url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal",
"version" : "3.1.1",
"name" : "USCoreGoalProfile",
"title" : "US Core Goal Profile",
"status" : "active",
"experimental" : false,
"date" : "2020-07-21",
"publisher" : "HL7 US Realm Steering Committee",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://www.healthit.gov"
}
]
}
],
"description" : "Defines constraints and extensions on the Goal resource for the minimal set of data to query and retrieve a patient's goal(s).",
}
Catatan
Anda hanya akan melihat profil yang telah Anda muat ke dalam layanan FHIR.
Layanan FHIR tidak mengembalikan StructureDefinition
instans untuk profil dasar, tetapi dapat ditemukan dengan mudah di situs web HL7, seperti:
http://hl7.org/fhir/Observation.profile.json.html
http://hl7.org/fhir/Patient.profile.json.html
Profil dalam pernyataan kapabilitas
Daftar Capability Statement
semua kemungkinan perilaku layanan FHIR Anda. Layanan FHIR memperbarui pernyataan kemampuan dengan detail profil yang disimpan dalam bentuk:
CapabilityStatement.rest.resource.profile
CapabilityStatement.rest.resource.supportedProfile
Misalnya, jika Anda POST
adalah profil Pasien Inti AS, yang dimulai seperti ini:
{
"resourceType": "StructureDefinition",
"id": "us-core-patient",
"url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient",
"version": "3.1.1",
"name": "USCorePatientProfile",
"title": "US Core Patient Profile",
"status": "active",
"experimental": false,
"date": "2020-06-27",
"publisher": "HL7 US Realm Steering Committee",
Dan kirim GET
permintaan untuk :metadata
GET http://<your FHIR service base URL>/metadata
Anda akan dikembalikan dengan CapabilityStatement
yang menyertakan informasi berikut pada profil Pasien Inti AS yang Anda unggah ke server FHIR Anda:
...
{
"type": "Patient",
"profile": "http://hl7.org/fhir/StructureDefinition/Patient",
"supportedProfile":[
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
],
Pengikatan di Profil
Layanan terminologi adalah serangkaian fungsi yang dapat melakukan operasi pada "terminologi" medis, seperti memvalidasi kode, menerjemahkan kode, memperluas kumpulan nilai, dll. Layanan FHIR tidak mendukung layanan terminologi. Informasi untuk operasi yang didukung ($), jenis sumber daya, dan interaksi dapat ditemukan di CapabilityStatement layanan. Jenis sumber daya ValueSet, StructureDefinition, dan CodeSystem didukung dengan operasi CRUD dasar dan Pencarian (sebagaimana didefinisikan dalam CapabilityStatement) serta dimanfaatkan oleh sistem untuk digunakan dalam $validate.
ValueSets dapat berisi sekumpulan aturan yang kompleks dan referensi eksternal. Saat ini, layanan hanya akan mempertimbangkan kode sebaris yang telah diperluas sebelumnya. Pelanggan perlu mengunggah ValueSets yang didukung ke server FHIR sebelum menggunakan operasi $validate. Sumber daya ValueSet harus diunggah ke server FHIR, menggunakan PUT atau pembaruan bersyar seperti yang disebutkan di bawah bagian Menyimpan Profil di atas.
Langkah berikutnya
Dalam artikel ini, Anda telah mempelajari tentang profil FHIR. Selanjutnya, Anda akan mempelajari bagaimana Anda dapat menggunakan $validate untuk memastikan bahwa sumber daya sesuai dengan profil ini.
FHIR® adalah merek dagang terdaftar HL7 dan digunakan dengan izin HL7.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk