Mengonversi data Anda ke FHIR untuk Azure API untuk FHIR
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.
Titik $convert-data
akhir kustom dalam layanan FHIR® dimaksudkan untuk konversi data dari berbagai jenis data ke FHIR. Ini menggunakan mesin templat Liquid dan templat dari proyek FHIR Converter sebagai templat default. Anda dapat menyesuaikan templat konversi ini sesuai kebutuhan.
$convert-data
Saat ini titik akhir kustom mendukung empat jenis konversi data:
Format Data Asal | Format Data Tujuan |
---|---|
C-CDA | FHIR |
HL7v2 | FHIR |
JSON | FHIR |
FHIR STU3 | FHIR R4 |
Catatan
Titik $convert-data
akhir dapat digunakan sebagai komponen dalam alur ekspor, transformasi, pemuatan (ETL) untuk konversi data perawatan kesehatan mentah dari format warisan ke dalam format FHIR. Namun, itu bukan sendiri alur ETL. Sebaiknya gunakan mesin ETL seperti Logic Apps atau Azure Data Factory untuk alur kerja lengkap dalam menyiapkan data FHIR Anda untuk disimpan ke server FHIR. Alur kerja mungkin mencakup: pembacaan dan penyerapan data, validasi data, melakukan $convert-data
panggilan API, pra/pasca-pemrosesan data, pengayaan data, dan de-duplikasi data.
Menggunakan titik akhir $convert-data
Operasi ini $convert-data
diintegrasikan ke dalam layanan FHIR untuk dijalankan sebagai bagian dari layanan. Setelah mengaktifkan $convert-data
di server, Anda dapat melakukan panggilan API ke server untuk mengonversi data Anda menjadi FHIR menggunakan https://<<FHIR service base URL>>/$convert-data
.
Sumber Daya Parameter
$convert-data
mengambil sumber daya Parameter dalam isi permintaan seperti yang dijelaskan dalam tabel berikut. Dalam isi permintaan panggilan API, Anda akan menyertakan parameter berikut:
Nama Parameter | Deskripsi | Nilai yang diterima |
---|---|---|
inputData | Data yang akan dikonversi. | Untuk Hl7v2 : string Untuk Ccda : XML Untuk Json : JSON Untuk FHIR STU3 : JSON |
inputDataType | Jenis data input. | HL7v2 , , Ccda Json ,Fhir |
templateCollectionReference | Referensi ke kumpulan templat gambar OCI di Azure Container Registry (ACR). Ini adalah gambar yang berisi templat Liquid yang akan digunakan untuk konversi. Ini dapat menjadi referensi baik ke templat default atau gambar templat kustom yang terdaftar dalam layanan FHIR. Lihat yang berikut ini untuk mempelajari tentang menyesuaikan templat, menghosting templat di ACR, dan mendaftar ke layanan FHIR. | Untuk templat default/sampel: Templat HL7v2 : microsofthealth/fhirconverter:default microsofthealth/hl7v2templates:default Templat C-CDA : microsofthealth/ccdatemplates:default Templat JSON : microsofthealth/jsontemplates:default Templat FHIR STU3 : microsofthealth/stu3tor4templates:default Untuk templat kustom: <RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag> |
rootTemplate | Templat akar yang digunakan saat mengubah data. | Untuk HL7v2: "ADT_A01", "ADT_A02", "ADT_A03", "ADT_A04", "ADT_A05", "ADT_A08", "ADT_A11", "ADT_A13", "ADT_A14", "ADT_A15", "ADT_A16", "ADT_A25", "ADT_A26", "ADT_A27", "ADT_A28", "ADT_A29", "ADT_A31", "ADT_A47", "ADT_A60", "OML_O21", "ORU_R01", "ORM_O01", "VXU_V04", "SIU_S12", "SIU_S13", "SIU_S14", "SIU_S15", "SIU_S16", "SIU_S17", "SIU_S26", "MDM_T01", "MDM_T02" Untuk C-CDA: "CCD", "ConsultationNote", "DischargeSummary", "HistoryandPhysical", "OperativeNote", "ProcedureNote", "ProgressNote", "ReferralNote", "TransferSummary" Untuk JSON: "ExamplePatient", "Stu3ChargeItem" FHIR STU3": Sumber Daya STU3, misalnya Nama, "Pasien", "Pengamatan", "Organisasi". |
Catatan
Templat FHIR STU3 hingga R4 adalah templat Liquid "diff" yang menyediakan pemetaan perbedaan bidang hanya antara sumber daya STU3 dan sumber daya yang setara dalam standar FHIR R4. Beberapa sumber daya STU3 diganti namanya atau dihapus dari R4. Lihat Perbedaan dan batasan sumber daya untuk konversi STU3 ke R4.
Catatan
Templat JSON adalah templat sampel untuk digunakan, bukan templat "default" yang mematuhi jenis pesan JSON yang telah ditentukan sebelumnya. JSON tidak memiliki jenis pesan standar, tidak seperti pesan HL7v2 atau dokumen C-CDA. Alih-alih templat default, kami memberi Anda beberapa contoh templat yang dapat Anda gunakan sebagai panduan awal untuk templat anda sendiri yang dikustomisasi.
Peringatan
Templat default dirilis di bawah Lisensi MIT dan tidak didukung oleh Dukungan Microsoft.
Templat default hanya disediakan untuk membantu Anda memulai. Mereka mungkin diperbarui saat kami memperbarui versi Azure API untuk FHIR. Anda harus memverifikasi perilaku konversi dan menghosting salinan templat Anda sendiri di Azure Container Registry, mendaftarkan templat tersebut ke Azure API untuk digunakan FHIR dalam panggilan API Anda. Ini diperlukan untuk perilaku konversi data yang konsisten di berbagai versi Azure API untuk FHIR.
Permintaan Sampel
{
"resourceType": "Parameters",
"parameter": [
{
"name": "inputData",
"valueString": "MSH|^~\\&|SIMHOSP|SFAC|RAPP|RFAC|20200508131015||ADT^A01|517|T|2.3|||AL||44|ASCII\nEVN|A01|20200508131015|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^D||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^PRN|||||||||C^White - Other^^^||||||||\nPD1|||FAMILY PRACTICE^^12345|\nPV1|1|I|OtherWard^MainRoom^Bed 183^Simulated Hospital^^BED^Main Building^4|28b|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|||CAR|||||||||16094728916771313876^^^^visitid||||||||||||||||||||||ARRIVED|||20200508131015||"
},
{
"name": "inputDataType",
"valueString": "Hl7v2"
},
{
"name": "templateCollectionReference",
"valueString": "microsofthealth/fhirconverter:default"
},
{
"name": "rootTemplate",
"valueString": "ADT_A01"
}
]
}
Respons Sampel
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"fullUrl": "urn:uuid:9d697ec3-48c3-3e17-db6a-29a1765e22c6",
"resource": {
"resourceType": "Patient",
"id": "9d697ec3-48c3-3e17-db6a-29a1765e22c6",
...
...
"request": {
"method": "PUT",
"url": "Location/50becdb5-ff56-56c6-40a1-6d554dca80f0"
}
}
]
}
Mengkustomisasi templat
Anda dapat menggunakan ekstensi FHIR Converter untuk Visual Studio Code untuk menyesuaikan templat sesuai kebutuhan Anda. Ekstensi ini memberikan pengalaman pengeditan interaktif, dan memudahkan untuk mengunduh templat dan data sampel yang diterbitkan Microsoft. Lihat dokumentasi dalam ekstensi untuk detail selengkapnya.
Catatan
Ekstensi FHIR Converter untuk Visual Studio Code tersedia untuk templat HL7v2, C-CDA, dan JSON Liquid. Templat FHIR STU3 ke R4 Liquid saat ini tidak didukung.
Hosting dan menggunakan templat
Disarankan agar Anda menghosting salinan templat Anda sendiri di ACR. Ada empat langkah yang terlibat dalam menghosting salinan templat Anda sendiri dan menggunakannya dalam $convert-data
operasi:
- Dorong templat ke Azure Container Registry Anda.
- Aktifkan Identitas Terkelola pada Azure API Anda untuk instans FHIR.
- Berikan akses ACR ke Azure API untuk Identitas Terkelola FHIR.
- Daftarkan server ACR di Azure API untuk FHIR.
- Konfigurasikan firewall ACR secara opsional untuk akses aman.
Mendorong templat ke Azure Container Registry
Setelah membuat instans ACR, Anda dapat menggunakan perintah FHIR Converter: Push Templates di ekstensi FHIR Converter untuk mendorong templat yang disesuaikan ke ACR. Atau, Anda dapat menggunakan alat CLI Manajemen Templat.
Mengaktifkan Identitas Terkelola di Azure API untuk FHIR
Telusuri ke instans Azure API untuk layanan FHIR Anda di portal Azure, lalu pilih bilah Identitas. Ubah status menjadi Aktif untuk mengaktifkan identitas terkelola di Azure API untuk FHIR.
Menyediakan akses ACR ke Azure API untuk FHIR
Telusuri ke bilah Kontrol akses (IAM).
Pilih Tambahkan, lalu pilih Tambahkan penetapan peran untuk membuka halaman Tambahkan penetapan peran.
Tetapkan peran AcrPull .
Untuk informasi selengkapnya tentang menetapkan peran di portal Azure, lihat Peran bawaan Azure.
Mendaftarkan server ACR di Azure API untuk FHIR
Anda dapat mendaftarkan server ACR menggunakan portal Azure, atau menggunakan CLI.
Mendaftarkan server ACR menggunakan portal Azure
Telusuri ke bilah Artefak di bawah Transformasi data di Api Azure Anda untuk instans FHIR. Anda melihat daftar server ACR yang saat ini terdaftar. Pilih Tambahkan, lalu pilih server registri Anda dari menu drop-down. Anda perlu memilih Simpan agar pendaftaran diterapkan. Mungkin perlu beberapa menit untuk menerapkan perubahan dan menghidupkan ulang instans Anda.
Mendaftarkan server ACR menggunakan CLI
Anda dapat mendaftarkan hingga 20 server ACR di Azure API untuk FHIR.
Instal Azure Health Data Services CLI dari Azure PowerShell jika diperlukan:
az extension add -n healthcareapis
Daftarkan server acr ke Azure API untuk FHIR dengan mengikuti contoh berikut:
Mendaftarkan satu server ACR
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Mendaftarkan beberapa server ACR
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Mengonfigurasi firewall ACR
Pilih Jaringan untuk akun penyimpanan Azure dari portal.
Pilih Jaringan terpilih.
Di bawah bagian Firewall, tentukan alamat IP dalam kotak Rentang alamat. Tambahkan rentang IP untuk mengizinkan akses dari internet atau jaringan lokal Anda.
Dalam tabel berikut, Anda akan menemukan alamat IP untuk wilayah Azure tempat layanan Azure API for FHIR disediakan.
Wilayah Azure | Alamat IP Publik |
---|---|
Australia Timur | 20.53.47.210 |
Brasil Selatan | 191.238.72.227 |
Kanada Tengah | 20.48.197.161 |
India Tengah | 20.192.47.66 |
AS Timur | 20.62.134.242, 20.62.134.244, 20.62.134.245 |
AS Timur 2 | 20.62.60.115, 20.62.60.116, 20.62.60.117 |
Prancis Tengah | 51.138.211.19 |
Jerman Utara | 51.116.60.240 |
Jerman Barat Tengah | 20.52.88.224 |
Jepang Timur | 20.191.167.146 |
Jepang Barat | 20.189.228.225 |
Korea Tengah | 20.194.75.193 |
AS Tengah Bagian Utara | 52.162.111.130, 20.51.0.209 |
Eropa Utara | 52.146.137.179 |
Qatar Tengah | 20.21.36.225 |
Afrika Selatan Utara | 102.133.220.199 |
US Tengah Selatan | 20.65.134.83 |
Asia Tenggara | 20.195.67.208 |
Swedia Tengah | 51.12.28.100 |
Swiss Utara | 51.107.247.97 |
UK Selatan | 51.143.213.211 |
UK Barat | 51.140.210.86 |
AS Tengah Bagian Barat | 13.71.199.119 |
Eropa Barat | 20.61.103.243, 20.61.103.244 |
US Barat 2 | 20.51.13.80, 20.51.13.84, 20.51.13.85 |
AS Barat 3 | 20.150.245.165 |
Catatan
Langkah-langkah sebelumnya mirip dengan langkah-langkah konfigurasi yang dijelaskan dalam dokumen Cara mengekspor data FHIR. Untuk informasi selengkapnya, lihat Ekspor Aman ke Azure Storage
Verifikasi
Lakukan panggilan ke $convert-data
API yang menentukan referensi templat Anda di parameter templateCollectionReference.
<RegistryServer>/<imageName>@<imageDigest>
Langkah berikutnya
Dalam artikel ini, Anda mempelajari tentang konversi data untuk Azure API untuk FHIR. Untuk informasi selengkapnya tentang Proyek GitHub terkait untuk Azure API untuk FHIR, lihat