Bridging Web Service VClaim 1.1/1.4 dengan visual basic 6
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"
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 |
terima kasih updatenya mas. bermanfaat sekali
ReplyDeletesama2 pak
DeleteMantap senior tq updatan nya
ReplyDeleteSama2 mas, semoga berhasil
DeleteSukses. Tinggal 1.4 nya.
ReplyDeleteTurnuwun ingkang kathah dumateng mas Martin atas kerja kerasnya dan kita bisa dapet manfaatnya dengan cara gratisan ini.
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
DeleteLha dalah keeee ... apa maning kiye? 1.5? 1.kesekian? ato 2.kesekian? Walaaaah jebul kudet tenan aku ik.
DeleteMasih 1. Kesekian pak, tapi digit mburine mbuh nganti piro
DeleteOya 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.
ReplyDeleteTerima kasih reviewnya mas. Ajarin sy konsep design OOP dong, sampai sekarang masih bingung sama konsep OO 🙏🙏🙏
DeleteSakjane OOP itu bukan hal sulit, bahkan kadang kita sendiri secara tidak sengaja melakukan OOP, contohnya project v1.1 sampeyan itu.
DeleteOOP 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
insyaallah nanti saya coba pak, asik nih bisa belajar :)
DeleteTerima kasih mas artikelnya sudah bikin pusing wkwk. Ora mudeeeng. Kabuuur aaaah. Ajarin eike bikin wp self hosted ajaaah :D :D
ReplyDeleteAh. Kamu kan sukanya pakai blogcepot
Deletemas punya referesni katalog vclaim ? saya coba akses referensi vclaim di situs bpjs nggak dapat :D
ReplyDeleteBuka 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
Deletemau tanya kang, kalau error "50000 input string was not in a corretc format" itu gimana ya.??
ReplyDeleteCoba di trace pak, di variable json postnya valuenya apa
DeleteThis comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteyg ini bisa di jalankan https://www.martinsetiawan.com/2018/02/bridging-vclaim-bpjs-simrs-dengan.html
ReplyDeletetapi yg ini https://www.martinsetiawan.com/2018/09/bridging-web-service-vclaim-11-dengan.html gak bisa pak?
errornya apa pak?
Deletetrimakasih pak martin bermanfaat sekali.... ijin download.hehe
ReplyDeletesama2 pak
Deleteterima kasih banyak untuk share sourcecode-nya pak, pak tidakkah ada wacana untuk sharing ketersediaan kamar (aplicare,siranap) juga :) CMIWWWW....
ReplyDeleteAplicare sy caranya sama pak, cuma beda alamat saja. Siranap sudah ada panduan dari kemkes. Tapi untuk siranap yg baru tempat kami belum membuat.
Deleteterima kasih .. tapi saya coba kok ada bug di modul HS256 yah ? kenapa yah ?
ReplyDeleteMungkin 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
Deletesuhu ....
ReplyDeleteSiaap suhu, maaf baru membalas. Persiapan akred wkwkwkw
Deleteselamat siang pak, klo error dengan https gimana solusinya ya?
ReplyDeletepadahal sudah dibuat (WinHttpRequestOption_SslErrorIgnoreFlags) = 13056
tapi tetap muncul error secure connectionnya
Setahu sy masalah koneksi bpjs kemarin karena ssl yg invalid, mungkin bisa kirim screenshot errornya yg lebih detail pak. Insyaallah sy bantu cari solusi
ReplyDeleteSiang kang, mau tanya apakah format tanggal dan time zone di komputer berpengaruh.??
ReplyDeleteSiang kk, timezone pengaruh sekali kk, hasil generate tanggal di bpjs dan tanggal di komputer kita jadi beda
Deleteterima kasih untuk share source code nya
ReplyDeleteada 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
Kayaknya ini terkait sama tsl pak, sy belum nemu solusinya. Soalnya ditempat sy tidak bermasalah
Deletesama nih,
Deleteudah ada solusinya kah ?
Belum nemu masalahnya. Soalnya dikomputerku nggak bermasalah :(
Deletesaya sama ....
Deletekalau di link url ditambahkan :8081, ket errornya jadi : the connection with the server was terminated abnormally
ReplyDeleteKayaknya nggak pakai port itu
DeleteSuhuuuu ga pelit ilmu.. suwun pak martin.. sukses selalu
ReplyDeleteSama2 pak, semoga bermanfaat
Deleteuntuk versi 2.0, apakah sdh ada?? :D
ReplyDeleteadakah versi php dengan FW Slim??
ReplyDeletematur suwun masbro, sebagai penggemar vb6, ini sangat membantu .., oya kalau untuk mendapatkan consId dan secretkey .. Step yang harus ditempuh bagaimana ya, apa yg harus dipersiapkan
ReplyDelete? .. Makasih sebelumnya 🙏