Mengekspor data FHIR Anda
Dengan menggunakan operasi massal $export
dalam layanan FHIR®, Anda dapat mengekspor data seperti yang dijelaskan dalam spesifikasi HL7 FHIR Bulk Data Access.
Sebelum Anda mencoba menggunakan $export
, pastikan layanan FHIR Anda dikonfigurasi untuk terhubung dengan akun Azure Data Lake Storage Gen2. Untuk mengonfigurasi pengaturan ekspor dan membuat akun Data Lake Storage Gen2, lihat Mengonfigurasi pengaturan untuk ekspor.
$export
Memanggil titik akhir
Setelah Menyiapkan layanan FHIR untuk terhubung dengan akun Data Lake Storage Gen2, Anda dapat memanggil $export
titik akhir, dan layanan FHIR akan mengekspor data ke dalam kontainer Azure Blob Storage di dalam akun penyimpanan. Contoh permintaan berikut mengekspor semua sumber daya ke dalam kontainer, yang ditentukan berdasarkan nama ({{containerName}}
). Catatan: Anda harus membuat kontainer di akun Data Lake Storage Gen2 sebelumnya jika Anda ingin menentukan {{containerName}}
dalam permintaan.
GET {{fhirurl}}/$export?_container={{containerName}}
Jika Anda tidak menentukan nama kontainer dalam permintaan (misalnya, dengan memanggil GET {{fhirurl}}/$export
), kontainer baru dengan nama yang dibuat secara otomatis akan dibuat untuk data yang diekspor.
Untuk informasi umum tentang spesifikasi FHIR $export
API, lihat dokumentasi Alur Permintaan Ekspor HL7 FHIR.
Layanan FHIR mendukung $export
pada tingkat berikut:
- Sistem:
GET {{fhirurl}}/$export
- Pasien:
GET {{fhirurl}}/Patient/$export
- Kelompok pasien*:
GET {{fhirurl}}/Group/[ID]/$export
*Layanan FHIR mengekspor semua sumber daya yang direferensikan tetapi tidak mengekspor karakteristik sumber daya grup itu sendiri.
Data diekspor dalam beberapa file. Setiap file berisi sumber daya hanya dari satu jenis. Jumlah sumber daya dalam file individual adalah. Jumlah maksimum sumber daya didasarkan pada performa sistem. Saat ini diatur ke 5.000, tetapi dapat berubah.
Hasilnya adalah Anda mungkin mendapatkan beberapa file untuk jenis sumber daya. Nama file mengikuti format <resourceName>-<number>-<number>.ndjson
. Urutan file tidak dijamin sesuai dengan urutan sumber daya apa pun dalam database.
Catatan
Patient/$export
dan Group/[ID]/$export
dapat mengekspor sumber daya duplikat jika sumber daya berada dalam beberapa grup atau di kompartemen lebih dari satu sumber daya.
Selain memeriksa keberadaan file yang diekspor di akun penyimpanan Anda, Anda dapat memeriksa status operasi Anda $export
melalui URL di Content-Location
header yang dikembalikan dalam respons layanan FHIR. Untuk informasi selengkapnya, lihat dokumentasi Permintaan Status Data Massal dari HL7.
Mengekspor data FHIR Anda ke Data Lake Storage Gen2
Saat ini, layanan FHIR mendukung $export
akun Data Lake Storage Gen2, dengan batasan berikut:
- Data Lake Storage Gen2 menyediakan namespace hierarkis, namun tidak ada cara untuk menargetkan
$export
operasi ke subdirektori tertentu dalam kontainer. Layanan FHIR hanya dapat menentukan kontainer tujuan untuk ekspor, tempat folder baru untuk setiap$export
operasi dibuat. $export
Setelah operasi selesai dan semua data telah ditulis di dalam folder, layanan FHIR tidak mengekspor apa pun ke folder tersebut lagi. Ekspor berikutnya ke kontainer yang sama akan berada di dalam folder yang baru dibuat.
Untuk mengekspor data ke akun penyimpanan di belakang firewall, lihat Mengonfigurasi pengaturan untuk ekspor.
Pengaturan dan parameter
Header
Dua parameter header yang diperlukan harus diatur untuk $export
pekerjaan. Nilai diatur sesuai dengan spesifikasi $export HL7 saat ini.
- Terima:
application/fhir+json
- Lebih suka:
respond-async
Parameter kueri
Layanan FHIR mendukung parameter kueri berikut untuk memfilter data yang diekspor. Semua parameter ini bersifat opsional.
Parameter kueri | Ditentukan oleh spesifikasi FHIR? | Deskripsi |
---|---|---|
_outputFormat |
Ya | Saat ini mendukung tiga nilai untuk selaras dengan spesifikasi FHIR: application/fhir+ndjson , , application/ndjson atau hanya ndjson . Semua pekerjaan ekspor mengembalikan .ndjson file dan nilai yang diteruskan tidak berpengaruh pada perilaku kode. |
_since |
Ya | Memungkinkan Anda mengekspor hanya sumber daya yang telah dimodifikasi sejak waktu yang ditentukan. |
_type |
Ya | Memungkinkan Anda menentukan jenis sumber daya mana yang akan disertakan. Misalnya, _type=Patient hanya akan mengembalikan sumber daya pasien. |
_typeFilter |
Ya | Untuk meminta pemfilteran yang lebih halus, Anda dapat menggunakan _typeFilter bersama dengan _type parameter . Nilai _typeFilter parameter adalah daftar kueri FHIR yang dipisahkan koma yang membatasi hasil lebih lanjut. |
_container |
No | Menentukan nama kontainer di akun penyimpanan yang dikonfigurasi tempat data harus diekspor. Jika kontainer ditentukan, data diekspor ke folder dalam kontainer tersebut. Jika kontainer tidak ditentukan, data diekspor ke kontainer baru dengan nama yang dibuat secara otomatis. |
_till |
No | Memungkinkan Anda mengekspor sumber daya yang telah dimodifikasi hingga waktu yang ditentukan. Parameter ini hanya berlaku dengan ekspor Tingkat Sistem. Dalam hal ini, jika versi historis belum dinonaktifkan atau dihapus menyeluruh, ekspor menjamin tampilan rekam jepret yang sebenarnya. |
includeAssociatedData |
No | Memungkinkan Anda mengekspor riwayat dan sumber daya yang dihapus sementara. Filter ini tidak berfungsi dengan parameter kueri '_typeFilter'. Sertakan nilai sebagai '_history' untuk mengekspor riwayat/sumber daya versi non-terbaru. Sertakan nilai sebagai '_deleted' untuk mengekspor sumber daya yang dihapus sementara. |
Catatan
Hanya akun penyimpanan dalam langganan yang sama dengan layanan FHIR yang diizinkan untuk didaftarkan sebagai tujuan operasi $export
.
Pecahkan masalah
Informasi berikut dapat membantu Anda mengatasi masalah dengan mengekspor data FHIR.
Pekerjaan terjebak dalam keadaan buruk
Dalam beberapa situasi, ada potensi pekerjaan terjebak dalam keadaan buruk saat layanan FHIR mencoba mengekspor data. Ini dapat terjadi terutama jika izin akun Data Lake Storage Gen2 belum disiapkan dengan benar.
Salah satu cara untuk memeriksa status operasi Anda $export
adalah dengan membuka browser penyimpanan akun penyimpanan Anda dan melihat apakah ada .ndjson
file yang ada dalam kontainer ekspor. Jika file tidak ada dan tidak ada pekerjaan lain $export
yang berjalan, ada kemungkinan bahwa pekerjaan saat ini terjebak dalam keadaan buruk. Dalam hal ini, Anda dapat membatalkan $export
pekerjaan dengan mengirim permintaan DELETE ke URL yang disediakan di header Content-Location untuk membatalkan permintaan
Catatan
Dalam layanan FHIR, waktu default untuk $export
operasi diam dalam keadaan buruk adalah 10 menit sebelum layanan menghentikan operasi dan pindah ke pekerjaan baru.
Langkah berikutnya
Dalam artikel ini, Anda telah mempelajari tentang mengekspor sumber daya FHIR dengan menggunakan $export
operasi. Untuk informasi tentang cara menyiapkan dan menggunakan opsi lain untuk ekspor, lihat: