Bagikan melalui


$convert-data dalam layanan FHIR

Catatan

Pada bulan Mei 2024, kami merilis API konverter FHIR yang berdiri sendiri yang dipisahkan dari layanan FHIR dan dikemas sebagai gambar kontainer (Docker) untuk pratinjau. Selain memungkinkan Anda mengonversi data dari sumber rekaman ke bundel FHIR R4, konverter FHIR menawarkan banyak kemampuan baru, seperti:

  • Konversi data dua arah dari sumber rekaman ke bundel FHIR R4 dan kembali. Misalnya, konverter FHIR dapat mengonversi data dari format FHIR R4 kembali ke format HL7v2.
  • Pengalaman yang ditingkatkan untuk penyesuaian templat Liquid default.
  • Sampel yang menunjukkan cara membuat alur ETL (ekstrak, transformasi, muat) dengan Azure Data Factory (ADF).

Untuk mengimplementasikan gambar kontainer konverter FHIR, lihat proyek GitHub konverter FHIR.

$convert-data Operasi dalam layanan FHIR® memungkinkan Anda mengonversi data kesehatan dari berbagai format menjadi data FHIR R4. Operasi ini $convert-data menggunakan templat Liquid dari proyek FHIR Converter untuk konversi data FHIR. Anda dapat menyesuaikan templat konversi ini sesuai kebutuhan.

Operasi ini $convert-data mendukung empat jenis konversi data:

  • HL7v2 ke FHIR R4
  • C-CDA ke FHIR R4
  • JSON ke FHIR R4 (ditujukan untuk pemetaan konversi kustom)
  • FHIR STU3 ke FHIR R4

Menggunakan titik akhir $convert-data

$convert-data Gunakan titik akhir sebagai komponen dalam alur ETL (ekstrak, transformasi, dan muat) untuk konversi data kesehatan dari berbagai format (misalnya: HL7v2, CCDA, JSON, dan FHIR STU3) ke dalam format FHIR. Buat alur ETL untuk alur kerja lengkap saat Anda mengonversi data kesehatan Anda. Kami menyarankan agar Anda menggunakan mesin ETL berdasarkan Azure Logic Apps atau Azure Data Factory. Misalnya, alur kerja mungkin mencakup penyerapan data, melakukan $convert-data operasi, validasi, pra-dan pasca-pemrosesan data, pengayaan data, deduplikasi data, dan memuat data untuk persistensi dalam layanan FHIR.

Operasi ini $convert-data diintegrasikan ke dalam layanan FHIR sebagai tindakan REST API. Anda dapat memanggil $convert-data titik akhir sebagai berikut:

POST {{fhirurl}}/$convert-data

Data kesehatan untuk konversi dikirimkan ke layanan FHIR dalam isi $convert-data permintaan. Jika permintaan berhasil, layanan FHIR mengembalikan respons bundel FHIR dengan data yang dikonversi ke FHIR R4.

Parameter

$convert-data Panggilan operasi mengemas data kesehatan untuk konversi di dalam parameter berformat JSON dalam isi permintaan. Parameternya dijelaskan dalam tabel berikut:

Nama Parameter Deskripsi Nilai yang diterima
inputData Payload data yang akan dikonversi ke FHIR. Untuk Hl7v2: string
Untuk Ccda: XML
Untuk Json: JSON
Untuk FHIR STU3: JSON
inputDataType Jenis input data. Hl7v2, , CcdaJson,Fhir
templateCollectionReference Referensi ke kumpulan templat gambar OCI di Azure Container Registry. Referensinya adalah ke gambar yang berisi templat Liquid untuk digunakan untuk konversi. Ini dapat merujuk ke templat default atau ke gambar templat kustom yang terdaftar dalam layanan FHIR. Bagian berikut mencakup penyesuaian templat, menghostingnya di Azure Container Registry, 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

Untuk FHIR STU3:
Nama sumber daya FHIR STU3 (misalnya: Pasien, Observasi, Organisasi)

Pertimbangan

  • Templat FHIR STU3 hingga FHIR R4 adalah templat Liquid yang menyediakan pemetaan perbedaan bidang hanya antara sumber daya FHIR STU3 dan sumber daya yang setara dalam spesifikasi FHIR R4. Beberapa sumber daya FHIR STU3 diganti namanya atau dihapus dari FHIR R4. Untuk informasi selengkapnya tentang perbedaan dan batasan sumber daya untuk konversi FHIR STU3 ke FHIR R4, lihat Perbedaan dan batasan sumber daya untuk konversi FHIR STU3 ke FHIR R4.

  • Templat JSON adalah templat sampel untuk digunakan dalam membangun pemetaan konversi Anda sendiri. Templat tersebut bukan templat default yang mematuhi jenis pesan data kesehatan yang telah ditentukan sebelumnya. JSON itu sendiri tidak ditentukan sebagai format data kesehatan, tidak seperti HL7v2 atau C-CDA. Oleh karena itu, alih-alih menyediakan templat JSON default, kami menyediakan beberapa contoh templat JSON sebagai titik awal untuk pemetaan Anda sendiri yang disesuaikan.

Peringatan

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

Templat default hanya disediakan untuk membantu Anda memulai alur kerja konversi data Anda. Templat default ini tidak ditujukan untuk produksi dan mungkin berubah saat Microsoft merilis pembaruan untuk layanan FHIR. Untuk memiliki perilaku konversi data yang konsisten di berbagai versi layanan FHIR, Anda harus melakukan hal berikut:

  1. Host salinan templat Anda sendiri dalam instans Azure Container Registry.
  2. Daftarkan templat ke layanan FHIR.
  3. Gunakan templat terdaftar Anda dalam panggilan API Anda.
  4. Verifikasi bahwa perilaku konversi memenuhi kebutuhan Anda.

Untuk informasi selengkapnya tentang menghosting templat Anda sendiri, lihat Menghosting templat Anda sendiri

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"
        }
    ]
}

Respon sampel

{
    "resourceType": "Bundle",
    "type": "batch",
    "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"
            }
        }
    ]
}

Hasil konversi FHIR adalah bundel FHIR sebagai batch.

  • Bundel FHIR harus selaras dengan harapan spesifikasi FHIR R4 - Bundel - FHIR v4.0.1.
  • Jika Anda mencoba memvalidasi terhadap profil tertentu, Anda perlu melakukan beberapa pemrosesan pasca dengan menggunakan operasi $validate FHIR.

Langkah berikutnya

Mengonfigurasi pengaturan untuk data $convert menggunakan portal Azure

Memecahkan masalah $convert-data

FAQ $convert-data

Catatan

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