Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

IDRG PHP - Sistem Pengelolaan Pasien dan Coding E-Klaim

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.

πŸ“ Struktur File

β”œβ”€β”€ 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

πŸš€ Fitur Utama

1. Sistem Pengelolaan Pasien

  • Daftar pasien rawat inap dan rawat jalan
  • Informasi lengkap pasien (SEP, kartu BPJS, RM, dll)
  • Status kunjungan dan discharge

2. Interface Coding IDRG/INACBG

  • 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_codes dan inacbg_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

3. Workflow E-Klaim Lengkap

  • 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

4. Sistem Tracking dan Logging

  • 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

5. Validasi dan Error Handling

  • Validasi MDC/DRG dengan logika khusus (MDC 36 = invalid)
  • Fallback description dari idr_codes jika tidak ditemukan di inacbg_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

πŸ”§ API Endpoints

E-Klaim Integration (api/eklaim_new_claim.php)

// 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

Utility APIs

// 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": [...] }

πŸ—„οΈ Struktur Database

Tabel Utama

  • kunjungan_pasien: Data pasien dan status grouping
  • idr_codes: Master kode ICD-10 dan ICD-9
  • inacbg_codes: Master kode INACBG
  • eklaim_method_tracking: Log method E-Klaim
  • eklaim_method_mapping: Mapping method code ke nama method

Tabel Import Coding

  • import_coding_log: Log operasi import
  • import_coding_diagnosis: Data diagnosa yang diimport
  • import_coding_procedure: Data prosedur yang diimport

βš™οΈ Konfigurasi

Database (config/database.php)

define('DB_HOST', 'localhost');
define('DB_NAME', 'idrg');
define('DB_USER', 'root');
define('DB_PASS', 'passworddbdisini');

E-Klaim (config/eklaim_config.php)

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);

πŸ”„ Workflow Sistem

1. Pembuatan Klaim

  1. Pilih pasien dari daftar (index.php)
  2. Klik "Coding IDRG" untuk masuk ke interface coding
  3. Sistem otomatis membuat klaim baru di E-Klaim

2. Coding IDRG

  1. Diagnosa: Tambah diagnosa ICD-10-IM (minimal 1)
  2. Prosedur: Tambah prosedur ICD-9 (opsional)
  3. Grouping: Klik "Grouping iDRG" untuk proses grouping
  4. Final: Klik "Final iDRG" untuk finalisasi

3. Import ke INACBG

  1. Klik "Import Coding" untuk transfer data
  2. Sistem melakukan delete-insert ke tabel import
  3. Data tersimpan dengan validasi kode

4. Coding INACBG

  1. Diagnosa: Set diagnosa INACBG
  2. Prosedur: Set prosedur INACBG
  3. Grouping Stage 1: Klik "Grouping INACBG"
  4. Grouping Stage 2: Pilih Special CMG options (Procedure, Prosthesis, Investigation, Drug)
  5. Real-time Update: Tarif otomatis terupdate berdasarkan pilihan Special CMG
  6. Final: Klik "Final INACBG"

5. Finalisasi Klaim

  1. Final Klaim: Klik "Final Klaim"
  2. Status Klaim: Tampil layout dengan tombol:
    • Cetak Klaim
    • Kirim Klaim Online
    • Edit Ulang Klaim

🎯 Fitur Khusus

Validasi Grouping

// Logika validasi: MDC 36 = invalid, selain itu valid
const invalidMdcCode = '36';
const isValidResult = mdcNumber !== invalidMdcCode && drgCode;

Fallback Description

  • Jika kode tidak ditemukan di inacbg_codes
  • Cari di idr_codes dengan append "(IM tidak berlaku)" berwarna merah

Method Tracking

  • 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

Import Operation

  • Delete-insert operation berdasarkan nomor_sep
  • Populate icd_description dari master data
  • Log operasi di import_coding_log

🚨 Error Codes E-Klaim

  • 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

πŸ“Š Logging

File Log

  • logs/eklaim_YYYY-MM-DD.log: Log request/response E-Klaim
  • logs/web_service_requests.log: Log request web service
  • logs/web_service_responses.log: Log response web service

Database Log

  • eklaim_method_tracking: Tracking method dengan status
  • import_coding_log: Log operasi import dengan metadata

πŸ§ͺ Testing

Akses Aplikasi

  1. Beranda: http://localhost/idrg-php/
  2. Coding: http://localhost/idrg-php/coding_idrg.php?patient_id=19

Testing Workflow

  1. Pilih pasien dari daftar
  2. Lakukan coding IDRG lengkap
  3. Test import ke INACBG
  4. Lakukan coding INACBG lengkap
  5. Test Special CMG options dan real-time tariff update
  6. Test finalisasi klaim

Testing Special CMG

  1. Setelah INACBG Stage 1, pilih Special CMG dari dropdown
  2. Perhatikan tarif otomatis terupdate
  3. Total klaim otomatis terhitung (base tariff + special CMG)
  4. Test dengan multiple Special CMG selection

πŸ”§ Requirements

  • PHP: 8.0+
  • Database: MySQL 5.7+
  • Extensions: PDO, cURL, JSON
  • Server: Apache/Nginx dengan mod_rewrite
  • Akses: Koneksi ke server E-Klaim

πŸ“ Setup

  1. Database: Import schema dan data master
  2. Konfigurasi: Update config/database.php dan config/eklaim_config.php
  3. Permissions: Set write permission untuk direktori logs/
  4. Testing: Akses index.php untuk memulai

πŸ“ˆ Recent Updates

v2.0 (Current)

  • βœ… 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

v1.0 (Previous)

  • Basic IDRG/INACBG workflow
  • Import coding functionality
  • Method tracking system
  • Logging system

🀝 Support

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

About

E-KLAIM IDRG PHP Integration

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages