Membuat Service Pendaftaran Online dan Antrian Operasi Untuk BPJS

Assalamualaikum wr. wb



Demi meningkatkan kualitas pelayanan JKN, BPJS membuat fitur booking online dan monitor jadwal operasi. Namun karena transaksi yang dipakai adalah transaksi yang berjalan di fasilitas kesehatan, maka BPJS pun mewajibkan fasilitas kesehatan yang bekerja sama dengannya membuat web api yang bisa diakses oleh mereka. Tentunya sesuai dengan standart mereka juga.

Alat dan bahan

Alat dan bahan yang dibutuhkan antara lain:

1. Niat dan Doa
Setiap perbuatan baik, awalilah dengan niat yang menggebu dan jangan lupa memohon pada yang kuasa supaya kita dimudahkan dalam membangun sistem ini.

2. Web Server.
Karena service pendaftaran menggunakan web service, maka kita membutuhkan web service. Dalam sharing ini aku menggunakan PHP, kalau kamu mau download aplikasi web service dari blogku, suatu keharusan dan kewajiban menggunakan web server yang sudah terinstall service PHP.

3. Versi PHP Minimal 5.6
Saat aplikasi ini dibuat, aku masih menggunakan slim versi 3 awal. dan slim versi 3 awal ini dibuat diatas php versi 5. Tapi insyaallah aplikasi ini bisa berjalan di PHP 7 keatas.

4. SLIM PHP FRAMEWORK
Aplikasi ini aku bangun dengan menggunakan framwork SLIM PHP microframework. Slim PHP adalah framework khusus untuk membuat web service yang sangat populer. Selain ukurannya yang kecil. Dalam beberapa benchmark, SLIM PHP memiliki keunggulan di execution time dan mampu menghandle banyak request lebih banyak dari mini framework tetangga yang juga sangat populer.



Karena SLIM PHP Framework yang aku pakai cukup jadul. Kalau kamu download slim skeleton saat ini, struktur foldernya sudah lebih modern, pakai folder public ala-ala laravel (meskipun yang pakai folder public bukan hanya laravel, tapi pertama kali aku melihat penggunaan folder public di framework laravel. Oleh karena itu aku menyarankan kamu langsung download saja source code bridging nya di

https://gitlab.com/vbcupu/web-service-simrs-aplicare

Setelah didownload, sekarang exract foldernya. kamu akan melihat susunan folder seperti ini :


Semua file yang berhubungan dengan bridging ada di folder src, silahkan masuk ke folder src:

db.php

     setting db adalah tempat bernaungnya setting-setting yang berhubungan dengan database. plus   setting login untuk BPJS. Karena aku mengikuti struktur aplikasi ditempatku, disitu ada beberapa parameter koneksi database.

Koneksi mysql ada di getConnectionMYSQL()
Koneksi sqlserver ada di getConnectionSQLSERVER()

Setting username dan password untuk bpjs:

ganti xxxxx di kolom user dan password yang mau kamu berikan ke BPJS.

Setting.php

     file setting.php adalah file yang berisi settinga untuk SLIM PHP, termasuk juga module JWT. Setting untuk JWT bisa kamu lihat disini:
exp = expired time, waktu untuk mengatur jangka waktu token berlaku. aku pakai setting 10 menit.
secret = key rahasia untuk menggenerate token

middleware.php

middleware kalau diartikan dalam bahasa Indonesia adalah module tengah. Modul ini akan dijalankan terlebih dahulu sebelum masuk ke aplikasi inti.
Mengapa perlu ada setting di middleware? karena tidak semua end point menggunakan middleware. Untuk memudahkan pengembangan aplikasi ini, aku membuat rule api yang berada dalam group "api" akan dilindungi dengan token, api selain didalam group "api" tidak menggunakan token.
Untuk kebutuhan itu, aku setting disini:

 $app->add(new Slim\Middleware\JwtAuthentication([
        "path"=> '/api', <--- hanya folder api yang dilindungi token
        "secure"=>false,
        "attribute"=>"decoded_token_data", 
        "header" => "X-Token",
        "regexp" => "/(.*)/",            
        "algorithm"=>["HS256"],
        "secret"=>$settings['jwt']['secret'],    <-- ambil secret key dari file setting    
        "error"=>function($req, $res, $args) {
            $data["status"] = "error";
            $data["message"] = $args["message"];
            return $res
            ->withHeader("Content-Type", "application/json")
            ->write(json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
        }

routes.php
Kemudian kodingan api ada di file routes.php

7 comments for "Membuat Service Pendaftaran Online dan Antrian Operasi Untuk BPJS"

  1. mangstap kak, terus berkarya

    ReplyDelete
  2. sangat membantu , terima kasih kak

    ReplyDelete
  3. Slim itu kalau sudah dijalankan composernya, jadinya berapa MB Pak?

    ReplyDelete
    Replies
    1. aku pribadi nggak ngistall lewat composer mas, soalnya males ngikuti model framework kekinian, Kalau corenya slim framework cuma 164 kb

      Delete
  4. pak ada contoh struktur databasenya dak pak ,untuk bahas skripsi pak,mohon bantuannya soalnya saya kesulitan untuk mempelajari alur kodingannya pak

    ReplyDelete

Post a Comment