Menggabungkan berkas klaim dengan Visual Basic 6


Salah satu syarat melakukan pengklaiman ke BPJS adalah mengirimkan berkas klaim dalam satu pdf. Berkas klaim berisi SEP, Resume Pasien, Struk Pelayanan, Hasil Penunjang Medis dan sebagainya. Sejatinya file-file tersebut digenerate terpisah, baik melalui sistem ataupun scan manual. Sebenarnya bisa saja kita menggabungkan file pdf tersebut saat melakukan scanning dokumen, tapi bagaimana jika file-file tersebut sudah digenerate/keluar melalui aplikasi SIMRS. Nah, disini aku akan membagikan tips menggabungkan berkas klaim dengan Visual Basic 6.

beberapa langkah yang kita lakukan adalah:

Buat Folder Induk

Membuat folder induk, semua file dimasukkan kedalam satu folder. Misalnya folder by No SEP atau No Pendaftaran. Untuk memudahkan dalam memilih file yang digabung, alangkah baiknya kalau digabung dalam 1 folder. Sehingga user tidak perlu mimilih file-file apa yang digabungkan. Cara ini menyingkat waktu dan memudahkan user, tapi tidak bagi kamu programmernya hahaha. 

Beri No Urut Di Depan Nama File

Berilah no urut didepan nama file sesuai dengan urutan berkas yang dikirim ke BPJS, misalnya

1.SEP.pdf

2.Resume.pdf

3.StrukPelayanan.pdf

4.HasilLaborat.pdf

5.HasilRadiologi.pdf

etc ...

Pemberian nomor ini numerik didepan nama file supaya berkas pdf yang kita gabungkan urutannya bisa sesuai dengan urutan yang dikehendaki BPJS. Lagi-lagi supaya user lebih mudah. Kamu programmer? silahkan berpusing ria.

Install Aplikasi PDFtk Server

Salah satu tool/aplikasi gratis untuk menggabungkan file pdf adalah pdftk. Kebetulan aku diajarin trik ini oleh Mas Think, seorang foxpro expert yang sudah banyak makan asam garam dan pahitnya kehidupan. 
langsung saja download aplikasinya di 

Tentang PDFtk Server

PDFtk Server adalah aplikasi berbasis command line, kalau yang ada GUInya namanya PDFtk. Tapi karena kita mau mengeksekusi penggabungan berkasnya dengan Visual Basic 6, maka kita membutuhkan aplikasi yang berjalan di command prompt.

Sebenarnya fungsi PDFtk Server bukan hanya untuk menggabungkan file pdf. Tapi kita nggak akan bahas semua fiturnya, soalnya yang mau kita manfaatkan cuma menggabungkan file pdfnya saja.

Time to Ngoding

Buat  form dengan tampilan seperti dibawah ini: 

Form ini terdiri dari

Textbox Asal File

Textbox asal file berisi informasi folder yang isinya akan digabungkan. Buatlah sebuah textbox dan beri nama "txtFolderAsal".

Textbox Nama File Output

Textbox nama file output digunakan untuk memberi nama file baru hasil penggabungan file pdf di folder asal berkas. Secara default file ini akan disimpan di dalam foder output. Buat textbox dan beri nama "txtFileOutput".

Tombol Pilih Folder Asal

Tombol ini digunakan untuk memicu membuka folder, buat apa? buat milih folder asal. Buatlah sebuah tombol dan beri nama "cmdPilihFolder".

Tombol Gabungkan File

Tombol ini akan memicu perintah untuk menggabungkan pdf dan menaruh file pdf baru ke folder output. Buat tombol dan beri nama "cmdGabungkanFile".

Kodingnya seperti ini: 
Option Explicit
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const BIF_EDITBOX = &H10
Private Const BIF_NEWDIALOGSTYLE = &H40
Private Const MAX_PATH = 260
Private Declare Function SHBrowseForFolder Lib _
"shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib _
"shell32" (ByVal pidList As Long, ByVal lpBuffer _
As String) As Long
Private Declare Function lstrcat Lib "kernel32" _
Alias "lstrcatA" (ByVal lpString1 As String, ByVal _
lpString2 As String) As Long
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Sub cmdGabungkanFIle_Click()
Shell ("pdftk " & txtFolderAsal.Text & "/*.pdf cat output " & App.Path & "/output/" & txtFileOutput.Text & ".pdf")
Call MsgBox("Tersimpan di " & App.Path & "\output\" & txtFileOutput.Text & ".pdf")
End Sub
Private Sub cmdPilihFolder_Click()
'=============================
Dim lpIDList As Long
Dim sBuffer As String
Dim sTitle As String
Dim tBrowseInfo As BrowseInfo
sTitle = "Find Directory"
With tBrowseInfo
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat(sTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN _
+ BIF_EDITBOX + BIF_NEWDIALOGSTYLE
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
txtFolderAsal.Text = sBuffer
End If
End Sub
Private Sub Form_Load()
txtFileOutput.Text = ""
End Sub


13 comments for "Menggabungkan berkas klaim dengan Visual Basic 6"

  1. I have bookmarked it in my google bookmarks.D.

    ReplyDelete
  2. Your writing style has been amazed me. D.

    ReplyDelete
  3. There are so many choices out there that I'm totally confused .. D.

    ReplyDelete
  4. Great blog here! Also your web site loads up very fast! D.

    ReplyDelete
  5. Thanks for sharing such a wonderful post.

    ReplyDelete
  6. Excellent and nice post. It will beneficial for everyone.

    ReplyDelete
  7. I must thank you for the efforts you’ve put in writing this blog.

    ReplyDelete
  8. I’ll oftimes be once more to learn to read much more, many thanks that information

    ReplyDelete
  9. Now I fianlly found which I actually want.

    ReplyDelete
  10. Thanks for your excellent blog and giving great kind of information.

    ReplyDelete

Post a Comment