Bridging INA-CBG5 SIMRS dengan visual basic 6 dan PHP (PART 3) Mengakses Web Service Rest Dari Visual Basic 6

LAMAN TERKAIT

  1. Membuat Web Service PHP untuk jembatan ke Web Api INACBG
  2. Mengakses Web Service Jembatan
  3. Mengakses Web Service Jembatan dari Visual Basic 6


Pada Posting ini aku memberi satu contoh memanggil service dari Web service penghubung yang sudah kita buat. Maaf kalau cuma memberi satu contoh kasus soalnya susah mmotong kode yang terlanjur ada di production. Jadi aku kasih contoh yang paling mudah dipanggil.
Untuk Service yang lainnya cara memanggilnya sama saja

1. Dowload VBJSON di http://www.ediy.co.nz/vbjson-json-parser-library-in-vb6-xidc55680.html
2. Ekstrak VBJSON
3. Kopi file cStringBuilder.cls, cJSONScript.cls, JSON.bas ke folder project Bridging INACBG Visual Basic 6
4. Buka Visual Basic 6
5. Masukkan Class module cStringBuilder.cls dan cJSONScrip.cls ke project.


  • Klik kanan di project, pilih add -> Class Module



  • Klik Existing


  •  Pilih Class modul cJSONScripts



  • Lakukan Cara yang sama untuk CStringBuilder.cls


6. Masukkan Modul JSON.bas

  • Klik kanan di Project Explorer, Pilih Module



  • Pilih Exiting -> JSON.bas



7 Tambahkan reference "Microsoft Winhttp service"

  • Klik Menu Project -> Reference, Beri Checklist pada Microsoft Winhttp Service, Version 5.1. Klik OK


8. Buat Class Module BuatKlaimINACBG

  • Klik Kanan di Project Explorer, Pilih Add->Class Modules, Klik Class Modules, Klik Open

 
 

  • Beri nama "BuatKlaimPasienINACBG"




8.  Masukkan kode dibawah ini di class BuatKalimPasienINACBG

Private mNomorKartu As String
Private mNomorSEP As String
Private mNoRM As String
Private mNamaPasien As String
Private mTgl_Lahir As String
Private mGender As String
Private mServer As String



Public mPatien_Id As String
Public mAdmission_Id As String
Public mHospital_admission_Id As String
Public ServerCode As String
Public ServerMessage As String
Public PesanDuplikat As String
Property Get NomorKartu() As String
    NomorKartu = mNomorKartu
End Property
Property Let NomorKartu(Value As String)
    mNomorKartu = Value
End Property
Property Get NomorSEP() As String
    NomorSEP = mNomorSEP
End Property
Property Let NomorSEP(Value As String)
    mNomorSEP = Value
End Property
Property Get NoRM() As String
    NoRM = mNoRM
End Property
Property Let NoRM(Value As String)
    mNoRM = Value
End Property
Property Get NamaPasien() As String
    NamaPasien = mNamaPasien
End Property
Property Let NamaPasien(Value As String)
    mNamaPasien = Value
End Property
Property Get Tgl_Lahir() As String
    Tgl_Lahir = mTgl_Lahir
End Property
Property Let Tgl_Lahir(Value As String)
    mTgl_Lahir = Value
End Property
Property Get Gender() As String
    Gender = mGender
End Property
Property Let Gender(Value As String)
    mGender = Value
End Property
Property Get Server() As String
    Server = mServer
End Property
Property Let Server(Value As String)
    mServer = Value
End Property
Public Function getData()
    Dim Result As String
    Dim tPost As String
    Dim p As Object
 

 
    tPost = "nokartu=" & Me.NomorKartu & "&nosep=" & Me.NomorSEP & "&norm=" & Me.NoRM & "&namapasien=" & Me.NamaPasien & "&tgllahir=" & Format(Me.Tgl_Lahir, "yyyy-MM-dd 00:00:00") & "&jeniskelamin=" & Me.Gender


    Dim sUrl As String
    Dim response As String
    Dim xmlhttp As WinHttp.WinHttpRequest
    sUrl = "http://" & Me.Server & "/BuatKlaimBaru"

    Set xmlhttp = New WinHttp.WinHttpRequest
    xmlhttp.Open "POST", sUrl, False
    xmlhttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    xmlhttp.Send tPost

    If xmlhttp.Status = "200" Then
    response = xmlhttp.ResponseText

    Set xmlhttp = Nothing
        Result = response
        Set p = JSON.parse(Result)
        ServerMessage = p.Item("metadata").Item("message")
        ServerCode = p.Item("metadata").Item("code")
        If ServerCode = "200" Then
            mPatien_Id = p.Item("response").Item("patient_id")
            mAdmission_Id = p.Item("response").Item("admission_id")
            mHospital_admission_Id = p.Item("response").Item("hospital_admission_id")
            Call MsgBox("Pembuatan Klaim Baru Berhasil")
            frmDetailPasienInaCBG.cmdIsiDataKlaim.SetFocus
        Else
            If ServerCode = "400" Then
                PesanDuplikat = "Nama Pasien " & p("duplicate")(1).Item("nama_pasien") & vbNewLine & "NoRM = " & p("duplicate")(1).Item("nomor_rm") & " Tanggal = " & p("duplicate")(1).Item("tgl_masuk")
                Call MsgBox("Duplikasi Pasien " & vbNewLine & "Nama Pasien " & p("duplicate")(1).Item("nama_pasien") & vbNewLine & "NoRM = " & p("duplicate")(1).Item("nomor_rm") & " Tanggal = " & p("duplicate")(1).Item("tgl_masuk"))
                Exit Function
            End If
        End If
    Else
        Call MsgBox("SERVER ERROR", vbOKOnly)
        Exit Function
    End If
End Function




9. Buat Form Baru

Buat Form dengan isi
Label 6 buah
text box 1 line 6 buah
text box multi line 1 buat (untuk menampilkan response)
commandbox

Tata form supaya terlihat seperti dibawah ini:



Beri Caption dan nama textbox sesuai dengan labelnya, Untuk Lebih jelasnya lihat gambar diatas
lalu masukkan kode berikut di command Button

 Dim tt As BuatKlaimPasienINACBG
    Set tt = New BuatKlaimPasienINACBG
    tt.NomorKartu = txtNoKartu.Text
    tt.NomorSEP = txtNoSEP.Text
    tt.NoRM = txtNoRM.Text
    tt.Tgl_Lahir = txtTglLahir.Text
    tt.Gender = txtJK.Text
    tt.Server = "192.168.7.201/BridgingInaCBG"
    tt.getData

10. Test Program
Jalankan program
Coba masukkan data seperti dibawah ini

  • Klik Buat Klaim Pasien INACBG


Pada bahasan sebelumnya sudah saya tulis kalau key dari Bridging INACBG ini adalah nosep. Bila Bridging INACBG mendeteksi adanya double SEP maka akan keluar Pesan seperti ini:


Kalau berhasil pesannya seperti ini:



Demikianlah contoh mengakses web service dan JSON di Visual basic 6. Contoh source ini bisa di download di

https://drive.google.com/file/d/0B1NbkNRwjYEyVFNmWFdJWUZ5OG8/view?usp=sharing



22 comments for "Bridging INA-CBG5 SIMRS dengan visual basic 6 dan PHP (PART 3) Mengakses Web Service Rest Dari Visual Basic 6"

  1. kalau untuk menampilkan data bukan duplikasi bagaimana ya ya

    menggunakan model yang -> p("duplicate")(1).Item("nama_pasien") tidak bisa, krn ini format untuk data yg ada duplikasi

    saya gunakan untuk fungsi get_claim_data

    ReplyDelete
  2. untuk ambil data get_data_claim
    tariftotal = p.Item("response").Item("data").Item("grouper").Item("response").Item("cbg").Item("tariff")

    dengan perintah diatas bisa didapatkan tarif klaim

    tarifadd = p.Item("response").Item("data").Item("grouper").Item("response").Item("cbg").Item("add_payment_amt")

    tapi dengan perintah diatas kok tidak muncul hasil padahal kolom add_payment_amt ini berisi data, apakah ada pengaturan setting function yang membatasi panjang perintah???

    ReplyDelete
    Replies
    1. Sy cek dulu mas, waktu web service ini dibuat, kayaknya belum ada parameter add_payment_amt. Insyaallah akan sy buat artikel lain yg lebih lengkap. Terima kasih sudah mampir.

      Delete
    2. Sudah saya bantu trace pak. hasilnya sudah saya kirim lewat WA. Terima kasih sudah mampir. Semoga sukses bridgingnya

      Delete
  3. terima kasih pak martin, semoga selalu diberikan kesehatan, panjang umur, berkah rejeki, keselamatan dan kebahagiaan,
    atas berbagi ilmunya, dan saya ingin belajar ya pak

    ReplyDelete
  4. PAK MARTIN, saya download lalu saya coba running tp error, muncul pesan "a connection with the server could not be established", sperti salah nama servernya

    ReplyDelete
  5. Terima kasih mas...
    terus teranga sampean iki programmer yang sangat baik hati.. Cara dan codingnya disharing semua.
    Ijin baca dan download...
    Semoga sukses selalu mas..

    ReplyDelete
    Replies
    1. Sama2 pak, tujuannya memang untuk membantu teman2 yg lain, kalau ada masalah di bridging bs langsung kontak sy

      Delete
  6. assalamualaikum..

    mas, mau nanya, untuk Request Cetak Klaim decode di v6 nya bagaimana??

    suwun..

    ReplyDelete
    Replies
    1. Ada di artikel lain, cari artikelnya lewat menu sitemap

      Delete
  7. Ada di postingan sy yg lain pak, lebih baru dari postingan ini. Intinya sih json dari ws didecode base64 coba di cari di web ini

    ReplyDelete
  8. oia mas.. barangkali tahu, untuk request informasi special cmg (code, description, type & tariff) seperti apa requestnya..

    ReplyDelete
  9. kok link nya rusak gan itu,
    We're sorry. You can't access this item because it is in violation of our Terms of Service.
    terimakasih

    ReplyDelete
    Replies
    1. Disapu sama google gan. Googlenya galak. Tinggalin email saja, nanti tak kirim

      Delete
  10. terimakasih pak, artikel ini sangat membantu..
    izin ngulik skrip API nya

    ReplyDelete
  11. mohon maaf pak bisa kirim email apa tidak yaa
    ke dianrh77@gmail.com
    terimakasih sebelumnya

    ReplyDelete
  12. Mohon maaf pak, gak bisa di download lagi aplikasinya

    ReplyDelete

Post a Comment