Basis Pengetahuan ICD-10 untuk AI Coding BPJS
Melanjutkan pengembangan medcoder, saya masuk ke fase yang menurut saya paling menentukan sejauh ini: membangun basis pengetahuan supaya AI bisa mengusulkan kode diagnosis dan tindakan untuk kasus yang lebih beragam — bukan cuma kasus yang sering muncul di data latihan.
Masalah: Istilah Resmi vs Istilah Lapangan
Katalog resmi kode ICD-10/ICD-9-CM yang saya pakai sebagai rujukan ternyata hanya punya judul dalam bahasa Inggris, dan nyaris tidak ada daftar sinonim atau istilah alternatif. Padahal di lapangan, dokter dan perawat sering menulis singkatan atau istilah sehari-hari yang jauh dari judul resmi kode tersebut — misalnya singkatan umum untuk diagnosis jantung tertentu. Akibatnya, sistem pencarian kandidat kode sering gagal menemukan kode yang tepat, bukan karena AI-nya salah menalar, tapi cuma karena beda istilah.
Solusi yang Ternyata Paling Berdampak
Setelah eksperimen ke sana kemari, perbaikan tunggal paling besar untuk kualitas pencarian kandidat kode ternyata terkesan “sepele”: menyusun kamus sinonim dan singkatan klinis yang dikurasi manual, memetakan istilah singkatan umum ke kode resminya.
Satu keputusan desain yang saya anggap penting: saya sengaja memisahkan kamus untuk pencarian dari kamus untuk normalisasi teks. Alasannya, mengubah kamus normalisasi bisa diam-diam mengacaukan kemiripan riwayat lama yang sudah tersimpan — efek samping yang sulit dilacak kalau kedua kamus itu digabung jadi satu.
Selain kamus sinonim, saya juga mengumpulkan panduan koding resmi dari regulator — buku panduan verifikasi klaim BPJS, petunjuk teknis klaim nasional, dan volume panduan ICD dari WHO — lalu menjadikannya “catatan koding” yang ditempelkan sebagai referensi tambahan di draf kode yang diusulkan AI. Catatan ini sengaja selalu hanya jadi anotasi untuk dibaca verifikator manusia, tidak pernah otomatis mengubah kode yang diusulkan.
Temuan yang Berlawanan dengan Intuisi
Ada satu hal yang cukup mengejutkan: menampilkan daftar sinonim resmi langsung ke dalam prompt AI justru kadang membuat AI condong memilih kode “textbook” versi umum WHO. Padahal kebiasaan koding riil di lapangan sering berbeda, dan justru lebih konsisten dengan riwayat pasien itu sendiri.
Solusinya saya balik: sinonim resmi hanya ditampilkan ke AI kalau memang tidak ada contoh riwayat kuat yang bisa dijadikan rujukan. Kalau ada riwayat kuat, riwayat itu yang menang.
Pelajaran
- Kualitas pencarian kandidat sering jadi bottleneck tersembunyi di balik anggapan “AI salah menalar” — padahal akar masalahnya cuma beda istilah.
- Pisahkan kamus yang punya fungsi berbeda meski isinya mirip, supaya perubahan satu kamus tidak diam-diam merusak fungsi yang lain.
- Referensi resmi tidak selalu harus otomatis “menang” — kadang lebih aman jadi anotasi untuk manusia, sementara keputusan akhir tetap mengikuti sinyal yang lebih dekat dengan kenyataan lapangan.
Fase ini mengajarkan saya bahwa perbaikan paling berdampak untuk sistem AI di bidang kesehatan tidak selalu soal model atau prompt yang lebih canggih — kadang cukup dengan kamus sinonim yang dikurasi dengan sabar.