Low Resource ICD Coding of Hospital Discharge Summaries (2024)

Abstract: Medical coding is the process by which standardized medical codes are assigned to patient health records. This is a complex and challenging task that typically requires an expert human coder to review health records and assign codes from a classification system based on a standard set of rules. Since health records typically consist of a large proportion of free-text documents, this problem has traditionally been approached as a natural language processing (NLP) task. While machine learning-based methods have seen recent popularity on this task, they tend to struggle with codes that are assigned less frequently, for which little or no training data exists. In this work we utilize the open-source NLP programming language, NLP++, to design and build an automated system to assign International Classification of Diseases (ICD) codes to discharge summaries that functions in the absence of labeled training data. We evaluate our system using the MIMIC-III dataset and find that for codes with little training data, our approach achieves competitive performance compared to state-of-the-art machine learning approaches.

## introduction medical coding is the process by which healthcare institutions assign standardized codes to patient health records for downstream use in applications such as statistical analysis, indexing patient health records, coding medical billing claims @xcite , and assessing quality of patient care @xcite . while these systems of classification represent a critical infrastructure with extensive significance in the healthcare domain, the success of their implementation largely rests on the efficient and precise assignment of these codes to a patient's health record. we focus on the task of assigning international classification of diseases (icd) codes to patient health records, which is a complex, multi-stage process with many possible points of failure, often resulting in improperly assigned or missing codes. the department of health and human services found in 2010 that approximately half of all claims for evaluation and management services were incorrectly coded, resulting in $6.7 billion in improper payments by @xcite . medical coding thus presents itself as a critical task which would greatly benefit from increased automation. since much of the information required for assigning codes is contained within unstructured text documents, the problem of medical coding has traditionally been approached through the framework of natural-language processing (nlp). much research has been conducted in this area but it remains a challenging problem. inherent limitations of state-of-the-art approaches tend to restrict their practical utility @xcite . challenges include large label spaces and long document lengths, user requirements for explainability, and adaptability to local facility needs and medical advances. classical machine-learning and deeplearning based approaches tend to be limited by the need for quality labeled data for supervised training. due to restrictions on the distribution of patient medical data, collecting and curating useful datasets for these tasks is a major challenge @xcite @xcite . annotation costs to develop gold-standard datasets can be prohibitive @xcite . in this paper we propose a system for icd coding that provides support for explainability and functions without training data. our system first extracts medical entities from an input document, then maps these entities to concepts in the unified medical language system (umls) @xcite . finally, we use these concepts as terms to assign ranking scores to icd-9 codes for the input note. we use the openly available mimic-iii dataset to evaluate the performance of our system and to compare to existing state-of-the-art ap-proaches to the task. our contributions are to: ## related work though research on automated medical coding dates as least as far back as the 1970's @xcite , access to data and hardware limitations prevented the development of large-scale solutions. the first work on icd coding was published in the 1990s @xcite . it treated the task as one of information retrieval, employing k-nearest-neighbors, relevance feedback, and bayesian classifiers to select and rank relevant codes. other early approaches leveraged biomedical entity recognition systems to extract clinically-significant entities which could then be linked to codes from the target coding system @xcite . while these approaches saw some success on test datasets, they were limited by their ability to generalize to new datasets and their ability to scale to larger label spaces. medori and fairon examined the automated assignment of icd-9-cm codes to french language clinical notes @xcite . their system was bipartite, including an extraction step using both dictionary-based and heuristic methods to identify relevant coding information and a classification step using naïve bayes classifiers to assign codes. classifiers were built for codes that appeared more than five times in the corpus, resulting in only 1,497 classifiers. the approach separates the task into an extraction and classification step and inspires our approach to isolating relevant context which is then used for code classification. mullenbach et al. @xcite implement an attentional convolutional network to assign icd-9 codes to discharge summaries in the mimic-iii dataset. they introduce train, development and test splits for the full set of mimic-iii discharge summaries as well as a top 50 split that includes only the 50 most frequently assigned codes. both the full and top-50 splits defined by mullenbach et al. have become the standard for comparison in the literature @xcite . we evaluate our system on the test set of these splits. yang et al. @xcite address the longtail challenge of icd coding by both defining a rare code subset of the mimic-iii dataset and introducing a training algorithm to improve performance on rare codes. the rare disease subset, mimic-iiirare50, includes less-common codes in mimic-iii and corresponding discharge summaries. the motivation for this subset comes from the observation that 4,115 of the 8,692 unique codes in the mimic-iii dataset occur fewer than 6 times @xcite . to create this set, the authors first select codes with fewer than 10 occurrences, then select the top 50 from this set after splitting between train and test. common diseases are also manually removed, resulting in 50 codes in total. given the reliance of pretrained language models on labeled data, few-and zero-shot settings like those introduced in the rare-50 subset pose a challenging problem. we use the rare-50 split to evaluate our system in a low-resource setting. ## methods we extract all notes from the noteevents table in the mimic-iii dataset (version 1.4) with cate-gory field matching "discharge summary", including both reports and addenda. notes where the iserror flag is set are dropped and all addendumtype discharge summaries are concatenated to their corresponding original reports, following previous work @xcite . icd9 codes are then generated from the procedures_icd and diagnoses_icd tables using the subject and hospital admission ids. ## results we denote each of our methods as follows: lexsyn refers to the use of lexical variants and synonyms for normalization. the subscript refers to the aggregation method-max, sum, or mean-and the scope of term matches-sent for sentence-level, sect for section level, and full for the full note. ## future work our approach to extracting clinical entities does not differentiate between semantic interpretations of a particular medical entity. this is particularly salient for abbreviations and acronyms, which often require contextual clues to disambiguate @xcite . consider, for example, the term 'ms', which maps to 12 unique concepts in the 2007ac umls @xcite . our system would, in practice, give equal weight to each of these senses of the term 'ms' without attempting to identify the true sense of the term in the text. an lucrative path for future work may be to incorporate heuristic algorithms for word-sense disambiguation (wsd) @xcite into the entity extraction passes of the analyzer. in our system we utilize the lexical variant generator of the umls to identify variants of key medical terms. this allows us to normalize these variants in the text by mapping them to a central concept. we experiment with different variant generation setups as outlined in section 4.1. we find the literature on lexical normalization for medical entities to be sparse @xcite . an in-depth analysis of the downstream impact of different variant generation setups would be a useful tool for guiding the construction of systems that utilize the lexical tools. additionally, we hypothesize that our system could better leverage existing ontological information, including free text descriptions and hierarchical relationships. the dataset on which we evaluate our system, mimic-iii @xcite , is a large and meticulously compiled dataset which has realized significant progress toward the systematic study of medical coding. due to the increasing ubiquity of mimic in the literature on medical coding, the validation of ground truth labels in the dataset has become supremely important @xcite . as our system is developed and built entirely from available medical sources using knowledge-based algorithms, the system output is consistent and reproducible. it is potentially usable as a companion to deep learning based methods to aid in the development of gold-standard labels for the mimic dataset. perhaps the most critical area for future research that we identify is the potential of our approach to be utilized as an assistive software for human coders. in this role our system does not replace human coders but can be used as a "first pass" to coding or to flag inconsistencies for human verification. code for our system is made available at https://github.com/ ashtonomy/low_resource_icd_coding .