Bagikan melalui


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, , CcdaJson,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:

  1. Dorong templat ke Azure Container Registry Anda.
  2. Aktifkan Identitas Terkelola pada Azure API Anda untuk instans FHIR.
  3. Berikan akses ACR ke Azure API untuk Identitas Terkelola FHIR.
  4. Daftarkan server ACR di Azure API untuk FHIR.
  5. 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.

Gambar layar Aktifkan Identitas Terkelola.

Menyediakan akses ACR ke Azure API untuk FHIR

  1. Telusuri ke bilah Kontrol akses (IAM).

  2. Pilih Tambahkan, lalu pilih Tambahkan penetapan peran untuk membuka halaman Tambahkan penetapan peran.

  3. Tetapkan peran AcrPull .

    Gambar layar halaman Tambahkan penetapan peran.

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.

 Gambar layar registri kontainer.

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

Catatan

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