Bagikan melalui


SMART diFHIR

Aplikasi Medis pengganti dan Teknologi yang Dapat Digunakan Kembali (SMART on FHIR) adalah standar layanan kesehatan di mana aplikasi dapat mengakses informasi klinis melalui penyimpanan data. Ini menambahkan lapisan keamanan berdasarkan standar terbuka termasuk OAuth2 dan OpenID Connect, ke antarmuka FHIR® untuk mengaktifkan integrasi dengan sistem EHR. Menggunakan SMART di FHIR memberikan setidaknya tiga manfaat penting:

  • Aplikasi memiliki metode yang diketahui untuk mendapatkan autentikasi/otorisasi ke repositori FHIR.
  • Pengguna yang mengakses repositori FHIR dengan SMART di FHIR dibatasi untuk sumber daya yang terkait dengan pengguna, daripada memiliki akses ke semua data di repositori.
  • Pengguna memiliki kemampuan untuk memberikan akses aplikasi ke sekumpulan data mereka yang terbatas dengan menggunakan cakupan klinis SMART.

Tutorial berikut menyediakan langkah-langkah untuk mengaktifkan SMART pada aplikasi FHIR dengan Layanan FHIR.

Prasyarat

SMART di FHIR menggunakan Sampel Azure Health Data Services (SMART di FHIR (Ditingkatkan))

Langkah 1: Menyiapkan peran pengguna FHIR SMART

Ikuti langkah-langkah yang tercantum di bagian Kelola Pengguna: Tetapkan Pengguna ke Peran. Setiap pengguna yang ditambahkan ke peran ini akan dapat mengakses Layanan FHIR, asalkan permintaan mereka mematuhi Panduan implementasi SMART on FHIR. Akses yang diberikan kepada pengguna dalam peran ini kemudian akan dibatasi oleh sumber daya yang terkait dengan kompartemen fhirUser mereka dan pembatasan dalam cakupan klinis.

Catatan

SMART pada Panduan Implementasi FHIR menentukan akses ke jenis sumber daya FHIR dengan cakupan. Cakupan ini berdampak pada akses aplikasi mungkin harus sumber daya FHIR. Pengguna dengan peran pengguna SMART memiliki akses untuk melakukan interaksi API baca pada layanan FHIR. Peran pengguna SMART tidak memberikan akses tulis ke layanan FHIR.

Langkah 2: Integrasi server FHIR dengan sampel

Klik tautan ini untuk menavigasi ke azure Health Data dan AI Samples sumber terbuka solution. Langkah-langkah yang tercantum dalam dokumen memungkinkan integrasi server FHIR dengan Layanan Azure lainnya (seperti APIM, fungsi Azure, dan lainnya).

Catatan

Sampel adalah kode sumber terbuka, dan Anda harus meninjau informasi dan ketentuan lisensi di GitHub sebelum menggunakannya. Mereka bukan bagian dari Azure Health Data Service dan tidak didukung oleh Dukungan Microsoft. Sampel ini digunakan untuk menunjukkan bagaimana Azure Health Data Services (AHDS) dan alat sumber terbuka lainnya dapat digunakan bersama-sama untuk menunjukkan API Standar §170.315(g)(10) untuk kepatuhan kriteria layanan pasien dan populasi, menggunakan ID Microsoft Entra sebagai alur kerja penyedia identitas.

SMART di Proksi FHIR

Klik untuk memperluas!

Catatan

Ini adalah opsi lain untuk SMART pada FHIR(Enhanced) menggunakan Sampel AHDS yang disebutkan sebelumnya. Kami menyarankan Anda untuk mengadopsi SMART pada FHIR(Enhanced). Opsi Smart on FHIR Proxy adalah opsi warisan. SMART on FHIR(Enhanced) menyediakan kemampuan tambahan ke SMART pada proksi FHIR. SMART on FHIR(Enhanced) memenuhi persyaratan dalam SMART pada Panduan Implementasi FHIR (v 1.0.0) dan §170.315(g)(10) STANDARDIZED API untuk kriteria layanan pasien dan populasi.

Untuk menggunakan SMART di FHIR, Anda harus terlebih dahulu mengautentikasi dan mengotorisasi aplikasi. Saat pertama kali menggunakan SMART di FHIR, Anda juga harus mendapatkan persetujuan administratif untuk mengizinkan aplikasi mengakses sumber daya FHIR Anda.

Jika Anda tidak memiliki peran kepemilikan di aplikasi, hubungi pemilik aplikasi dan minta mereka untuk memberikan persetujuan admin untuk Anda di aplikasi.

Jika Anda memiliki hak administratif, selesaikan langkah-langkah berikut untuk memberikan persetujuan admin kepada diri Anda secara langsung. (Anda juga dapat memberikan persetujuan admin kepada diri Anda nanti ketika diminta di aplikasi.) Anda dapat menggunakan langkah-langkah yang sama ini untuk menambahkan pengguna lain sebagai pemilik, sehingga mereka dapat melihat dan mengedit pendaftaran aplikasi.

Untuk menambahkan diri Anda atau pengguna lain sebagai pemilik aplikasi:

  1. Di portal Azure, buka Microsoft Entra ID.
  2. Di menu sebelah kiri, pilih Pendaftaran Aplikasi.
  3. Cari pendaftaran aplikasi yang Anda buat, lalu pilih.
  4. Di menu sebelah kiri, di bawah Kelola, pilih Pemilik.
  5. Pilih Tambahkan pemilik, lalu tambahkan diri Anda atau pengguna yang ingin Anda setujui adminnya.
  6. Pilih Simpan

Langkah 2: Aktifkan proksi SMART on FHIR

SMART di FHIR mengharuskan Audience URI pengidentifikasi memiliki URI yang sama dengan URI layanan FHIR. Konfigurasi standar layanan FHIR menggunakan Audience nilai https://fhir.azurehealthcareapis.com. Namun, Anda juga dapat menetapkan nilai yang cocok dengan URL tertentu dari layanan FHIR Anda (misalnya https://MYFHIRAPI.fhir.azurehealthcareapis.com). Ini diperlukan saat bekerja dengan proksi SMART on FHIR.

Untuk mengaktifkan proksi SMART on FHIR di pengaturan Autentikasi untuk instans FHIR Anda, pilih kotak centang PROKSI SMART on FHIR.

Proksi SMART on FHIR bertindak sebagai perantara antara SMART di aplikasi FHIR dan ID Microsoft Entra. Balasan autentikasi (kode autentikasi) harus masuk ke proksi SMART di FHIR alih-alih aplikasi itu sendiri. Proksi kemudian meneruskan balasan ke aplikasi.

Karena relai dua langkah kode autentikasi ini, Anda perlu mengatur URL balasan (panggilan balik) untuk aplikasi klien Microsoft Entra Anda ke URL yang merupakan kombinasi URL balasan untuk proksi SMART on FHIR, dan URL balasan untuk aplikasi SMART di FHIR. URL balasan gabungan mengambil formulir berikut.

https://MYFHIRAPI.azurehealthcareapis.com/AadSmartOnFhirProxy/callback/aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA

Dalam balasan, aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA adalah versi URL yang aman dan dikodekan dengan URL balasan base64 yang aman untuk SMART di aplikasi FHIR. Untuk peluncur aplikasi SMART on FHIR, saat aplikasi berjalan secara lokal, URL balasannya adalah https://localhost:5001/sampleapp/index.html.

Anda dapat membuat URL balasan gabungan dengan menggunakan skrip seperti berikut ini.

$replyUrl = "https://localhost:5001/sampleapp/index.html"
$fhirServerUrl = "https://MYFHIRAPI.fhir.azurewebsites.net"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($ReplyUrl)
$encodedText = [Convert]::ToBase64String($bytes)
$encodedText = $encodedText.TrimEnd('=');
$encodedText = $encodedText.Replace('/','_');
$encodedText = $encodedText.Replace('+','-');

$newReplyUrl = $FhirServerUrl.TrimEnd('/') + "/AadSmartOnFhirProxy/callback/" + $encodedText

Tambahkan URL balasan ke aplikasi klien publik yang Anda buat sebelumnya untuk ID Microsoft Entra.

Langkah 3: Dapatkan pasien tes

Untuk menguji layanan FHIR dan proksi SMART on FHIR, Anda harus memiliki setidaknya satu pasien dalam database. Jika Anda belum menggunakan API, dan Anda belum memiliki data dalam database, lihat Mengakses layanan FHIR menggunakan Klien REST untuk memuat pasien. Catat ID pasien tertentu.

Langkah 4: Unduh SMART di peluncur aplikasi FHIR

Server FHIR sumber terbuka untuk repositori Azure mencakup SMART sederhana pada peluncur aplikasi FHIR dan sampel SMART di aplikasi FHIR. Dalam tutorial ini, gunakan SMART ini pada peluncur aplikasi FHIR secara lokal untuk menguji penyiapan.

Anda dapat mengkloning repositori GitHub dan membuka aplikasi dengan menggunakan perintah berikut.

git clone https://github.com/Microsoft/fhir-server
cd fhir-server/samples/apps/SmartLauncher

Aplikasi ini membutuhkan beberapa pengaturan konfigurasi, yang dapat Anda atur di appsettings.json:

{
    "FhirServerUrl": "https://MYFHIRAPI.fhir.azurehealthcareapis.com",
    "ClientId": "APP-ID",
    "DefaultSmartAppUrl": "/sampleapp/launch.html"
}

Kami sarankan Anda menggunakan fitur ini dotnet user-secrets :

dotnet user-secrets set FhirServerUrl https://MYFHIRAPI.fhir.azurehealthcareapis.com
dotnet user-secrets set ClientId <APP-ID>

Gunakan perintah berikut untuk menjalankan aplikasi:

dotnet run

Langkah 5: Uji proksi SMART on FHIR

Setelah memulai SMART pada peluncur aplikasi FHIR, Anda dapat mengarahkan browser ke https://localhost:5001, tempat Anda akan melihat hal berikut:

Cuplikan layar memperlihatkan SMART pada peluncur aplikasi FHIR.

Saat Anda memasukkan informasi Pasien, Pertemuan, atau Praktisi, Anda melihat bahwa konteks Peluncuran diperbarui. Saat Anda menggunakan layanan FHIR, konteks peluncuran hanyalah dokumen JSON yang berisi informasi tentang pasien, praktisi, dan banyak lagi. Konteks peluncuran ini dikodekan base64 dan diteruskan ke SMART pada aplikasi FHIR sebagai launch parameter kueri. Menurut spesifikasi SMART on FHIR, variabel ini buram ke SMART pada aplikasi FHIR dan diteruskan ke IdP.

Proksi SMART on FHIR menggunakan informasi ini untuk mengisi bidang dalam respons token. Aplikasi SMART di FHIR dapat menggunakan bidang ini untuk mengontrol pasien mana yang diminta datanya, dan bagaimana aplikasi di layar dirender. Proksi SMART di FHIR mendukung bidang berikut.

  • patient
  • encounter
  • practitioner
  • need_patient_banner
  • smart_style_url

Bidang ini dimaksudkan untuk memberikan panduan kepada aplikasi, tetapi tidak menyampaikan informasi keamanan apa pun. Aplikasi SMART di FHIR dapat mengabaikannya.

Perhatikan bahwa peluncur aplikasi SMART di FHIR memperbarui informasi Luncurkan URL di bagian bawah halaman. Pilih Luncurkan untuk memulai aplikasi sampel, dan Anda akan melihat sesuatu seperti berikut ini.

Cuplikan layar memperlihatkan SMART di aplikasi FHIR.

Periksa respons token untuk melihat bagaimana bidang konteks peluncuran diteruskan ke aplikasi.

Migrasi dari SMART pada Proksi FHIR ke SMART di FHIR (Ditingkatkan)

Penting

Smart pada proksi FHIR dihentikan pada bulan September 2026, transisi ke SMART pada FHIR (Ditingkatkan) pada tanggal tersebut. Mulai September 2026, aplikasi yang mengandalkan SMART pada proksi FHIR akan melaporkan kesalahan dalam mengakses layanan FHIR.

SMART on FHIR (Enhanced) menyediakan lebih banyak kemampuan dibandingkan dengan SMART pada proksi FHIR. SMART on FHIR(Enhanced) dapat dipertimbangkan untuk memenuhi persyaratan dengan SMART pada Panduan Implementasi FHIR (v 1.0.0) dan §170.315(g)(10) STANDARDIZED API untuk kriteria layanan pasien dan populasi. Tabel berikut mencantumkan perbedaan antara SMART pada proksi FHIR dan SMART di FHIR (Ditingkatkan).

Kemampuan SMART di FHIR (Ditingkatkan) SMART pada proksi FHIR
Mendukung Peluncuran Mandiri Ya Tidak
Mendukung Peluncuran EHR Ya Ya
Mendukung pembatasan cakupan Ya Tidak
Mengandalkan produk Azure pihak pertama Ya, produk Azure seperti Azure API Management (APIM) perlu diintegrasikan No
Dukungan Microsoft Didukung untuk layanan FHIR. Dukungan sampel sumber terbuka perlu dilaporkan dan dipantau melalui GitHub Didukung untuk layanan FHIR

Langkah migrasi

  • Langkah 1: Siapkan peran pengguna FHIR SMART Ikuti langkah-langkah yang tercantum di bawah bagian Kelola Pengguna: Tetapkan Pengguna ke Peran. Setiap pengguna yang ditambahkan ke peran pengguna SMART dapat mengakses Layanan FHIR, jika permintaan mereka mematuhi Panduan implementasi SMART on FHIR.
  • Langkah 2: Menyebarkan sampel SMART on FHIR di bawah sampel Azure Health Data dan AI OSS
  • Langkah 3: Perbarui titik akhir url layanan FHIR ke '{{BASEURL_FROM_APIM}}/smart.'
  • Langkah 4: Hapus centang pengaturan proksi SMART on FHIR di bawah bilah Autentikasi untuk layanan FHIR.

Jika Anda memiliki pertanyaan, Anda bisa mendapatkan jawaban dari pakar komunitas di Microsoft Q&A. Untuk dukungan teknis, Anda juga dapat membuat permintaan dukungan.

Langkah berikutnya

Sekarang setelah Anda mempelajari tentang mengaktifkan fungsionalitas SMART di FHIR, lihat halaman sampel pencarian untuk detail tentang cara mencari menggunakan parameter pencarian, pengubah, dan metode pencarian FHIR lainnya.

Catatan

FHIR® adalah merek dagang terdaftar HL7 dan digunakan dengan izin HL7.