A medical coding language model trained on clinical narratives from a population-wide cohort of 1.8 million patients
Organizations: Section for Health Data Science and AI, Department of Public Health, University of Copenhagen, Denmark · Corti, Copenhagen, Denmark · Novo Nordisk Foundation Center for Protein Research, University of Copenhagen · Danish Research Institute for Suicide Prevention, Mental Health Centre Copenhagen, Denmark
Abstract
Medical coding translates clinical documentation into standardized codes for billing, research, and public health, but manual coding is time-consuming and error-prone. Existing automation efforts rely on small datasets that poorly represent real-world patient heterogeneity. We trained a language model on 5.8 million electronic health records from 1.8 million patients across nearly all specialties in Eastern Denmark (2006--2016) to predict ICD-10 codes from clinical notes, medications, and laboratory results. Evaluated on 270,000 held-out patients, the model achieved a micro F1 of 71.8% and a top-10 recall of 95.5%. Performance varied by specialty (F1: 53--91%), with higher scores in specialties with well-defined diagnostic criteria. Codes appearing predominantly as secondary diagnoses had markedly lower F1 scores. For three such codes (suicide-related behaviors, weight disorders, and hypertension), the model identified thousands of uncoded cases, of which 76-86% were confirmed valid upon manual review, suggesting systematic under-coding rather than model error. These findings suggest under-coding of secondary diagnoses in Eastern Denmark during this period, with potential implications for epidemiological research, public health surveillance, and understanding of multimorbidity. Similar time constraints and reimbursement structures in other healthcare systems suggest this may not be isolated to this dataset. The model can automate coding for approximately 50% of cases and provide accurate suggestions for most others, and may offer a practical solution to help capture missed secondary conditions.
Figures & tables
| ICD-10 Level 3 | Level 5 | ||||||
|---|---|---|---|---|---|---|---|
| Training data | 50K | 100K | 200K | 500K | 1M | 1.8M | 1M |
| F1 Micro | 59.9% | 61.7% | 65.8% | 69.0% | 70.1% | 71.8% | 54.6% |
| F1 Macro | 25.6% | 26.3% | 30.5% | 41.0% | 43.6% | 47.3% | 10.1% |
| Exact Match Ratio | 37.0% | 42.5% | 47.3% | 51.7% | 52.0% | 54.6% | 33.2% |
| Recall@5 | 82.2% | 85.3% | 87.8% | 89.8% | 90.5% | 91.4% | 78.4% |
| Recall@10 | 88.7% | 90.9% | 93.0% | 94.4% | 94.9% | 95.5% | 86.0% |
Automated Medical Coding
Automated medical coding uses clinical records and coding rules to assign standardized diagnosis and procedure codes for billing, care, and research.
See all 23 papers