Di tengah kemajuan teknologi digital, interoperabilitas sebagai konsep yang
memungkinkan sistem yang berbeda untuk berkomunikasi dan berbagi data
menjadi hal yang sangat krusial, terutama dalam sektor kesehatan untuk dapat
meningkatkan efisiensi dalam pelayanan kesehatan dan peningkatan perawatan
pasien. Dalam konteks interoperabilitas pada sektor kesehatan, standar seperti Fast
Healthcare Interoperability Resources (FHIR) memainkan peranan penting dalam
interoperabilitas data kesehatan. Di Indonesia, interoperabilitas data kesehatan
menjadi hal yang wajib dengan terbitnya Peraturan Menteri Kesehatan (PMK)
nomor 24 tahun 2022 tentang Rekam Medis dan diluncurkannya platform
SATUSEHAT sebagai ekosistem pertukaran data kesehatan. Namun, dengan
kebutuhan untuk segera menerapkan interoperabilitas rekam medis di Indonesia
akan seiring dengan banyaknya data kesehatan dari Rekam Medis Elektronik
(RME) yang akan dipertukarkan. Metode pengiriman yang digunakan dalam
interoperabilitas ke server SATUSEHAT adalah pendekatan komunikasi sinkron
yang menggunakan Representational State Transfer Application Programming
Interface (REST API). Penggunaan REST API memiliki resiko ketika menangani
jumlah data yang besar yaitu berupa latency yang tinggi, resiko overload pada
server dan kurangnya stabilitas untuk menangani lonjakan permintaan secara
efektif. Sebagai alternatif, pendekatan dengan menggunakan komunikasi secara
asinkron yang menerapkan antrian pesan memungkinkan peningkatan keandalan
pengiriman data dan pengelolaan lonjakan permintaan yang baik.
Penelitian ini bertujuan merancang arsitektur komunikasi asinkron untuk
interoperabilitas data kesehatan dan melakukan studi komparasi antara komunikasi
sinkron dan asinkron dalam penerapan standar FHIR untuk interoperabilitas RME
pada platform SATUSEHAT. Dalam rancangan arsitektur komunikasi asinkron,
penelitian ini menambahkan RabbitMQ sebagai message broker untuk membuat
antrian pesan sebelum pengiriman menggunakan protokol REST ke server
ii
SATUSEHAT. Pengujian kinerja terhadap response time, throughput dan error
rate dari kedua arsitektur interoperabilitas dilakukan dengan mengirimkan
permintaan menggunakan metode GET, POST dan PUT pada beberapa endpoint
resource dari server SATUSEHAT. Pengujian ini melibatkan empat skenario
pengujian yang memiliki variasi dalam data dan jumlah pengguna. Tools yang
digunakan untuk pengujian kinerja yaitu Apache Jmeter, Gatling dan K6.
Hasil pengujian menunjukkan bahwa kinerja response time pada komunikasi
asinkron lebih baik dibandingkan komunikasi sinkron pada pengiriman sampai
dengan 200 data pada skenario 1, dengan perubahan response time memperlihatkan
adanya penurunan sebesar 23% pada 50 data, 6,52% pada 100 data, 2,68% pada
150 data, dan 4,94% pada 200 data, yang menunjukkan response time komunikasi
asinkron lebih baik dibandingkan komunikasi sinkron. Begitu juga pada skenario
2, pada pengujian 10 user perubahan response time menunjukkan adanya penurunan
sebesar 6,05%. Namun pada pengiriman dengan jumlah data atau jumlah user yang
lebih banyak, response time mengalami peningkatan yang menunjukkan kinerja
response time pada komunikasi asinkron lebih lambat dibanding komunikasi
sinkron. Hal ini terjadi karena mekanisme pengembalian pesan ke antrian dan
pengiriman kembali pesan setelah permintaan mengalami kegagalan karena rate
limit, yang menyebabkan response time meningkat.
Hasil pengujian kinerja throughput JMeter menunjukkan bahwa throughput pada
komunikasi asinkron sedikit lebih tinggi dibandingkan dengan komunikasi sinkron
dengan peningkatan sebesar 30,43% pada 50 data, 6,67% pada 100 data, 10% pada
150 data, dan 66,67% pada 250 data. Begitu juga dengan pengujian pada skenario
2, throughput mengalami peningkatan sebesar 7,13% pada 10 user, 24,85% pada
20 user, dan 3,53% pada 30 user. Namun pada pengiriman data atau jumlah user
yang lebih banyak, throughput Jmeter pada komunikasi asinkron lebih sedikit dari
komunikasi sinkron. Pada komunikasi sinkron diperoleh error rate yang bervariasi
dikarenakan rate limit. Saat rate limit tercapai, permintaan akan ditolak oleh server
SATUSEHAT. Pada beban dan lonjakan permintaan yang dikirimkan sesaat setelah
rate limit tercapai, error rate dapat mencapai 100%. Kinerja pada komunikasi
asinkron lebih baik dengan memperoleh nilai error rate 0% untuk semua skenario
pengujian dikarenakan adanya mekanisme pengembalian pesan ke antrian dan
pengiriman kembali pesan setelah jeda waktuke server SATUSEHAT, setelah
permintaan mengalami kegagalan. Hasil keseluruhan menunjukkan bahwa kinerja
komunikasi asinkron lebih handal dalam menangani beban dan lonjakan permintaan
yang tinggi.