Bagikan melalui


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}}). Perhatikan bahwa 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 akan dibatasi. 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 akan mengikuti format <resourceName>-<number>-<number>.ndjson. Urutan file tidak dijamin sesuai dengan urutan sumber daya 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, karena 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/ndjsonatau hanya ndjson. Semua pekerjaan ekspor akan 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 akan diekspor ke folder dalam kontainer tersebut. Jika kontainer tidak ditentukan, data akan 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, atau, dengan kata lain, memungkinkan perjalanan waktu.
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 non versi 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 .

Pemecahan 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 memanggil API layanan FHIR dengan DELETE permintaan. Nantinya, Anda dapat mengantre $export ulang pekerjaan dan mencoba lagi.

Untuk informasi selengkapnya tentang membatalkan $export operasi, lihat dokumentasi Permintaan Penghapusan Data Massal dari HL7.

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 tambahan untuk ekspor, lihat:

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