Sistem web berbasis PHP untuk pengelolaan pasien rawat inap/jalan dan integrasi lengkap dengan E-Klaim IDRG/INACBG menggunakan API eksternal. Sistem ini mendukung workflow lengkap dari pembuatan klaim hingga finalisasi dengan tracking dan logging yang komprehensif.
βββ api/ # API Endpoints (10 files)
β βββ eklaim_new_claim.php # Endpoint utama E-Klaim integration (1975+ lines)
β βββ patients.php # API untuk data pasien
β βββ search.php # API pencarian kode ICD dengan autocomplete
β βββ get_diagnosis.php # API untuk mendapatkan diagnosa tersimpan
β βββ get_procedure.php # API untuk mendapatkan prosedur tersimpan
β βββ get_inacbg_codes.php # API untuk kode INACBG autocomplete
β βββ save_all_coding_data.php # API untuk menyimpan data coding
β βββ check_eklaim_tracking.php # API untuk tracking E-Klaim method
β βββ check_grouping_status.php # API untuk status grouping
β βββ check_inacbg_codes.php # API untuk validasi kode INACBG
βββ assets/ # Assets statis
β βββ coding-idrg.css # Stylesheet utama
β βββ dody.ico # Favicon
βββ config/ # Konfigurasi
β βββ database.php # Konfigurasi database
β βββ eklaim_config.php # Konfigurasi E-Klaim API (1592 lines)
β βββ cara_masuk_mapping.php # Mapping cara masuk
β βββ kode_tarif_mapping.php # Mapping kode tarif (default: AP)
βββ database/ # Database schema
β βββ import_coding_tables.sql # Schema tabel import coding
βββ functions/ # Fungsi utilitas
β βββ eklaim_method_tracking.php # Tracking method E-Klaim
βββ includes/ # Include files
β βββ import_coding_db.php # Fungsi database import coding
β βββ logging_functions.php # Fungsi logging (315 lines)
βββ logs/ # Direktori log (auto-generated)
β βββ eklaim_YYYY-MM-DD.log # Log E-Klaim harian
β βββ web_service_requests.log # Log request web service
β βββ web_service_responses.log # Log response web service
βββ index.php # Halaman utama daftar pasien
βββ coding_idrg.php # Interface coding IDRG/INACBG (5741 lines)
βββ E-KLAIM IDRG.postman_collection.json # Koleksi Postman untuk referensi API
- Daftar pasien rawat inap dan rawat jalan
- Informasi lengkap pasien (SEP, kartu BPJS, RM, dll)
- Status kunjungan dan discharge
- Diagnosa ICD-10-IM: Pencarian dan pemilihan diagnosa dengan autocomplete
- Prosedur ICD-9: Pencarian dan pemilihan prosedur dengan quantity
- Validasi Real-time: Validasi kode terhadap database
idr_codesdaninacbg_codes - Import Coding: Transfer data dari IDRG ke INACBG dengan delete-insert operation
- Special CMG Options: Dropdown untuk Special Procedure, Prosthesis, Investigation, Drug
- Real-time Tariff Update: Update tarif berdasarkan pilihan Special CMG
- IDRG Process: New Claim β Set Data β Coding β Grouping β Final
- INACBG Process: Import β Coding β Grouping Stage 1 β Stage 2 (Special CMG) β Final
- Claim Management: Final Claim β Send Online β Print β Re-edit
- Method Tracking: Tracking semua method E-Klaim dengan status success/error
- Method Tracking: Log semua method E-Klaim di
eklaim_method_tracking - Import Logging: Log operasi import di
import_coding_log - Error Logging: Log error dan response di
logs/ - Execution Time Tracking: Tracking waktu eksekusi setiap method
- Response Caching: Cache response untuk menghindari API call berulang
- Validasi MDC/DRG dengan logika khusus (MDC 36 = invalid)
- Fallback description dari
idr_codesjika tidak ditemukan diinacbg_codes - Error handling lengkap dengan pesan yang informatif
- Kode Tarif Default: AP (TARIF RS KELAS A PEMERINTAH)
- Auto-calculation: Total klaim otomatis dihitung dari base tariff + special CMG
// Actions yang tersedia:
- setClaimData // Set data klaim lengkap
- setIdrgDiagnosa // Set diagnosa IDRG
- setIdrgProcedure // Set prosedur IDRG
- setInacbgDiagnosa // Set diagnosa INACBG
- setInacbgProcedure // Set prosedur INACBG
- grouper // Grouping IDRG/INACBG (stage 1 & 2)
- idrg_grouper_final // Finalisasi IDRG
- inacbg_grouper_final // Finalisasi INACBG
- idrg_grouper_reedit // Re-edit IDRG
- inacbg_grouper_reedit // Re-edit INACBG
- final_claim // Finalisasi klaim
- send_claim_online // Kirim klaim online
- idrg_to_inacbg_import // Import IDRG ke INACBG
- checkGroupingStatus // Cek status grouping
- createNewClaim // Buat klaim baru
- getClaimData // Ambil data klaim
- claim_final // Finalisasi klaim dengan coder NIK// api/search.php - Pencarian kode ICD dengan autocomplete
GET ?system=idrg&search=term&limit=20
// api/patients.php - Data pasien
GET ?action=get_patients&type=inpatient|outpatient
GET ?id=patient_id
// api/get_diagnosis.php - Data diagnosa tersimpan
GET ?kunjungan_id=xxx
// api/get_procedure.php - Data prosedur tersimpan
GET ?kunjungan_id=xxx
// api/get_inacbg_codes.php - Kode INACBG untuk autocomplete
GET ?search=term&limit=20
// api/check_inacbg_codes.php - Validasi kode INACBG
POST { "codes": ["code1", "code2"] }
// api/check_eklaim_tracking.php - Status tracking E-Klaim
POST { "nomor_sep": "xxx" }
// api/check_grouping_status.php - Status grouping
POST { "nomor_sep": "xxx" }
// api/save_all_coding_data.php - Simpan data coding
POST { "kunjungan_id": xxx, "diagnosis": [...], "procedures": [...] }kunjungan_pasien: Data pasien dan status groupingidr_codes: Master kode ICD-10 dan ICD-9inacbg_codes: Master kode INACBGeklaim_method_tracking: Log method E-Klaimeklaim_method_mapping: Mapping method code ke nama method
import_coding_log: Log operasi importimport_coding_diagnosis: Data diagnosa yang diimportimport_coding_procedure: Data prosedur yang diimport
define('DB_HOST', 'localhost');
define('DB_NAME', 'idrg');
define('DB_USER', 'root');
define('DB_PASS', 'passworddbdisini');define('EKLAIM_BASE_URL', 'http://10.10.11.173');
define('EKLAIM_ENDPOINT', '/E-Klaim/ws.php');
define('EKLAIM_DEBUG_MODE', true);
define('EKLAIM_CODER_NIK', '123123123123');
define('EKLAIM_TIMEOUT', 30);- Pilih pasien dari daftar (
index.php) - Klik "Coding IDRG" untuk masuk ke interface coding
- Sistem otomatis membuat klaim baru di E-Klaim
- Diagnosa: Tambah diagnosa ICD-10-IM (minimal 1)
- Prosedur: Tambah prosedur ICD-9 (opsional)
- Grouping: Klik "Grouping iDRG" untuk proses grouping
- Final: Klik "Final iDRG" untuk finalisasi
- Klik "Import Coding" untuk transfer data
- Sistem melakukan delete-insert ke tabel import
- Data tersimpan dengan validasi kode
- Diagnosa: Set diagnosa INACBG
- Prosedur: Set prosedur INACBG
- Grouping Stage 1: Klik "Grouping INACBG"
- Grouping Stage 2: Pilih Special CMG options (Procedure, Prosthesis, Investigation, Drug)
- Real-time Update: Tarif otomatis terupdate berdasarkan pilihan Special CMG
- Final: Klik "Final INACBG"
- Final Klaim: Klik "Final Klaim"
- Status Klaim: Tampil layout dengan tombol:
- Cetak Klaim
- Kirim Klaim Online
- Edit Ulang Klaim
// Logika validasi: MDC 36 = invalid, selain itu valid
const invalidMdcCode = '36';
const isValidResult = mdcNumber !== invalidMdcCode && drgCode;- Jika kode tidak ditemukan di
inacbg_codes - Cari di
idr_codesdengan append "(IM tidak berlaku)" berwarna merah
- Setiap method E-Klaim di-track dengan status success/failed
- Method codes: 02 (Set Claim Data), 03 (Set IDRG Diagnosa), 05 (Set IDRG Procedure), 07 (Grouping IDRG), 08 (Final IDRG), 11 (Re-edit IDRG), 22 (INACBG Stage 1), 23 (INACBG Stage 2)
- Execution time tracking untuk setiap method
- Response caching untuk menghindari API call berulang
- Delete-insert operation berdasarkan
nomor_sep - Populate
icd_descriptiondari master data - Log operasi di
import_coding_log
- E2004: Nomor SEP tidak ditemukan
- E2007: Duplikasi nomor SEP
- E2018: Klaim masih belum final
- E2101: IM tidak berlaku
- E2102: iDRG/INACBG coding sudah final
- E2103: iDRG/INACBG coding belum final
- E2104: INACBG coding belum final
- E2105: iDRG error ungroupable
logs/eklaim_YYYY-MM-DD.log: Log request/response E-Klaimlogs/web_service_requests.log: Log request web servicelogs/web_service_responses.log: Log response web service
eklaim_method_tracking: Tracking method dengan statusimport_coding_log: Log operasi import dengan metadata
- Beranda:
http://localhost/idrg-php/ - Coding:
http://localhost/idrg-php/coding_idrg.php?patient_id=19
- Pilih pasien dari daftar
- Lakukan coding IDRG lengkap
- Test import ke INACBG
- Lakukan coding INACBG lengkap
- Test Special CMG options dan real-time tariff update
- Test finalisasi klaim
- Setelah INACBG Stage 1, pilih Special CMG dari dropdown
- Perhatikan tarif otomatis terupdate
- Total klaim otomatis terhitung (base tariff + special CMG)
- Test dengan multiple Special CMG selection
- PHP: 8.0+
- Database: MySQL 5.7+
- Extensions: PDO, cURL, JSON
- Server: Apache/Nginx dengan mod_rewrite
- Akses: Koneksi ke server E-Klaim
- Database: Import schema dan data master
- Konfigurasi: Update
config/database.phpdanconfig/eklaim_config.php - Permissions: Set write permission untuk direktori
logs/ - Testing: Akses
index.phpuntuk memulai
- β Special CMG Integration: Dropdown untuk Special Procedure, Prosthesis, Investigation, Drug
- β Real-time Tariff Update: Update tarif otomatis berdasarkan pilihan Special CMG
- β Auto-calculation: Total klaim otomatis dihitung dari base tariff + special CMG
- β Response Caching: Cache response untuk menghindari API call berulang
- β Execution Time Tracking: Tracking waktu eksekusi setiap method E-Klaim
- β Code Cleanup: Menghapus function duplikat dan tidak terpakai
- β Default Kode Tarif: AP (TARIF RS KELAS A PEMERINTAH)
- β Enhanced Error Handling: Error handling yang lebih informatif
- Basic IDRG/INACBG workflow
- Import coding functionality
- Method tracking system
- Logging system
Sistem ini dikembangkan berdasarkan koleksi Postman E-KLAIM IDRG untuk integrasi SIMRS rumah sakit dengan aplikasi Eklaim versi iDRG.
Diskusi dan Saran:
email: dodynaftali@gmail.com
telegram: @dodynaftali