6 minute read

Penambahan kasus Covid 19 yang semakin menjadi-jadi beberapa hari terakhir membuat kita semua harus tetap waspada. Jikalau tahun lalu circle terdekat saya masih “aman”, kali ini tidak.

Beberapa anggota keluarga dan teman-teman dekat sudah terpapar Covid 19 yang disinyalir merupakan varian delta baru.

Saat saya menonton Mata Najwa episode kemarin, di mana para nakes take over acara tersebut (host oleh dr. Tompi). Sekali lagi saya mendengar bahwa sistem pelayanan kesehatan seperti Rumah Sakit akan kolaps jika kita tidak dengan segera menghentikan penyebaran Covid 19.

Salah seorang anggota keluarga yang bekerja di RS rujukan Covid 19 di Kota Bekasi juga membenarkan bahwa saat ini tempat tidur untuk Covid 19 di RS-nya penuh.

Ingat yah, saya tidak dalam posisi menakut-nakuti tapi mengingatkan agar kita tetap waspada.

Sepanjang pengetahuan saya, ternyata Kementrian Kesehatan memiliki suatu Sistem Informasi Rawat Inap (SIRANAP) berisi database informasi jumlah kapasitas tempat tidur dan keterisian di setiap Rumah Sakit (baik RS swasta, RS pemerintah, RS daerah, RS TNI dan POLRI, dan RS lainnya). Tentu saja data yang ada akan reliable jika diasumsikan setiap RS selalu meng-update datanya ke dalam SIRANAP tersebut.

Saya mencoba membuat script web scraper menggunakan R dan berhasil mengambil datanya untuk bisa saya olah. Script-nya saya lampirkan di bagian bawah.

Data 32 RS di Kota Bekasi pada 08:52 WIB

Saat saya ambil data ketersediaan tempat tidur di 32 RS Kota Bekasi yang ada di SIRANAP, saya mendapatkan informasi sebagai berikut:

Coba kita bandingkan angka pada warna merah (tempat tidur kosong) dengan angka pada warna hijau (kapasitas tempat tidur). Cukup jauh perbedaannya ya.

Data 127 RS di DKI Jakarta pada 09:26 WIB

Setelah itu saya coba scrape untuk data 127 RS di DKI Jakarta. Saya dapatkan informasi sebagai berikut:

Jika kita bandingkan kembali angka merah dengan hijau kita akan dapatkan bahwa kapasitas tempat tidur yang ada hampir penuh.

Sekarang saya akan coba cek, RS mana saja yang masih memiliki tempat tidur kosong di atas 30%.

Semoga summary di atas bisa membantu.


Script Scraper

Rekan-rekan bisa mencoba scrape datanya sendiri dengan R menggunakan script berikut ini:

library(rvest)
library(dplyr)
library(tidyr)

ambil_data = function(url){
  # specific information
  nama = url %>% read_html() %>% html_nodes("span") %>% html_text()
  alamat = url %>% read_html() %>% html_nodes(".fa-hospital-o") %>% html_text()
  jenis_kamar = url %>% read_html() %>% html_nodes("h5:nth-child(1)") %>% html_text()
  n_kamar = url %>% read_html() %>% html_nodes(".mr-2 h1") %>% html_text()
  n_kamar_kosong = url %>% read_html() %>% html_nodes(".pt-1+ .pt-1 h1") %>% html_text()
  
  # make it data frame
  final = 
    data.frame(nama_rs = nama,
               alamat_rs = alamat,
               jenis_kamar,
               n_kamar,
               n_kamar_kosong)
  
  # final result
  return(final)
}

Function di atas membutuhkan input berupa url per RS yang ada di SIRANAP.

Function di atas mungkin tidak terlalu tidy dan efisien karena harus membaca html berulang kali tapi ada dua alasan kenapa saya membuatnya seperti itu:

  1. Web kementrian biasanya tidak memiliki bot.txt sehingga web scrape - friendly. Jadi membaca html berulang kali tidak menjadikan aktivitas kita suspicious.
  2. Sebagai learning curve untuk rekan-rekan yang hendak belajar web scrape dan data carpentry sekaligus.

if you find this article helpful, support this blog by clicking the ads.