Just Another Blogger

Tuesday, August 8, 2017

Mengecek Bridging SEP dengan Advance Rest Client

Ada kalanya proses bridging tidak berjalan mulus, kadang ada masalah yang bukan bagian dari kodingan kita. Contohnya yang pernah aku alami waktu membuat bridging SEP. Error cod bla bla bla, nama poli tidak dikenal. Padahal aku sudah memakai nama poli yang ada di daftar poli BPJS.

Kalau sudah kasusnya seperti ini, satu-satunya hal yang bisa dilakukan yaitu lapor ke teknisi BPJS. Tapi jangan cuma laporan aja, lampirkan juga data pendukungnya. Biasanya IT-BPJS meminta hasil screenshot dari REST Client. Biasanya kalau tanpa hasil response dari Rest client, IT-BPJS kurang percaya, dianggapnya aplikasi kita yang error.

Advance Rest Client

Tool rest client favoritku saat ini cukup memakai ekstensi google chrome "Advance Rest Client". Cara installnya buka aplikasi chrome, kemudian masuk ke "Toko web chrome" alamatnya disini:

 https://chrome.google.com/webstore/category/extensions

Masukkan "Advance Rest Client" di kolom pencariannya. Setelah keluar listnya pilih "Advance Rest Client yang ada di group aplikasi


Setelah di install, Aplikasi Advance Rest Client siap dipakai.

Aplikasi Generate Signature Key

Bahan ke-2 adalah aplikasi untuk menggenerate signature key. Signature key digunakan untuk melakukan request ke web service SEP. Signature key digenerate per request, jadi kalau mau request lagi ke server SEP kamu harus menggenerate lagi signature key.

Aplikasi generate signature keynya aku ambil dari tutorial dari BPJS, kebetulan ada yang versi PHP.

Buat file php, contohnya generate.php
kemudian masukkan kode berikut

<?php 
   $data = "XXXX";
   $secretKey = "XXXXXXXXXX";
         // Computes the timestamp
          date_default_timezone_set('UTC');
          $tStamp = strval(time()-strtotime('1970-01-01 00:00:00'));
           // Computes the signature by hashing the salt with the secret key as the key
   $signature = hash_hmac('sha256', $data."&".$tStamp, $secretKey, true);
   // base64 encode…
   $encodedSignature = base64_encode($signature);
   // urlencode…
   // $encodedSignature = urlencode($encodedSignature);
   echo "X-cons-id: " .$data ." <br>";
   echo "X-timestamp:" .$tStamp ." <br>";
   echo "X-signature: " .$encodedSignature;   
?>            

Note: masukkan cons-id dan secret key dari BPJS di $data (cons-id)  dan $secretKey (secretkey)

Test Insert SEP

Untuk panduan web service SEP silahkan buka katalog web service di 

aku mengambil contoh insert SEP sebagai sample di tutorial ini. 
Kebetulan yang sering bermasalah juga disini, jadi sekalian aja dijadikan sample.

1. Buka aplikasi Advance Rest Client di google chrome. terus terang aku orangnya agak pelupa, biasanya aku cari lewat pencarian google kemudian aku jalankan dari hasil pencariannya google. 


2. Pastikan keluar tampilan seperti itu, kemudian klik "luncurkan". Setelah itu akan keluar jendela aplikasi Advance Rest Client seperti dibawah ini:



3. Masukkan alamat web service lengkap dengan port dan end pointnya di "Request URL". Pilih method "POST"




4. Masukkan Json Request di tab request



5. Jalankan aplikasi generate Signature Key. Tadi kita menyimpan dengan nama generate.php. Jalankan web server, kemudian panggil alamat localhost/generate.php di browser kesayanganmu. Akan muncul seperti ini


6. Masukkan hasilnya ke "Raw header", lalu tambahkan "Content-Type: Application/x-www-form-urlencoded" di bawahnya. 



PPK Rujukan dan PPK Pelayanan bisa diganti pakai PPK RS

7. Kemudian klik "Send". Tunggu sampai dapat response dari server SEP. Kalau berhasil hasilnya kira-kira kayak dibawah ini:



Kalau hasilnya error, ditelusuri dulu errornya apa, kalau error 800 nokartu tidak dikenal atau diagnosa tidak dikenal biasanya karena diagnosanya tidak pas. Pernah juga aku dapat error Nama Poli tidak dikenal, lalu aku kirim komplain ke IT-BPJS, lalu aku kirimkan juga hasil screenshot dari Advance Rest Service. Langsung diperbaiki sama IT-BPJSnya. Screenshot dari Advance Rest Client lebih dipercaya oleh IT-BPJS karena langsung nembak ke server mereka tanpa perantara. Beda cerita kalau yang aku kirim screenshot error code dari Visual Basic 6 :))







2 comments: