Bridging Web Service VClaim 1.1/1.4 dengan visual basic 6

, , 43 comments

BPJS lumayan sering mengupdate sistemnya sesuai dengan alur dan teknologi yang mereka inginkan. Dan kita sebagai pengembang SIMRS faskes harus mampu beradaptasi dengan sistemdikembangkan oleh BPJS. Terhitung sudah 3x ini saya membuat artikel tentang bridging web API BPJS. Kalau teman-teman menemukan error, jangan segan2 menghubungi saya, siapa tahu ada perubahan dari API BPJS.

Sebelumnya saya juga meminta maaf kalau release source code ini agak lama. Terus terang dari pertengahan bulan kemarin agak sibuk dengan kodingan yang lain, sehingga koding bridging ini gak terbengkalai. Padahal kemarin sempat di deadline BPJS tanggal 15 September harus sudah UAT. Untungnya kemarin dapat pemberitahuan dari IT BPJS kalau deadline diundur sampai tanggal 1 Oktober 2018.

Source code bridging ini sudah lumayan lengkap dan lebih lengkap dari source code bridging saya yang lalu. Dan kalau saya sempat akan saya lengkapi lagi sesuai dengan service-service web api BPJS yang sering dipakai atau dibutuhkan. 
Ditur-fitur source code ini masih sebatas pencarian data peserta, referensi dan create SEP. 

Perbedaan VCLAIM 1 dengan VCLAIM 1.1

HTTP to HTTPS

Perbedaan paling besar antara bridging VCLAIM versi 1 dengan versi 1.1 adalah penggunaan https di alamat url. Penggunaan https ini tentunya untuk membuat koneksi yang lebih aman antara RS dengan BPJS. Namun ada masalah tersendiri dengan penerapan https di web service BPJS. modul ssl di alamat dvlp bermasalah, sehingga akan muncul error you not authority saat kita mengaksesnya. Untuk mengatasi masalah ini kita tinggal menambahkan 1 baris perintah saja di koneksi winhttpnya. Perintahnya seperti berikut:

  "Option(WinHttpRequestOption_SslErrorIgnoreFlags) = 13056" 

NB. SSL BPJS sudah tidak error lagi, jadi script diatas tidak usah dipakai

No Rujukan

VCLAIM 1.1 mengharuskan norujukan selalu menyertai pendaftaran pasien rawat jalan. Kalau di vclaim versi 1, no rujukan cukup ditulis waktu pasien datang pertama kali, pada VCLAIM 1.1 no rujukan harus selalu ditulis. Gunanya untuk apa? Hanya Tuhan dan BPJS yang tahu.

No Kontrol

Setiap kedatangan ke-2, 3 dan seterusnya yang masih dalam 1 sesi rawat jalan, selain No Rujukan, faskes 2 juga wajib mengisi nokontrol. Panjang field no kontrol ini sudah ditentukan oleh BPJS yaitu 6 digit, harus angka dan unik (tidak boleh sama) dan direset setelah 1 bulan. Khusus untuk nokontrol rehab medik, no kontrol ini harus sama dalam 1 bulan. Tapi saya sudah konfirmasi dengan tim IT BPJS, karena jujur kalau disuruh membuat seperti itu saya agak kesulitan dan alhamdulilah, kata tim IT BPJS nokontrol rehab medik boleh beda-beda.

Dokumen-dokumen yang harus memiliki no kontrol adalah rujuk balik rumah sakit dan admission note.

No Suplesi

No Suplesi ini saya agak bingung juga menjelaskannya. No Suplesi biasanya digunakan untuk kasus KKL jasa raharja. Platform jaminan Jasa Raharja saat artikel ini dibuat sebesar 20 juta. Kalau penggunaan pasien kurang dari 20 juta. Pasien bisa datang lagi meneruskan perawatan yang kemarin. Untuk perawatan terusan ini, maka faskes 2 harus menyertakan No SEP awal/No SEP Suplesi untuk menandakan bahwa ini adalah perawatan terusan yang kemarin. Untuk mengecek riwayat kemungkinan adanya suplesi, BPJS menyediakan fitur pencarian potensi Suplesi.

Kode Propinsi, Kode Kabupaten, Kode Kecamatan Tempat Kejadian Laka Harus ambil dari Service BPJS

Menurut keterangan dari tim IT BPJS, fitur ini adalah permintaan dari Jasa Raharja, data propinsi, kabupaten dan kecamatan tempat Laka harus sesuai dengan kode wilayah yang dimiliki oleh Jasa Raharja.

Struktur Koding

Sebenarnya saya lagi pengen belajar konsep class/pemrograman berorientasi obyek. Terus terang sampai sudah setua ini saya masih belum mudeng alias belum paham tentang konsep pemrograman berorientasi obyek. Selain class yang dipakai untuk enkripsi dan memparsing json. Saya membuat 3 class untuk keperluan koding bridging ini.

 clssetting 

clssetting adalah class untuk menyimpan konfigurasi bridging BPJS. Sebelum menjalankan source code ini, data-data di class ini harus diisi terlebih dahulu.

    ConsID = "xxxx"
    SecretKey = "xxxxxxxx"
    urlWebService = "https://dvlp.bpjs-kesehatan.go.id/vclaim-rest/"
    NoPPK = "xxxxxx"
    NamaPPK = "RSUD KRMT WONGSONEGORO - KOTA SEMARANG"

SETTING SUDAH DIRUBAH KE DATABASE DI TABEL SETTING

 

CallWS

Terus terang saya ini termasuk programmer pemalas. Seorang pemalas pasti akan mencari cara yang bisa membuat pekerjaannya menjadi lebih simple. Class ini adalah bukti kemalasan saya, hanya karena ingin menyimpelkan pemanggilan yang tadinya tidak sampai 20han baris tapi saya tulis di semua koneksi (sebenarnya nggak ditulis, tapi di copy paste). sekarang saya sendirikan ke class tersendiri. Sebenarnya kalau teman-teman mau class ini bisa digabungkan dengan class vclaim.

vclaim

Class vclaim adalah class yang berisi modul-modul atau service-service web api BPJS. Semua service web api BPJS dikumpulkan disini. 


Daftar Service API VCLAIM BPJS Yang sudah dibuat di Source Code ini:

1. Pencarian Peserta by No Kartu
2. Pencarian Peserta by No NIK
3. Pencarian Peserta by No Rujukan
4. Pencarian Faskes
5. Pencarian Potensi Suplesi
6. Pencarian Diagnosa
7. Pencarian Dokter DPJP
8. Pencarian Wilayah
9. Create SEP
10. Detail SEP
11. Hapus SEP

Sementara baru service itu dulu yang dikover dan inyaAllah sudah cukup untuk membuat UAT dengan BPJS. Untuk service lain insyaAllah saya tambahkan kalau saya sudah lulus UAT :P


Struktur Menu

Referensi
      Cari Peserta
      Cari Faskes
      Cari Potensi Suplesi
      Diagnosa
      Dokter DPJP
      Wilayah
SEP
     Create SEP
     Detail SEP
     


sebagai bukti saya sertakan screenshot nih:


 
Cari Data Peserta






Pembuatan SEP

Detail SEP

DOWNLOAD

Sudah penasaran belum sama source codenya? Source codenya bisa diunduh di sini: 

  Klik disini untuk mendownload Source Code

 

NOTE: Status bridging ditempat saya masih dikembangkan dan belum live, kemungkinan bila sudah live ada perbendaan pada baris kode koneksi

Terima kasih sudah mampir, semoga bermanfaat

 


43 comments:

  1. terima kasih updatenya mas. bermanfaat sekali

    ReplyDelete
  2. Sukses. Tinggal 1.4 nya.
    Turnuwun ingkang kathah dumateng mas Martin atas kerja kerasnya dan kita bisa dapet manfaatnya dengan cara gratisan ini.

    ReplyDelete
    Replies
    1. sebenarnya web apinya bpjs versi berapa sih wkwkwk, soalnya ini ws yg dibahas disini sudah yg terbaru. Denger2 malah udah 1.5 atau 1. Kesekian. Tapi di dvlp tulisannya ws 1.1

      Delete
    2. Lha dalah keeee ... apa maning kiye? 1.5? 1.kesekian? ato 2.kesekian? Walaaaah jebul kudet tenan aku ik.

      Delete
    3. Masih 1. Kesekian pak, tapi digit mburine mbuh nganti piro

      Delete
  3. Oya mas, sebenarnya beberapa bagian project sampeyan itu ada yg OOP, tapi masih ada juga yang prosedural. Dengan OOP sampeyan bisa bikin objek dasar yang bisa digunakan untuk objek lain, jadinya nggak akan banyak bikin pengulangan prosedur.

    ReplyDelete
    Replies
    1. Terima kasih reviewnya mas. Ajarin sy konsep design OOP dong, sampai sekarang masih bingung sama konsep OO 🙏🙏🙏

      Delete
    2. Sakjane OOP itu bukan hal sulit, bahkan kadang kita sendiri secara tidak sengaja melakukan OOP, contohnya project v1.1 sampeyan itu.
      OOP bukanlah momok ( yang kalo gak bisa maka dianggep gak hebat ) tapi cenderung merupakan kebutuhan wajib programer biar paradigma mendesainnya efektif, efisien, terstruktur, dan aman.

      Lebih enaknya to mas, bikin artikel baru khusus bahas OOP dengan VB6, yang nanti bisa saling komen, dan komen2 itu bisa jadi referensi terbuka bagi yang mampir, jadinya bisa bermanfaat pada lebih banyak orang. dan so pasti akan bertambah yg mampir ke warung sampeyan ini

      Delete
    3. insyaallah nanti saya coba pak, asik nih bisa belajar :)

      Delete
  4. Terima kasih mas artikelnya sudah bikin pusing wkwk. Ora mudeeeng. Kabuuur aaaah. Ajarin eike bikin wp self hosted ajaaah :D :D

    ReplyDelete
  5. mas punya referesni katalog vclaim ? saya coba akses referensi vclaim di situs bpjs nggak dapat :D

    ReplyDelete
    Replies
    1. Buka link downloadny sj pak, nanti akan terbuka laman github, trus di list source codenya pilih csetting.cls, ntar disitu ada alamat dvlp web api vclaim. Buka aja linknya, nanti ada link ke katalog. Haduh maaf ribet banget ya, wkwkwkw. sy nggak hapal alamatnya

      Delete
  6. mau tanya kang, kalau error "50000 input string was not in a corretc format" itu gimana ya.??

    ReplyDelete
    Replies
    1. Coba di trace pak, di variable json postnya valuenya apa

      Delete
  7. This comment has been removed by a blog administrator.

    ReplyDelete
  8. This comment has been removed by a blog administrator.

    ReplyDelete
  9. yg ini bisa di jalankan https://www.martinsetiawan.com/2018/02/bridging-vclaim-bpjs-simrs-dengan.html

    tapi yg ini https://www.martinsetiawan.com/2018/09/bridging-web-service-vclaim-11-dengan.html gak bisa pak?

    ReplyDelete
  10. trimakasih pak martin bermanfaat sekali.... ijin download.hehe

    ReplyDelete
  11. terima kasih banyak untuk share sourcecode-nya pak, pak tidakkah ada wacana untuk sharing ketersediaan kamar (aplicare,siranap) juga :) CMIWWWW....

    ReplyDelete
    Replies
    1. Aplicare sy caranya sama pak, cuma beda alamat saja. Siranap sudah ada panduan dari kemkes. Tapi untuk siranap yg baru tempat kami belum membuat.

      Delete
  12. terima kasih .. tapi saya coba kok ada bug di modul HS256 yah ? kenapa yah ?

    ReplyDelete
    Replies
    1. Mungkin bapak pakai compability mode win xp, coba comlability mode di offkan dulu. Sebenarnya kalau sudah jadi exe, dia bisa jalan diwindows apa saja. Tapi kalau develop nggak bisa pakai compability mode

      Delete
  13. Replies
    1. Siaap suhu, maaf baru membalas. Persiapan akred wkwkwkw

      Delete
  14. selamat siang pak, klo error dengan https gimana solusinya ya?
    padahal sudah dibuat (WinHttpRequestOption_SslErrorIgnoreFlags) = 13056
    tapi tetap muncul error secure connectionnya

    ReplyDelete
  15. Setahu sy masalah koneksi bpjs kemarin karena ssl yg invalid, mungkin bisa kirim screenshot errornya yg lebih detail pak. Insyaallah sy bantu cari solusi

    ReplyDelete
  16. Siang kang, mau tanya apakah format tanggal dan time zone di komputer berpengaruh.??

    ReplyDelete
    Replies
    1. Siang kk, timezone pengaruh sekali kk, hasil generate tanggal di bpjs dan tanggal di komputer kita jadi beda

      Delete
  17. terima kasih untuk share source code nya
    ada masalah saat sy tes menemukan error sbb :
    an error occurred in the secure channel support
    pada baris .send
    kira2 masalahnya dimana ya? karna saya hanya edit consid, secretkey, url aja
    mohon pencerahannya, terima kasih

    ReplyDelete
    Replies
    1. Kayaknya ini terkait sama tsl pak, sy belum nemu solusinya. Soalnya ditempat sy tidak bermasalah

      Delete
    2. Belum nemu masalahnya. Soalnya dikomputerku nggak bermasalah :(

      Delete
  18. kalau di link url ditambahkan :8081, ket errornya jadi : the connection with the server was terminated abnormally

    ReplyDelete
  19. Suhuuuu ga pelit ilmu.. suwun pak martin.. sukses selalu

    ReplyDelete