Just Another Blogger

Thursday, March 23, 2017

Bridging INA-CBG5 SIMRS dengan visual basic 6 dan PHP (PART 2)

Postingan ini adalah lanjutan dari  Bridging INA-CBG5 SIMRS dengan visual basic 6 dan PHP (PART 1).

Kembali ke pembahasan sebelumnya. Postingan ini ada 3 part.
  1. 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




Sekarang kita mencoba memanggil service-service yang sudah kita buat di PHP dengan Rest Client.
Rest Client adalah software yang digunakan untuk melakukan test pada Web Api/Web Service.

Kalau kamu suka aplikasi desktop kamu bisa mendownload insomnia. Kalau saya suka memakai Advanced Rest Client. Advanced Rest Client adalah ekstention dari Google Chrome. Google Chrome adalah browser buatan Google. Google adalah mesin pencari terpopuler.

Web service yang kita buat kemarin menggunakan method "POST". Kenapa? karena dengan method "POST " kita lebih mudah melempar parameter dari aplikasi kita ke Web Service.

Tampilan Advanced Rest Client bisa dilihat dibawah ini


Test Web Service dengan Advance Rest Client
Test Web Service dengan Advance Rest Client

Tanda Panah paling atas adalah tempat alamat url Web Service lokal kita
dibawahnya ada "Method" Web Service. Pilih method "POST" (Karena web service kita menggunakan method "POST")
Raw Headers diisi "Content-Type: application/x-www-form-urlencoded".
Tanda Panah paling bawah adalah parameter POST yang dikirim ke web service.


Sekarang kita coba service-nya satu persatu. hasil keluaran web service tetap berupa JSON, karena format ini sangat populer dan parsernya (penerjemah JSON ke format lain) sudah ada di banyak bahasa pemrograman.

Buat Klaim Baru

Digunakan untuk membuat klaim dan pasien baru INACBG. Kalau di aplikasi E-Klaim kita membuat pasien baru kemudian baru membuat klaim baru. Kalau dari bridging kita juga harus mengirim no SEP. 
di Klaim baru ini yang jadi key-nya nomor SEP, jadi nomor SEP tidak boleh kembar.

parameter yang dikirim 
  1. nokartu
  2. nosep
  3. norm
  4. namapasien
  5. tgllahir
  6. jeniskelamin
Cara menggunakannya seperti ini 

Url                : http://xxx.xxx.x.x/BridgingInaCBG/BuatKlaimBaru
Method         : POST 
Raw Header  : Content-Type: application/x-www-form-urlencoded
Parameter POST/Raw Payload : nokartu=testnokartu&nosep=testnosep&norm= testnorm&namapasien=testnamapasien&tgllahir=2004-01-01&jeniskelamin=1

ISI/UPDATE KLAIM

Service ini digunakan untuk mengisi klaim, jika klaim sudah ada maka otomatis akan di update

Parameter yang dikirim:

  1. nosep
  2. nokartu
  3. tglmasuk
  4. tglpulang
  5. tgllahir
  6. jenis_rawat
  7. kelas_rawat
  8. adl_sub_acute
  9. adl_chronic
  10. icu_indikator
  11. icu_los
  12. ventilatot_hour
  13. upgrade_class_ind
  14. upgrade_class_class
  15. upgrade_class_los
  16. birth_weight
  17. discharge_status
  18. diagnosa
  19. procedure
  20. tarif_rs
  21. tarif_poli_eks
  22. nama_dokter
  23. kode_tarif
  24. payor_id
  25. payor_cd
  26. coder_nik
Cara memangilnya contohnya seperti ini:

Url                : http://xxx.xxx.x.x/BridgingInaCBG/IsiDataKlaim
Method         : POST 
Raw Header  : Content-Type: application/x-www-form-urlencoded
Parameter POST/Raw Payload : nosep=testnosep&nokartu=testnokartu&tgl_masuk=2017-01-01 00:00:00&tgl_pulang=2017-01-01 00:00:00&tgllahir=2017-01-01 00:00:00&jenis_rawat=2&kelas_rawat=3&adl_sub_acute=&adl_chronic=&icu_indicator=&icu_los=&ventilator_hour=&upgrade_class_ind=&
upgrade_class_class=&upgrade_class_los=&birth_weight=&discharge_status=&diagnosa=N86&procedure=91.46&tarif_rs=50000&tarif_poli_eks=0&
nama_dokter=Eko&kode_tarif=BP&payor_id=3&payor_cd=JKN&coder_nik=xxxxxxxxxxxxxxxxxxxx


GROUPER 1

Setelah Isi/Update Klaim langkah selanjutnya adalah menggrouper.

parameter yang dikirim cuma NoSEP



Url                : http://xxx.xxx.x.x/BridgingInaCBG/Grouper1
Method         : POST 
Raw Header  : Content-Type: application/x-www-form-urlencoded
Parameter POST/Raw Payload : nosep=testnosep

GROUPER 2

Kalau digrouper 1 ditemukan Special cmg, maka grouper 2 wajib dilakukan (kalau nggak mau sih nggak apa-apa). Tetapi kalau tidak ada ya nggak usah dilakukan.

Parameter yang dikirim:
  1. nosep
  2. special_cmg
Url                : http://xxx.xxx.x.x/BridgingInaCBG/Grouper2
Method         : POST 
Raw Header  : Content-Type: application/x-www-form-urlencoded

Parameter POST/Raw Payload : nosep=testnosep&special_cmg=YY01#RR04

FINAL KLAIM

Setelah semua proses grouper selesai, langkah selanjutnya adalah Final Klaim

Parameter yang dikirm

  1. nosep
  2. coder_nik

Url                : http://xxx.xxx.x.x/BridgingInaCBG/FinalKlaim
Method         : POST 
Raw Header  : Content-Type: application/x-www-form-urlencoded

Parameter POST/Raw Payload : nosep=testnosep&coder_nik=3374132708800008


KIRIM DATA ONLINE

Kirim data online ini masuk ke katalog web service lokal juga, tapi nggak usah 
dibuat kodingnya. Soalnya sudah aku panggil langsung waktu menjalankan servire Final Klaim

Parameter yang dikirim : nosep
Url                : http://xxx.xxx.x.x/BridgingInaCBG/KirimOnline

Method         : POST 
Raw Header  : Content-Type: application/x-www-form-urlencoded


Parameter POST/Raw Payload : nosep=testnosep

Kalau sudah khatam dibagian ini kita langsung nyoba aja Mengakses Web Service Jembatan dari Visual Basic 6









4 comments:

  1. Terima kasih buat tutorial dan ilmunya. semoga berkah dan bermanfaat ilmunya.

    ReplyDelete
  2. gan saya baru coba ws ini dan bikin fungsi baru untuk mengecek data saja dulu karena masih takut jalankan fungsi input kalau salah data, tapi pas saya jalankan fungsiku tertluis response : SIGNATURE_NOT_MATCH

    apanya itu gan..?

    function GetClaimData($request, $response, $args) {
    $json = '{
    "metadata":{
    "method":"get_claim_data"
    },
    "data":{
    "nomor_sep":"'.$request->getParsedBody()['nosep'].'"
    }}';

    $json = mc_encrypt ($json, getKey());

    $ch = curl_init(getUrlWS());

    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $result = curl_exec($ch);
    curl_close($ch);

    $result = str_replace ('----BEGIN ENCRYPTED DATA----', '', $result);
    $result = str_replace ('----END ENCRYPTED DATA----', '', $result);
    $result = mc_decrypt (getKey(), $result);
    $response->write($result);


    return $response;
    }

    ReplyDelete
    Replies
    1. Signature not match berarti key signaturenya salah pak, coba generate ulang key signaturenya

      Delete
  3. sama2 pak, terima kasih sudah mampir dan menggunakan script dari saya, semoga bermanfaat

    ReplyDelete