Mengonversi data Anda ke FHIR

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. Saat ini mendukung tiga jenis konversi data: C-CDA ke FHIR, HL7v2 ke FHIR, JSON ke FHIR.

Catatan

$convert-data titik akhir dapat digunakan sebagai komponen dalam alur ETL untuk konversi data layanan kesehatan mentah dari format warisan ke dalam format FHIR. Namun, itu bukan alur ETL dengan sendirinya. Kami menyarankan Anda untuk menggunakan 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 panggilan API $convert-data, pra/pasca-pemrosesan data, pengayaan data, dan de-duplikasi data.

Menggunakan titik akhir $convert-data

Operasi $convert-data ini 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:

https://<<FHIR service base URL>>/$convert-data

Sumber Daya Parameter

$convert-data mengambil sumber daya Parameter dalam isi permintaan seperti yang dijelaskan dalam tabel di bawah ini. 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
inputDataType Jenis data input. HL7v2, Ccda, Json
templateCollectionReference Referensi ke kumpulan templat gambar OCI di Azure Container Registry (ACR). Ini adalah gambar yang berisi templat Liquid untuk digunakan untuk konversi. Ini dapat menjadi referensi baik ke templat default atau gambar templat kustom yang terdaftar dalam layanan FHIR. Lihat di bawah 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

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"

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. Oleh karena itu, alih-alih templat default, kami memberi Anda beberapa contoh templat yang dapat Anda gunakan sebagai panduan awal untuk templat anda sendiri yang disesuaikan.

Peringatan

Templat default dirilis di bawah Lisensi MIT dan tidak didukung oleh Dukungan Microsoft.

Templat default disediakan hanya untuk membantu Anda memulai dengan cepat. Mereka mungkin diperbarui ketika kami memperbarui versi layanan FHIR. Oleh karena itu, Anda harus memverifikasi perilaku konversi dan menghosting salinan templat Anda sendiri di Azure Container Registry, mendaftarkan templat tersebut ke layanan FHIR, dan menggunakan dalam panggilan API Anda untuk memiliki perilaku konversi data yang konsisten di berbagai versi layanan.

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^PRSNL^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^CURRENT||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^HOME|||||||||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^PRSNL^^^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.

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 operasi $convert-data:

  1. Dorong templat ke Azure Container Registry Anda.
  2. Aktifkan Identitas Terkelola pada instans layanan FHIR Anda.
  3. Berikan akses ACR ke layanan FHIR Managed Identity.
  4. Daftarkan server ACR di layanan FHIR.
  5. Secara opsional mengonfigurasi firewall ACR 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 untuk tujuan ini.

Mengaktifkan Identitas Terkelola pada layanan FHIR

Telusuri ke instans layanan FHIR Anda di portal Microsoft Azure, lalu pilih bilah Identitas . Ubah status menjadi Aktif untuk mengaktifkan identitas terkelola di layanan FHIR.

Screen image of Enable Managed Identity.

Menyediakan akses ACR ke layanan FHIR

  1. Pilih Kontrol Akses (IAM) .

  2. Pilih Tambahkan > Tambahkan penetapan peran. Jika opsi Tambahkan penetapan peran berwarna abu-abu, minta administrator Azure Anda untuk menetapkan izin kepada Anda untuk melakukan tugas ini.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  3. Pada tab Peran , pilih peran AcrPull .

    Screen shot showing user interface of Add role assignment page.

  4. Pada tab Anggota, pilih Identitas terkelola, kemudian pilih Pilih anggota.

  5. Pilih langganan Azure Anda.

  6. Pilih Identitas terkelola yang ditetapkan sistem, lalu pilih layanan FHIR.

  7. Pada tab Review + assign, pilih Review + assign untuk menetapkan peran.

Untuk informasi selengkapnya tentang menetapkan peran di portal Microsoft Azure, lihat Peran bawaan Azure.

Mendaftarkan server ACR di layanan FHIR

Anda dapat mendaftarkan server ACR menggunakan portal Microsoft Azure, atau menggunakan CLI.

Mendaftarkan server ACR menggunakan portal Microsoft Azure

Telusuri ke bilah Artefak di bawah Transformasi data di instans layanan FHIR Anda. Anda akan melihat daftar server ACR yang saat ini terdaftar. Pilih Tambahkan, lalu pilih server registri Anda dari menu drop-down. Anda harus memilih Simpan agar pendaftaran berlaku. 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 layanan FHIR.

Instal Azure Health Data Services CLI dari Azure PowerShell jika diperlukan:

az extension add -n healthcareapis

Daftarkan server acr ke layanan FHIR dengan mengikuti contoh di bawah ini:

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 akun penyimpanan Azure dari portal.

Screen image of configure ACR firewall.

Pilih Jaringan yang dipilih.

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 di bawah ini, Anda akan menemukan alamat IP untuk wilayah Azure tempat layanan layanan FHIR disediakan.

Wilayah Azure Alamat IP Publik
Australia Timur 20.53.44.80
Kanada Tengah 20.48.192.84
US Tengah 52.182.208.31
AS Timur 20.62.128.148
US Timur 2 20.49.102.228
US Timur 2 EUAP 20.39.26.254
Jerman Utara 51.116.51.33
Jerman Barat Tengah 51.116.146.216
Jepang Timur 20.191.160.26
Korea Tengah 20.41.69.51
US Tengah Utara 20.49.114.188
Eropa Utara 52.146.131.52
Afrika Selatan Utara 102.133.220.197
AS Tengah Bagian Selatan 13.73.254.220
Asia Tenggara 23.98.108.42
Swiss Utara 51.107.60.95
UK Selatan 51.104.30.170
UK Barat 51.137.164.94
Barat Sentral AS 52.150.156.44
Eropa Barat 20.61.98.66
US Barat 2 40.64.135.77

Catatan

Langkah-langkah di atas mirip dengan langkah-langkah konfigurasi yang dijelaskan dalam dokumen Cara mengonfigurasi pengaturan ekspor FHIR. Untuk informasi selengkapnya, lihat Mengonfigurasi pengaturan ekspor

Untuk akses jaringan privat (yaitu, tautan privat), Anda juga dapat menonaktifkan akses jaringan publik ACR.

  • Pilih Bilah jaringan akun penyimpanan Azure dari portal.
  • Pilih Disabled.
  • Pilih Pengecualian firewall: Izinkan layanan Microsoft tepercaya untuk mengakses registri kontainer ini.

Screen image of private link for ACR.

Verifikasi

Lakukan panggilan ke API $convert-data yang menentukan referensi templat Anda di parameter templateCollectionReference.

<RegistryServer>/<imageName>@<imageDigest>

Langkah berikutnya

Dalam artikel ini, Anda telah mempelajari tentang titik akhir $convert-data dan templat customize-converter untuk mengonversi data di Azure Health Data Services. Untuk informasi selengkapnya tentang cara mengekspor data FHIR, lihat

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