Bagikan melalui


Patient-everything di FHIR

Operasi Patient-everything digunakan untuk memberikan tampilan semua sumber daya yang terkait dengan pasien. Operasi ini dapat berguna untuk memberikan akses pasien ke seluruh catatan mereka atau bagi penyedia atau pengguna lain untuk melakukan unduhan data massal yang terkait dengan pasien. Menurut spesifikasi FHIR, Patient-everything mengembalikan semua informasi yang terkait dengan satu atau beberapa pasien yang dijelaskan dalam sumber daya atau konteks tempat operasi ini dipanggil. Di Azure API untuk FHIR, Semuanya pasien tersedia untuk menarik data yang terkait dengan pasien tertentu.

Gunakan Patient-everything

Untuk memanggil Patient-everything, gunakan perintah berikut:

GET {FHIRURL}/Patient/{ID}/$everything

Catatan

Anda harus menentukan ID untuk pasien tertentu. Jika Anda memerlukan semua data untuk semua pasien, lihat $export.

Azure API untuk FHIR memvalidasi bahwa ia dapat menemukan pasien yang cocok dengan ID pasien yang disediakan. Jika hasil ditemukan, respons akan menjadi bundel jenis searchset dengan informasi berikut:

  • Sumber daya pasien
  • Sumber daya yang secara langsung dirujuk oleh sumber daya pasien, kecuali referensi tautan yang tidak seealso atau jika seealso tautan mereferensikan RelatedPerson.
  • Jika ada seealso referensi tautan ke pasien lain, hasilnya akan mencakup operasi Pasien-semuanya terhadap seealso pasien yang tercantum.
  • Sumber daya di Kompartemen Pasien
  • Sumber daya perangkat yang mereferensikan sumber daya pasien.

Catatan

Jika pasien memiliki lebih dari 100 perangkat yang ditautkan ke mereka, hanya 100 yang akan dikembalikan.

Parameter patient-everything

Azure API untuk FHIR mendukung parameter kueri berikut. Semua parameter ini bersifat opsional:

Parameter kueri Deskripsi
_type Memungkinkan Anda menentukan jenis sumber daya mana yang akan disertakan dalam respons. Misalnya, _type=Encounter hanya Encounter akan mengembalikan sumber daya yang terkait dengan pasien.
_Sejak Hanya akan mengembalikan sumber daya yang telah dimodifikasi sejak waktu yang disediakan.
mulai Menentukan tanggal mulai akan menarik sumber daya tempat tanggal klinis mereka setelah tanggal mulai yang ditentukan. Jika tidak ada tanggal mulai yang disediakan, semua rekaman sebelum tanggal selesai berada dalam cakupan.
akhir Menentukan tanggal akhir akan menarik sumber daya di mana tanggal klinis mereka sebelum tanggal selesai yang ditentukan. Jika tidak ada tanggal selesai yang disediakan, semua rekaman setelah tanggal mulai berada dalam cakupan.

Catatan

Implementasi Patient-everything ini tidak mendukung parameter _count.

Pada sumber daya pasien, ada elemen yang disebut tautan, yang menghubungkan pasien dengan pasien lain atau orang terkait. Pasien yang terkait ini membantu memberikan pandangan holistik tentang pasien asli. Referensi tautan dapat digunakan ketika pasien mengganti pasien lain atau ketika dua sumber daya pasien memiliki informasi pelengkap. Satu kasus penggunaan untuk tautan adalah ketika pesan ADT 38 atau 39 HL7v2 datang. ADT38/39 menjelaskan pembaruan untuk pasien. Pembaruan ini dapat disimpan sebagai referensi antara dua pasien dalam elemen tautan.

Spesifikasi FHIR memiliki gambaran umum terperinci tentang berbagai jenis tautan pasien, tetapi berikut adalah ringkasan tingkat tinggi:

  • replaces - Sumber daya Pasien menggantikan Pasien yang berbeda.
  • refer - Pasien valid, tetapi tidak dianggap sebagai sumber informasi utama. Menunjuk ke pasien lain untuk mengambil informasi tambahan.
  • seealso - Pasien berisi tautan ke pasien lain yang sama-sama valid.
  • diganti-oleh - Sumber daya Pasien menggantikan Pasien yang berbeda.

Operasi Patient-everything di Azure API untuk FHIR memproses tautan pasien dengan cara yang berbeda untuk memberi Anda tampilan pasien yang paling holistik.

Catatan

Tautan juga dapat mereferensikan RelatedPerson. Saat ini, RelatedPerson sumber daya tidak diproses dalam Semua pasien dan tidak dikembalikan dalam bundel.

Saat ini, tautan ganti dan rujuk diabaikan oleh operasi Pasien-semuanya, dan pasien yang ditautkan tidak dikembalikan dalam bundel.

Seperti yang dijelaskan, seealso menautkan referensi pasien lain yang dianggap sama validnya dengan aslinya. Setelah operasi Pasien-semuanya dijalankan, jika pasien memiliki seealso tautan ke pasien lain, operasi menjalankan Patient-everything di setiap seealso tautan. Ini berarti jika pasien terhubung ke lima pasien lain dengan tautan jenis seealso , kita akan menjalankan Patient-everything pada masing-masing dari kelima pasien tersebut.

Catatan

Ini disiapkan untuk hanya mengikuti seealso tautan satu lapisan dalam. Ini tidak memproses seealso tautan tautan seealso .

Lihat juga diagram alur.

Jenis tautan akhir digantikan oleh. Dalam hal ini, sumber daya pasien asli tidak lagi digunakan dan replaced-by tautan menunjuk ke pasien yang harus digunakan. Implementasi Patient-everything ini akan mencakup secara default hasil operasi pada awal bundel dengan peringatan bahwa pasien tidak lagi valid. Ini juga akan menjadi perilaku ketika Prefer header diatur ke handling=lenient.

Selain itu, Anda dapat mengatur Prefer header ke handling=strict untuk melemparkan kesalahan sebagai gantinya. Dalam hal ini, pengembalian kode kesalahan 301 MovedPermanently menunjukkan bahwa pasien saat ini sudah kedaluarsa dan mengembalikan ID untuk pasien yang benar yang disertakan dalam tautan. Header ContentLocation kesalahan yang dikembalikan akan menunjuk ke permintaan yang benar dan terbaru.

Catatan

replaced-by Jika tautan ada, Prefer: handling=lenient dan hasil dikembalikan secara asinkron dalam beberapa bundel, hanya hasil operasi yang dikembalikan dalam satu bundel.

Urutan respons pasien-semuanya

Operasi Patient-everything mengembalikan hasil dalam fase:

  1. Fase 1 mengembalikan sumber daya itu Patient sendiri selain referensi runtime integrasi sumber daya dan managingOrganization apa pungeneralPractitioner.
  2. Fase 2 dan 3 mengembalikan sumber daya di kompartemen pasien. Jika parameter kueri awal atau akhir ditentukan, Fase 2 mengembalikan sumber daya dari kompartemen yang dapat difilter berdasarkan tanggal klinisnya, dan Fase 3 mengembalikan sumber daya dari kompartemen yang tidak dapat difilter berdasarkan tanggal klinisnya. Jika tidak ada parameter ini yang ditentukan, Fase 2 dilewati dan Fase 3 mengembalikan semua sumber daya kompartemen pasien.
  3. Fase 4 akan mengembalikan perangkat apa pun yang mereferensikan pasien.

Setiap fase akan mengembalikan hasil dalam bundel. Jika hasilnya mencakup beberapa halaman, tautan berikutnya dalam bundel akan menunjuk ke halaman hasil berikutnya untuk fase tersebut. Setelah semua hasil dari fase dikembalikan, tautan berikutnya dalam bundel akan menunjuk ke panggilan untuk memulai fase berikutnya.

Jika pasien asli memiliki tautan, seealso fase 1 hingga 4 akan diulang untuk masing-masing pasien tersebut.

Contoh Patient-everything

Berikut adalah beberapa contoh penggunaan operasi Patient-everything. Selain contoh, kami memiliki sampel file REST yang menggambarkan seealso cara kerja perilaku dan replaced-by .

Untuk menggunakan Patient-everything untuk mengkueri antara 2010 dan 2020, gunakan panggilan berikut:

GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020

Untuk menggunakan $patient-semuanya untuk mengkueri Observasi dan Pertemuan pasien, gunakan panggilan berikut:

GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter 

Untuk menggunakan $patient-semuanya untuk mengkueri "semuanya" pasien sejak 2021-05-27T05:00:00Z, gunakan panggilan berikut:

GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z 

Jika pasien ditemukan untuk setiap panggilan ini, Anda akan mendapatkan kembali respons 200 dengan sumber daya yang Bundle sesuai.

Langkah berikutnya

Sekarang setelah Anda tahu cara menggunakan operasi Patient-everything, Anda dapat mempelajari tentang opsi pencarian.

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