Bridging Ketersediaan Kamar SIRS Online Dengan VB6

banner bridging ketersediaan kamar

 

Beberapa waktu lalu aku dikabari kepala instalasiku, sebut saja bosque biar kelihatan akrab gitu. "Ketersediaan kamar Siranap wes gak update otomatis, sek tak cek". Padahal kami sudah membuat web service untuk bridging Siranap. Setelah diusut ternyata entrian di Siranap sama dengan entrian di SIRS Online.

Aku langsung konfirm ke mas Dody Naftali. Di group telegram IT Jateng dan DIY++. Selain sebagai tetua, mas Dody adalah rujukan kami buat bertanya tentang segala bernama bridging simrs ke aplikasi kemkes. 

Ternyata sejak september 2020 aplikasi Siranap menggunakan entrian dari SIRS Online. Pantesan daftar ketersediaan bed di siranap kok nggak update perwaktu. Pantesan kemarin anak rekam medis nanyain bridging RS online, ternyata mereka disuruh update bed tiap hari wkwkwk.

Okey lets code 

Kalau kalian pernah membuat bridging Eklaim dan Vclaim, percayalah bridging ketersediaan bed SIMRS ke RS Online lebih mudah asal datanya sudah benar. 

Nah kan, yang sulit itu bukan bridgingnya, tapi collect datanya. Lalu memastikan datanya sudah benar sehingga laporan yang kita kirimkan sudah sesuai dengan keadaan sebenarnya.

Meski juknis bridging di RS Online sudah lengkap, tapi untuk bridging Ketersediaan kamar yang aku buat disini hanya untuk method update saja ya pren. Soalnya seperti yang sudah aku ceritain sebelumnya. Anak-anak rekam medis sudah memasukkan datanya setiap hari. Jadi aku tinggal meneruskan saja. 

Lebih mudah mana meneruskan atau membuat baru? sama saja sih. Tapi kita harus menghargai perjuangan mereka mengentry setiap hari. Hanya saja kendalanya kita harus membuat mapping nama ruangan, karena bisa jadi mereka waktu nulis nama ruangan nggak sesuai dengan nama ruangan yang ada di rumah sakit. Kalau memang seperti ini, solusinya paling gampang, hapus semua trus bikin data baru. Tapi lewat sirs/RS online saja. Tidak semua hal harus dibridgingkan kok.

Selain itu karena kebutuhan bridging disini lebih ke percepatan dan otomatisasi pengiriman data ketersediaan bed, Tambah ruangan/data kan nggak setiap hari dan hanya sekali waktu, nggak usah terlalu dipikirin. Meski membuat service ini juga nggak susah. Tapi kita fokus saja ke update data OK!

PERSIAPAN DATA

Ambil Data Ketersediaan kamar yang sudah dientry di RS ONLINE 

Sebelum membuat bridging dengan vb6, kita siapkan terlebih dahulu data apa saja yang akan kita kirim/update ke RS online. Untuk itu kita perlu mengambil data dari RS online. Kecuali kalau kamu mau bikin aplikasinya full service, user bisa tambah data baru dari aplikasi bridging. 

Untuk mengambil data, aku memakai php biar lebih mudah melihat data dan copy paste data.
perintahnya cukup simpel kok. kita bisa pakai perintah curl


   
    
beri nama filenya sesuka kamu, trus jalankan saja.

hasilnya terlihat seperti dibawah ini:
daftar ketersediaan kamar yang sudah dikirim ke RS Online
Daftar Ketersediaan Kamar Yang Sudah Dikirim Ke RS Online

 

Setelah mendapatkan data dari RS Online, sekarang kita petakan data tersebut ke sistem SIMRS. Cara paling mudah adalah buat query yang hasilnya sama dengan data yang mau dikirim.

Parameter yang dikirim:

  • KdKelas SIRS
  • NamaKelas
  • Nama Ruangan
  • Jumlah ruang
  • terpakai
  • kosong
  • prepare
  • prepare plan
  • covid

For information, bridging RS Online digunakan untuk mengirim semua data ketersediaan bed, namun banyak rumah sakit yang hanya melakukan bridging Covid saja. Kalau dari aku sih mending dibuat semua sekalian wong sudah support untuk semua ruang. 

Karena aku menggunakan SQL Server, aku menggunakan view supaya querynya menjadi lebih ringkas. 

Aku membuat 5 view yang kemudian digabungkan menjadi satu sehingga mejadi kuat dan solid. 1 view juga terdiri dari beberapa query sesuai dengan kebutuhan. 

Contoh viewku seperti ini:

Banyak ya hehe, tapi lebih enak buat maintenance sih, soalnya sudah aku pisah sesuai sub kategorynya. Kalau ada masalah di salah satu kategory, nggak perlu pusing untuk mencari dan memperbaikinya.

Contoh tampilan hasil query view, aku  contohkan data covid dan beberapa data isolasi:



eh iya, ini bagian headernya

 

Setelah querynya jadi, sekarang tinggal bikin aplikasi buat kirim ke webapi sirs. Kodingnya gampang kok, kalau kamu pernah bikin koneksi vb6 ke vclaim, percayalah bridging Sirs Online ini lebih mudah.

Struktur rest api Ketersediaan Kamar RS Online

1. mengunakan unix time

2.  header

3. post/get


Sekarang saatnya membuat aplikasinya:

Tambahkan Komponen winhttp

Sebelum mulai ngoding, tepatnya setelah membuka form dan berdoa. tambahkan terlebih dahulu komponen winhttp di bagian reference. 

Caranya adalah: 

klik Project->reference

kemudian cari Microsoft WinHTTP Service, version 5.1



Setelah komponen winhttp dimasukkan, visual basic 6mu sudah siap untuk beraksi. yoo yoo

Buka form1, masukkan satu command button, beri nama cmdkirim misalnya.

kemudian buka kodenya. Tuliskan kode dibawah ini dibagian paling atas. 

 

Nama-nama variable nya terserah kamu ya, sesuiakan saja dengan kebutuhanmu. 

Membuat Fungsi Untuk Menggenerate Unix Time

Saat ini banyak yang menggunakan unix time untuk timestamp, termasuk di RS online kita juga harus menggenerate unix time. Membuat unix time di bahasa pemrograman modern sangat mudah, PHP misalnya. Tapi tidak untuk visual basic 6. 

Setelah berlayar dilautan google dan mencari-cari, akhirnya aku dapatkan juga barisan puisi, eh barisan kode untuk menggenerate unix time di Visual Basic 6, berikut ini kodenya:
 

cuma buat konversi tanggal ke unix time saja sudah berbaris-baris gitu ya?  Berbeda dengan PHP, kamu bisa membuat konversi unix time hanya dalam 1 baris. Tapi visual basic 6 adalah jalan ninjaku menjadi programmer SIMRS, aku akan tetap menjalaninya dengan bahagia.

Sub Prosedure Kirim ke SIRS

Sekarang saatnya membuat modul untuk kirim ketersediaan kamar RS online. Kodingannya seperti berikut ini:


kunci dari kodingan diatas adalah di winhttp. winhttp adalah komponen dari visual basic 6 yang digunakan untuk melakukan http request. Seperti yang aku, kamu dan kalian tahu. Rest Service adalah teknik pertukaran data dengan memanfaatkan http verb baik itu get, post, put maupun delete. Semua fungsi itu bisa dilakukan dengan winhttp. Kalau untuk koneksi ke winhttp, visual basic 6 lebih mudah. Tapi tidak untuk json-nya. Butuh sedikit trik untuk mengolah Json. Tapi kalau untuk pengiriman json, biasanya aku akalin tuh kode,  tanda petik 2 atau double quote aku ganti dengan karakter yang jarang dipakai. Setelah itu aku replace dengan double quote pakai perintah replace. 

Selain dengan replace karakter, bisa juga dengan keyascii double quotes. Koding is tentang bagaimana memperoleh hasil yang diinginkan. Apapun caranya minumnya tetap teh botol sosro, eh malah ngiklan.

Isi Kodingan Tombol Kirim

Sekarang tinggal bikin kodingan di tombol kirimnya. Seperti yang aku jelasin diatas sekali, data ketersediaan kamar diambil dari query yang dibuat sedemikian rupa hingga tidak membutuhkan data logic lainnya. kalaupun butuh logic jangan banyak-banyak dan susah-susah. Query punyaku juga masih disesuaikan lagi sih, soalnya nama kamar yang dikirim sama anak-anak RM berbeda dengan master ruangan SIMRS, kemudian status covid, menghilangkan namaruangan juga aku buat logicnya di vb6 sih, pokoknya kalau ribet diquerym baru Visual Basic 6 beraksi.


TESTING

Sekarang tinggal testing saja nih, eh iya tadi aku lupa menambahkan textbox buat ngambil parameter kiriman, aku pribadi lebih suka ngetest sambil debug sih. Terserah kalian deh mau ngetes pakai cara apa.

SHOW CASE

Terus terang pas bikin kodingan ini aku copy paste beberapa potongan dari kodinganku yang sudah diimplementasikan. Tampilannya seperti dibawah ini:

 

tertarik membuat bridging ketersediaan kamar? cuzz langsung saja dibikin. Feel free to ask, kalau  ingin menyampaikan terima kasih silahkan tuliskan di kolom komentar. Tapi kalau mau bertanya atau ada kendala lebih baik lewat japri. Insyaallah kalau cuma bertanya, konsultasi atau tracing error gratis kok.

Terima kasih sudah mampir

 

 

 

 

 


19 comments for "Bridging Ketersediaan Kamar SIRS Online Dengan VB6"

  1. Replies
    1. Memang nggak ada, tinggal dikopas atau ditulis ulang kodenya. Insyaallah lebih bermanfaat dari pada langsung download

      Delete
  2. Mantap mas martin, bejaya terus

    ReplyDelete
  3. Terima kasih kang,
    tetapi ane terdapat error pada baris 24
    $dbconn = getKoneksi();
    pada file getEntrianrs.php

    ReplyDelete
    Replies
    1. diilangin saja mas, kodenya nggak kepakai kok. Nanti habis jumatan tak edit

      Delete
  4. mas martin.. permisi, sya mau bertanya ...
    untuk dokumentasi bridging resmi (rsonline) yang paling update itu dimana yah? soalnya saya programmer baru yang ketinggalan info hehe. digoogle banyak dokumentasi bridging rsonline, tetapi yang paling bisa ya di post ini. di google x-pass nya ad yang di encrypt md5, ada juga yang x-timestampnya ada yang dikurangi 10 menit, tapi malah yg bisa disini.

    ReplyDelete
    Replies
    1. dokumentasi ada di rsonline mas, login saja di rs online di menu kiri bawah. sekarang sudah tidak pakai encrypt md5

      Delete
  5. mas, untuk yg vclaim v.2 kan ada tambahan user key lagi. bagaimana codingnya ya ?

    ReplyDelete
    Replies
    1. sama saja mas, cuma beda diheader ditambahi userkey

      Delete

Post a Comment