Abstract
Sistem BPJS dalam bidang Kesehatan merupakan sistem yang paling dibutuhkan oleh masyarakat Indonesia khususnya bagi masyarakat golongan menengah kebawah. Namun, sistem ini memiliki kekurangan yaitu keterbatasan infrastruktur dan tranparansi dalam pertukaran data rekam medis pasien yang dapat menjadi salah satu faktor utama sistem ini masih belum dapat dinikmati secara merata oleh masyarakat. Maka dari itu, dirancang sebuah sistem Middleware berbasis Publish-Subscribe yang dapat menjembatani pertukaran data rekam medis antar pangkalan data dari setiap Puskesmas dan Rumah Sakit. Dalam pengimplementasiannya, sistem ini menggunakan web service Flask sebagai platform yang menjembatani JSON dengan HTML. Sistem ini memiliki 4 fitur utama yaitu, Registrasi Data Pasien, Lihat Data Pasien, Ubah Data Pasien, dan Hapus Data Pasien. Dari 4 fitur tersebut hanya 3 fitur yang akan melakukan proses sinkronisasi data, yaitu Registrasi Data Pasien, Ubah Data Pasien, dan Hapus Data Pasien. Sinkronisasi data dalam sistem ini diimplementasikan dengan menerapkan cara kerja dari protokol MQTT, yaitu terdapat publisher sebagai pengirim pesan, subscriber sebagai penerima pesan, dan broker sebagai perantara antara subscriber dan publisher. Dengan begitu, ketika sistem menangkap aktivitas terjadi pada suatu fitur, maka sistem akan otomatis melakukan publish data yang dihasilkan proses tersebut kepada broker. Broker akan menerima data kemudian mendistribusikannya ke setiap client yang berlangganan topik, proses ini disebut subscribe. Pengimplementasian Middleware berbasis Publish-Subscribe ini memiliki tingkat keakurasian yang tinggi dalam proses sinkronisasi data antar pangkalan data (database), yaitu mencapai 100%. Dimana setiap terjadi perubahan terhadap data pada suatu database client sistem akan otomatis mengirimkan perubahan tersebut ke seluruh database client yang telah berlangganan topik. Setelah melakukan pengujian dapat disimpulkan bahwa sistem ini dapat mengirimkan data sampai sebesar 190 MB tanpa adanya packet-loss, dan delay yang dihasilkan dari setiap proses transmisi data semakin meningkat seiring bertambahnya ukuran data yang dikirim, jumlah publisher dan jumlah subscriber