Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Bridging BPJS Kesehatan (Fiber)

Implementasi Bridging VClaim & Antrean Online (Antrol) menggunakan Golang & Gofiber/Fiber v2

Version Framework


✨ Fitur Utama

Aplikasi ini di-build dengan Go dan Fiber serta dilengkapi dengan mekanisme standar autentikasi dan dekripsi BPJS Health V2:

  • 🔐 Generate Signature: Otomatis generate request signature HMAC-SHA256 (ConsID + Secret + Timestamp).
  • 🔓 AES Decryption: Dekripsi otomatis AES-256-CBC untuk response payload BPJS.
  • 📦 LZString Decompression: Mendukung dekompresi standar EncodedURIComponent.
  • 🚀 High Performance: Menggunakan framework Fiber v2 yang sangat cepat dan scalable.
  • 🧩 Modular Structure: Controller / handler dipecah rapi antara layanan VClaim dan Antrean RS dengan best practice dependency injection.

📂 Struktur Direktori Terbaru

.
├── .env                # 🤫 Konfigurasi kredensial (ConsID, Secret, UserKey, BaseURL)
├── main.go             # 🚀 Entry point utama (Inisialisasi server & app Fiber)
├── config/
│   └── config.go       # ⚙️ Konfigurasi Loader & Environment Variables Binding
├── handler/            # 🌐 Controller untuk memproses HTTP Requests
│   ├── antrean_rs/     # 🏥 Base configs & validation untuk Antrean RS
│   │   ├── base.go
│   │   ├── types.go
│   │   └── ws_bpjs/    # Module spesifik Antrol WS BPJS 
│   │       ├── handler.go
│   │       ├── referensi_dokter.go
│   │       ├── referensi_jadwal_dokter.go
│   │       ├── referensi_poli_finger_print.go
│   │       └── referensi_poli.go
│   └── vclaim/         # 🏥 Base configs & types untuk VClaim
│       ├── base.go
│       ├── types.go
│       ├── peserta/    # Module spesifik API Peserta
│       │   └── handler.go
│       └── rencana_kontrol/ # Module spesifik Rencana Kontrol & SEP
│           ├── cari_rencana_kontrol.go
│           ├── cari_sep.go
│           └── handler.go
├── helper/             # 🛠️ Utilitas (Decrypt, Signature, Timestamp & Enkripsi)
├── routes/
│   └── routes.go       # 🗺️ File pusat untuk meregistrasikan endpoint Fiber
├── go.mod              # 🔗 Daftar Dependencies Golang
└── README.md           # 📖 Dokumentasi

🚀 Panduan Instalasi & Setup

Prasyarat

  • Go versi 1.20+ (Direkomendasikan versi terbaru)
  • Git

1️⃣ Clone & Masuk ke Direktori

cd "API_BPJS" 

(Bila belum di-clone dari repository mandiri)

2️⃣ Unduh Dependensi

Instal semua modul / package Gofiber beserta utilitas lainnya:

go mod tidy

3️⃣ Konfigurasi Environment (.env)

Aplikasi ini meload kredensial / akses API BPJS dari file .env. Buat atau perbarui file bernama .env di folder utama aplikasi dan salin konfigurasinya dengan format berikut. Pastikan menggunakan kredensial staging BPJS untuk proses uji coba (Testing):

APP_PORT=8080

# Kredensial Antrean RS (Antrol)
ANTREAN_RS_BASE_URL=https://bpjs
ANTREAN_RS_CONSID=12345
ANTREAN_RS_SECRET=your_secret
ANTREAN_RS_USERKEY=your_user_key

# Kredensial VClaim
VCLAIM_BASE_URL=https://bpjs
VCLAIM_CONSID=12345
VCLAIM_SECRET=your_secret
VCLAIM_USERKEY=your_user_key

4️⃣ Jalankan Aplikasi (Server Mode)

go run main.go

Bila berhasil, aplikasi akan memunculkan log sukses dan server menyala di port 8080 (sesuai konfigurasi APP_PORT). Buka browser pada http://localhost:8080/bridging-bpjs/ untuk mengecek respond awal server.


🚦 Daftar Endpoint Tersedia

Semua endpoint dilindungi di bawah prefix Base URL: http://localhost:8080/bridging-bpjs/

🏥 VClaim:

  • GET /vclaim/peserta/:noka ➔ Cari data kepesertaan berdasarkan No Kartu.
  • GET /vclaim/rencana-kontrol/nosep/:nosep ➔ Cari data Surat Kontrol berdasarkan No SEP.
  • GET /vclaim/rencana-kontrol/noSuratKontrol/:no_surat_kontrol ➔ Cari detail Rencana Kontrol berdasarkan Nomor Surat.

🏥 Antrean WS BPJS (Antrol):

  • GET /antrol/ref/poli ➔ Mengambil referensi list poli.
  • GET /antrol/ref/dokter ➔ Mengambil referensi nama dokter.
  • GET /antrol/ref/jadwaldokter/kodepoli/:kodepoli/tanggal/:tanggal ➔ Mengecek ketersediaan Jadwal Dokter sesuai Poli dan Tanggal.

🛠️ Cara Menambahkan Endpoint Baru

Jika Anda ingin menambahkan modul fitur BPJS baru (Contoh: Menambahkan /vclaim/sep):

  1. Buat Folder Baru: Tambahkan di bawah handler/vclaim/sep/ / handler/antrean_rs/...
  2. Setup File Handler Utama: Rujuk handler.go yang digunakan pada module yang telah ada (seperti handler/vclaim/rencana_kontrol/handler.go) agar dapat menggunakan properti BaseHandler.
  3. Tambahkan Fungsi Controller: Tulis sebuah file misal insert_sep.go untuk menangani endpoint logic.
  4. Registrasi Routes: Daftarkan file baru ke grup Fiber pada file routes/routes.go.

Dibuat dengan ❤️ untuk kemudahan programmer sistem faskes yang mengimplementasikan bridging BPJS se-Indonesia.

About

MIT License Copyright (c) 2026 Dodhy Kurniawan Permission is granted to use, copy, modify, and distribute this software. This software is provided "as is", without warranty of any kind. The author is not responsible for any misuse, including violations of BPJS Kesehatan policies. This project is not affiliated with BPJS Kesehatan.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages