Icon

KLAIM-SIGAP

<p><strong>KLAIM-SIGAP</strong> adalah workflow KNIME end-to-end untuk memprioritaskan provider yang perlu ditelaah pada risiko manipulasi klaim nonkapitasi.</p><p>Workflow ini menggabungkan data klaim rawat inap, rawat jalan, beneficiary, dan label historis provider; membentuk 10 fitur numerik level provider; lalu melatih <strong>H2O Isolation Forest</strong> dari pola provider normal. Hasilnya berupa <em>Anomaly Score</em>, <em>Mean Path Length</em>, <em>Audit Priority</em>, dan <em>Model Alert</em> yang dapat ditelusuri kembali ke identitas provider.</p><p>Prototype dievaluasi pada 2.174 provider benchmark publik dengan akurasi 85,00%, recall label historis fraud 71,74%, dan specificity 89,03%. Metrik tersebut adalah bukti teknis pada data benchmark, bukan klaim performa pada data JKN produksi.</p><p>Unduh workflow ini untuk mengeksplorasi pipeline yang reproducible, mulai dari data preparation hingga confusion matrix. KLAIM-SIGAP dirancang sebagai alat bantu prioritisasi audit: keputusan verifikasi tetap berada pada verifikator manusia</p>
Load the Source Data

This step imports the four main input tables: provider labels, beneficiary/member data, inpatient claims, and outpatient claims. Conceptually, it brings together the raw pieces needed later to build provider-level risk features and compare them with known historical outcomes.

Prepare and Combine Claim Records

This block creates a single claims table enriched with patient health information. It first calculates two key features: length of stay for inpatient claims and chronic condition count for each beneficiary. It also marks whether each claim is inpatient or outpatient, aligns the two claim sources into the same structure, combines them into one table, and then joins in the beneficiary-level chronic condition information. The result is one unified dataset where each claim carries both its care setting and the patient’s chronic disease burden, ready for provider-level aggregation later.

Create Provider Risk Features and Attach Labels

This block turns claim-level data into provider-level features. It first finalizes the aggregated provider metrics by calculating ratios and averages such as inpatient claim share and average length of stay. It then joins these features with the historical provider label, so each provider has both its behavior summary and known outcome. Finally, it adds a simple unique provider identifier to support the later train/test split and evaluation.

Split Data and Train the Anomaly Model

This block separates providers by their historical label, then creates a training set made of only normal/non-fraud providers and a testing set that keeps the remaining normal providers plus all labeled fraud providers. After selecting the model input features, it starts an H2O environment, trains an Isolation Forest on the normal training patterns, applies that model to the test providers, converts the results back into a regular KNIME table, and saves the trained model for reuse.

Create Audit Flags and Evaluate Predictions

This step turns the model output into business-friendly decisions by assigning an audit priority and a final alert label for each provider. It then compares those predicted labels with the known historical labels to measure how well the anomaly model separates normal and flagged providers.

Audit_Priority
Expression
Train-1542865627584
CSV Reader
Train_Beneficiarydata-1542865627584
CSV Reader
Inpatient_Claim_Ratio
Expression
Open the viewto see the scoringresults
Scorer (JavaScript)
Train_Inpatientdata-1542865627584
CSV Reader
Train_Outpatientdata-1542865627584
CSV Reader
Column Filter
String to Date&Time
Model_Label
Expression
Date&Time Difference
Counter Generation
Inpatient_Flag = 1
Expression
Column Filter
Column Filter
Column Renamer
Average_LengthOfStay_Days
Expression
Joiner
2/3 of "goods"for training set
Table Partitioner
Joiner
Nominal Value Row Splitter
Model_Alert
Expression
Create H2O Frame
Table to H2O
Create KNIMETable
H2O to Table
Testing set
Table to H2O
Apply IsolationForest to get Mean Length
H2O Isolation Forest Predictor
H2O Isolation Forest Learner
H2O Local Context
Write IsolationForest.model
Model Writer
LengthOfStay_Days = 0
Expression
String to Date&Time
Column Filter
Inpatient_Flag = 0
Expression
ChronicCondition_Count
Expression
Column Filter
Concatenate
GroupBy
Column Renamer
Column Filter
Joiner
1/3 of negativesand all positivesfor testing set
Concatenate

Nodes

Extensions

Links