Bridging VCLAIM BPJS - SIMRS dengan Visual Basic 6 (Native version)

, , 52 comments
Hi Sobat seprofesi,

Apa kabar, udah berhasil briding vclaim belum?  jujur aku belum berhasil mengintegrasikan SIMRS ditempatku dengan VCLAIM. Sebenarnya susahnya bridging bukan cuma di cara akses saja, tapi juga proses integrasinya. Teman2 pasti tahu kalau design SIMRS itu nggak ada yang paten harus begini atau begono, terserah pengembangnya mau dibikin kayak apa, betul nggak?

So .. soto babatnya udah abis, sekarang sesuai janjiku minggu yang lalu (kalau tidak salah), akhirnya aku  rilis source code awal bridging VCLAIM - SIMRS dengan visual basic 6 versi native. 

BTW, source code ini saya persembahkan untuk untuk teman2 sesama programmer SIMRS Rumah Sakit yang masih memakai visual basic 6, semoga tidak ada vendor diantara kita.
Jiaah memangnya kenapa dengan vendor? Nggak kenapa-kenapa sih, toh saya juga tidak bisa melarang teman-teman vendor membaca dan mendownload source code ini. Tapi saya yakin teman-teman vendor punya kemampuan lebih dibanding saya. Jadi kalau cuma bikin bridging vclaim, harusnya bisa dong.
Untuk menambahkan fasilitas bridging vclaim di SIMRS buatan teman2 vendor, kalian pasti menarik biaya (yang aku yakin nggak sedikit pula) kepada rumah sakit.
Padahal teman-teman mendapatkan trik ini dengan gratis. Tapi kalau fasilitas bridging vclaim ini dibuatkan dengan gratis atau teman-teman mencass secukupnya nggak apa2 kok.

eh secukupnya itu berapa ya wkwkw, kata "secukupnya" itu susah didefinisikan. Ya udah deh silahkan aja dipakai, semoga bermanfaat. Terima kasih sudah mampir, kalau bisa jangan langsung donwload, mampir dulu lah, baca2 biar aku nggak kena bounce rate, sukur-sukur mau klik iklan, tapi jangan di bom klik ya, please... ini aja udah 1 tahunan masih dapat puluhan ribu perak, kasihan donk kalau di bom klik.
hadeh malah curhat. Aku bikin blog ini bukan buat cari uang, dulu dapat addsense juga nggak sengaja.

Yang paling penting blog ini masih ada yang mau datang aja aku udah seneng, apalagi kalau blog ini bisa ngasih manfaat ke teman-teman pembaca yang budiman.

Harapannya dengan adanya source code ini, teman-teman bisa lebih mudah mengembangkan bridging VCLAIM-SIMRS. Semoga artikel ini juga nggak kadaluarsa ya, mengingat bulan depan sudah pada harus pakai VCLAIM.

BTW, source code ini bukan bridging lengkap ya, aku cuma bikin beberapa service, nanti bisa diterusin sama kalian. Soalnya ternyata bosku pengennya pakai jembatan web service, ngirit bandwith kayanya. Soalnya user kalau dikasih internet ntar diselewengkan. buat mbuka youtube dll.
Meski tidak lengkap. paling nggak di source ini sudah ada sample method, misal method "GET" gimana, "POST" kayak apa, "PUT" Kepriben, "DELETE" koyo ngopo. 

NEXT

Kalau artikel-artikel bridging yang lama teman-teman saya ajak mempelajari tehnik bridgingnya, sekarang kita langsung aja ya, soalnya yang dibikin agak banyak. 

Service-service yang ada disini antara lain:
  1. Cari Peserta By NoKartu
  2. Cari Peserta By NIK
  3. Referensi Poliklinik
  4. Referensi Faskes
  5. Referensi Diagnosa
  6. Create SEP
  7. Rubah SEP
  8. Delete SEP
Lah kok cuma dikit yang dibikin, soalnya Maret udah mepet, kalau ngembangin semua bakalan nggak sampai, yg ini aja belum berhasil diimplementasikan, kalau kamu sempat bantuin donk hehe, ngarep .com.

Untuk detail source codenya silahkan baca sendiri di kodingan ya. aku cuma melampirkan sedikit tentang pemrogramannya dan cara pakainya saja.

Sebenarnya aku nggak paham OOP itu kayak apa, kebiasaan bikin aplikasi pakai prosedural. Kalau disini aku pakai class, itu buat kamuflase, biar kekiniian. Katanya sih kalau pakai OOP bisa lebih memudahkan distribusi souce code.
Semoga aja ada mastah yang berkenan mengajariku tentang pemrograman OOP.
semua logika koneksi bridging aku kumpulin di class vclaim.


Classnya ada di gambar diatas.
Jangan lupa module Json, class cJsonScript, cStringBuilder, HS256 dimasukkan ke source code kamu, soalnya modul dan class-class itu yang bikin kita bisa konek sama vclaim.

Setting Parameter

Isi setting BPJS di class csetting.cls
file csetting.cls ada di folder class module ->csetting


Ntar isinya kayak gini:


cons-id sama secret keynya diisi pakai cons-id kamu ya.

CARI DATA PESERTA

Untuk mencari data peserta, klik menu -> Berkas -> Cari Peserta
untuk mencari berdasarkan No NIK, masukkan NIK di textbox sebelah tombol Ambil Data Peserta By NIK, jangan sampai kebalik ya.
Untuk mencari berdasarkan No Kartu, isi disebelah tombol no kartu, Hasilnya akan muncul di kotak bawahnya.

CARI KLINIK

Untuk mencari klinik versi BPJS, klik Berkas->Cari Poli, Isilah pencarian poli seperti step dibawah ini:


CARI FASKES

Cara mencari faskes sedikit berbeda dengan pencarian Poli, sebelum menulis nama faskes, klik dulu jenis faskes. PIlih apakah faskes 1 atau faskes 2. Faskes 1 berarti Klinik, dan Faskes 2 adalah Rumah Sakit.




Setelah itu masukkan nama faskes ke text bok Nama Faskes, sebagai contoh aku mencari faskes 2 (RS) dengan nama Wongsonegoro. Pencarian yang berhasil seperti dibawah ini 

CARI DIAGNOSA
Penjaminan BPJS berdasarkan dari diagnosa dan prosedur (ICD 10 dan ICD 9). untuk itu Diagnosa antara SIMRS dan BPJS harus sama atau miniimal pakai diagnosa punya BPJS. Untuk mencari diagnosa di database BPJS, klik Berkas->Cari Diagnosa
Kamu bisa mencari berdasarkan kode diagnosa atau berdasarkan nama diagnosa



Kalau sudah hapal kodenya bisa langsung ketik kode diagnosa di kolom pencarian.


BUAT SEP
untuk membuat SEP, klik menu SEP->Create SEP
beberapa tombol penting yang ada di aplikasi pembuatan SEP sudah saya beri tanda garis panah, lihat gambar dibawah ini:

Setelah Selesai diisi, Klik Buat SEP.

RUBAH SEP

Rubah SEP adalah fitur untuk merubah data SEP. Tidak semua data bisa dirubah, hanya beberapa, misalnya kelas rawat. Penampakan formnya seperti berikut:


Untuk merubah SEP:
1. Masukkan No SEP
2. Karena aku nggak membuat query detail SEP, jadi datanya diisi manual ya.
3. Klik Rubah SEP untuk menyimpan data.

HAPUS SEP

Hapus SEP digunakan untuk menghapus SEP yang sudah terlanjur dibuat, Untuk menghapus SEP,

1. Masukkan noSEP di textbok.
2. Untuk memastikan data, klik Cari SEP.
3. Klik Hapus SEP untuk menghapus SEP


Maaf baru service-service ini yang bisa diakomodir oleh class buatan saya, semoga class ini bisa membantu teman-teman dalam mengembangkan bridging Vclaim - SIMRS.

Sebenarnya aku masih belajar alias masih cupu. Masih jauh dari kata "menguasai pemrograman", pinter apalagi cerdas. Tapi kalau ganteng memang udah dari sononya, tanya aja sama istriku hehe.
Sebelumnya aku minta maaf kalau kodingnya acak-acakan dan masih ada (banyak) bug-nya. soalnya belum sempat tester juga. Alias yang penting bikin dulu. Insyaallah kita belajar bersama ya.
Kalau teman-teman ada masukan atau perbaikan class ini dan rela untuk dibagi ke teman-teman yang lain, bisa dikirimkan ke saya, nanti akan saya distribusikan ulang.

eh lupa untuk source codenya klik disini:
Google Drive

By The Way, aku bikin aplikasi ini nggak sendiri lho, banyak teman-teman yang membantu
1. terima kasih untuk mas Nurdin Mustofa atas artikel mengakses rest service dengan vb6-nya
http://www.kodiing.com/2015/01/cara-mengakses-rest-web-service-vb6.html
2. VBJson buatan kang Michael Glaser


52 comments:

  1. Artikel tutorial aja tetep nggambus ya yank?

    ������

    ReplyDelete
  2. mantap artikelnya sayang bahasa kita beda...kalo pake slim bisa mas?

    ReplyDelete
    Replies
    1. bisa mas, saya masih tetep pakai slim kok, dulu banyak yg nanya pakai native, jadi sy coba bikin native

      Delete
  3. Terimakasih Pak Sangat Membantu, Sukses Terus Pak.

    ReplyDelete
  4. Kok yang rawat jalan belum bisa ya pak??

    ReplyDelete
    Replies
    1. Errornya apa pak? Pasien RJ bisa lewat pasien kontrol atau rujukam faskes, cara entry di vclaimnya berbeda, coba errornya dikirim ke saya

      Delete
  5. Assalamualikum warahmatullah wabarakatuh

    Saya sudah mendownload dan mencoba source codenya dan mengetes dipengecekan data peserta muncul peringatan
    unauthorized. you are not registered for this service

    ReplyDelete
  6. Assalamualaikum pak, mohon bantuannya kenapa ya ketika saya mencari nomor rujukan dengan nomor rujukan pasien yang valid response nya malah Nomor rujukan tidak ditemukan ya pak? apakah disisi bpjs yang salah? saya buat bridging nya dengan Lumen Microframework.

    ReplyDelete
    Replies
    1. bridgingnya masih pakai consid develop atau sudah live pak, kalau masih consid develop databasenya beda dengan database live pak. saya pakai rujukan tahun 2016 bisa pak, informasi dari teman, dia pakai 2017 akhir masih bisa

      Delete
  7. Salam Hormat mas...
    Mohon bantuannya utk bridgingkan vclaim kami.
    Consumer ID dan COllsumer Secret
    Bridging E-Klaim dengan Velaim utk RS kami sudah diberikan. tapi blm bisa kami bridging.
    Mohon sekali bantuannya mas. bisa mas kasih emailnya dan saya akan kirim Consumer ID dan COllsumer Secret.
    Pls...

    saya sudah download dan test dgn project-nya mas. error yg muncul:
    "Unauthorized! You are not registered for this service"

    ReplyDelete
    Replies
    1. coba hubungi IT BPJS mas, cons id dan secretkey dev saya sudah expired, kami sudah jalan pakai consid live

      Delete
    2. "Unauthorized! You are not registered for this service" <-- berarti consid nya belum aktif

      Delete
  8. Pak martin,ada yg versi vb.net gak bridging vclaim bpjsnya? Soalnya udah di convert tp kurang faham pas penyesuaian coding nya he..mksih ilmunya sangat bermanfaat pak

    ReplyDelete
  9. Pak martin,ada yg versi vb.net gak bridging vclaim bpjsnya? Soalnya udah di convert tp kurang faham pas penyesuaian coding nya he..mksih ilmunya sangat bermanfaat pak

    ReplyDelete
    Replies
    1. coba browse artikel lama sy pak, ada bridging sep 2.0 dengan vb.net. bedanya dengan vclaim ada di format requestnya, sep 2.0 requestnya masih pakai xml

      Delete
    2. pak Martin, bridging vclaim yang versi vb.net bisa ditunjukkan bagaimana format requestnya? matur nuwun

      Delete
    3. Kalau format request sama pak, cuma beda kompomen, kalau .net pakai webclient. Tapi maaf sy nggak punya sourcenya

      Delete
  10. Pak Matin, saya abis nyoba masukin no peserta klik AMBIL DATA BY NOKARTU, menggunakan vb6 native. tapi gagal dengan keterangan error :
    Failed to obtain CryptoAPI RSA AES context, system error -21446893799. kira2 kesalahannya dimana ya? Terima kasih banyak

    ReplyDelete
    Replies
    1. Maaf baru balas. Bapak pakai windows apa? Minimal di windows 7 pak, dan vbnya jangan dijalankan di compability mode. Karena untuk enkripsi sepertinya menggunakan api dari windows 7 keatas

      Delete
  11. Pak Download sourcenya ada dimana?

    ReplyDelete
    Replies
    1. Maaf baru balas, link source code ada ditulisan google drive dibawah tulisan ini "eh lupa untuk source codenya klik disini:"

      Delete
  12. Mas, saya sudah download berkali-kali dari link google drivenya tp filenya selalu corrupt, itu kenapa ya mas?

    ReplyDelete
    Replies
    1. Maaf baru balas, maafkan sy atas ketidaknyamanannya. beberapa kawan ada yg mengeluh file downloadnya korup. Tapi ada jg yg bisa mendownlod dengan baik. Kalau sudah mendownload berkali2 masih korup. Silahkan kontak sy lewat telegram atau whatsapp, nanti sy kirim file source codenya. Kontak hape sy ada dilaman tentang saya

      Delete
  13. mas saya mau nanya nih, cons id nya itu sama apa enggak dengan cons id untuk bridging dengan e-klaim, krna saya hanya memiliki cons id utk bridging dengan eklaim saja mas

    ReplyDelete
  14. Halo mas terima kasih banyak artikelnya sangat membantu sekali, saya mau tanya, kalo url web service antara yang testing dan production itu sama atau beda ya? Tks..

    ReplyDelete
    Replies
    1. siap tks mas, yg production itu pake yang ini ya? http://api.bpjs-kesehatan.go.id:8080/vclaim-rest/

      Delete
    2. Itu web service production, web service dev yg baru alamatnya ini https://dvlp.bpjs-kesehatan.go.id/vclaim-katalog

      Delete
  15. mas Martin sy sedang coba test Bridging bpjs
    saat saya masukan No Kartu lalu Klik "AMBIL DATA BY NOKARTU" muncul error Run-time error '424' Object required
    lalu saya klik Debug dan coding berhenti di ".Add "COBAsuransi", p.Item("response").Item("peserta").Item("cob").Item("nmAsuransi")"

    Mohon bantuan nya atas error di atas, terima kasih sebelumnya

    ReplyDelete
    Replies
    1. Sistem operasi minimal windows 7 dan Vb6 jangan dijalankan di compability mode

      Delete
  16. Replies
    1. Coba di debug di req.status, hasilnya apa?

      Delete
    2. ini mas,
      req.Status isinya 403
      403 - Forbidden: Access is denied.

      Delete
  17. Kulonuwun, ma kasih banyak sebelumnya atas project njenengan.
    Ada error yang mau saya tanyaken mas.

    Kalo port urlWebService (di class csetting) nya saya hapus maka kluwer2 aja dan rto, tapi kalo pakai port pesen errornya 'Error Ndaaa' (kayak saya aja kalo bikin pesen error , wkwkwkwk).

    Mohon pencerahan, trims

    ReplyDelete
    Replies
    1. Kalau dihapus jelas kluwer-kluwer mas, lha web servicenya mau nyambung kemana? Btw, ini mau bikin bridging vclaim 1.1 apa 1.4. Soalnya alamat & koneksinya sdh beda, bridging web service vclaim 1.4 belum selesai di build

      Delete
  18. Hehe... Soalnya dapet bisikan ghaib untuk menghapus portnya. Pake v1.1 mas. Jane baru dpnlot kemarin, jadinya belum banyak mempelajari lebih jauh.
    Mungkin besok baru mau meneliti 'error ndaaa'nya, tapi kalo mas martin bisa terangin segera ya sangat membantu sekali.

    ReplyDelete
    Replies
    1. web service vclaim 1.4, source bridgingku ada yg dirubah dikit, koneksinya diganti pakai xmlhttp, lalu ada option buat membypass ssl, kodenya seperti dibawah ini:


      Dim req As MSXML2.ServerXMLHTTP60
      Set req = CreateObject("MSXML2.ServerXMLHTTP.6.0")

      Call req.setOption(2, 13056)
      Call req.Open("GET", Url, False)
      Call req.SetRequestHeader("X-Cons-ID", Me.COnsID)
      Call req.SetRequestHeader("X-Timestamp", TglSekarang)
      Call req.SetRequestHeader("X-Signature", Me.HasilKey)

      req.Send

      Delete
    2. Pas hari kerja saja mas, via whatsapp, insyaallah aku bantu

      Delete
    3. Mas, jane antara v1.1 sama v1.4 itu bedanya banyak gak to? Apa cuman ganti koneksinya tok?
      Soale udah tak buat seperti sampeyan tetep aja 'error ndaaa'. Ato sampeyan ada link v1.4 nya, tak srupute.

      Maap mas, aku tetep via site ini wae, ben nambah rame warung sampeyan ini. Ben aroma VB6 juga ngeksis terus. tur yo aku males WA nan. Sorry yo mas

      Delete
    4. Ya mas, sepakat. Sebenarnya bedanya cuma di ssl thok, yg lama pakai http, yg baru https. Beda dikit tapi ngeselin 😅😅😅. Bridging 1.4 belum selesai dev mas, kurang create sep, semoga sj diberi kelancaran buat developnya

      Delete
  19. mas saat di debug req.Send langsung kebawah msgbox kenapa ya
    The certificate authority is invalid or incorrect
    -2147012851

    ReplyDelete
    Replies
    1. Maaf mas artikel ini untuk bridging sep 1.1, saat ini bpjs sdh mendevelop versi 1.4, ada peebedaan koneksi, soalnya bpjs sekarang lg nyoba pakai ssl. mas bisa baca jawaban komen sy di atas komen mas fauzi, atau buka artikel terbaru sy tentang bypass ssl, atau sabar menunggu sy selesai develop bridging 1.4

      Delete
  20. Mau nanya, SC utk yg vb.net ada Mas Martin, Makasih

    ReplyDelete
  21. mohon bantuanny pak martin, kalau untuk melihat kode Hfis stiap dakter terdapat dimana ya pak ?

    ReplyDelete
    Replies
    1. bisa lewat service ref dokter. Pelayanan pilih yg rawat inap. nanti dokternya keluar semua pak

      Delete
  22. siang pak martin, mau tanya klo muncul error object variable or with block variable not set. di baris coding
    Me.ServerMessage = IIf(IsNull(p.Item("metaData").Item("message")) = True, "", p.Item("metaData").Item("message"))
    Masalahnya di mana ya? mohon bantuannya pak.. Terima kasih sebelumnya

    ReplyDelete