$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. Parameter 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 , , Ccda Json ,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. Akibatnya, 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:
- Host salinan templat Anda sendiri dalam instans Azure Container Registry.
- Daftarkan templat ke layanan FHIR.
- Gunakan templat terdaftar Anda dalam panggilan API Anda.
- 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