Multiple Chronic Conditions Tool
for population health analytics

The MCC Tool is a library of python tools designed to help health system administrators, population health strategists, and health services researchers explore patterns of co-morbidity and cost among patients with multiple chronic conditions.

See on GitHub
Product Shot

About the MCC Tool

Multiple Chronic Conditions
Rates of multimorbidity are rising globally. Overall, 42% of adults have multiple chronic conditions (MCC); that number rises to over 80% of those over 65 years of age. In the United States, patients with multiple chronic conditions account for an estimated 70% of all healthcare spending. Health systems have responded to this increasing burden by implementing financial and clinical innovations to improve quality and keep costs under control.Gaps in what is known about the global MCC burden persist. For example, much of what is studied focuses on older adults, while there has been less research on younger adults and those who live in low- and middle-income countries. In addition, while there is some evidence regarding the most common clusters of chronic conditions in a given area, less is known about the myriad ways multimorbidity can occur in a patient or group of patients.

The MCC Tool
A standard methodology to evaluate the prevalence and associated costs of patients with multiple chronic conditions could be beneficial to health systems, researchers, and governments as they implement new care models and financial incentives to achieve quality and cost goals. We designed a tool to help determine which segments of a given population have specific multiple chronic conditions. The main purpose is to provide health systems analysts with a simple descriptive method that can be applied to any population for whom medical claims data are available. Importantly, this tool allows the exploration of multimorbidity without any assumptions (i.e. that may come from more complex statistical or machine learning techniques) or demographic limitations.

In addition, it can help sort health systems data by prevalence and attributed spending of multiple chronic conditions. The key functionality of this tool lies in defining, navigating, and sorting ‘segments’ within a population. Here we define ‘Segments’ as a group of patients defined by 1 or 2 chronic conditions, an age group, and legal sex (‘M’ or ‘F’, as represented in insurance claims data). These fields are commonly found in existing insurance claim data sets.

Requirements for the tool

This package is built to run on Python 3.6.7.

The requirements to use this tool are:

  • A health insurance claims data set (or equivalent healthcare dataset -- whether from an Electronic Health Record or epidemiologic survey) made with the International Classification of Diseases version 9 (ICD-9) with at least the following variables, aggregated by member-year:
    • Age
    • Gender
    • Location
    • Chronic condition codes
    • Total cost of care
    • Python language software package is built to run on Python 3.6.7.

  • These additional libraries (for more information, see



You can download the package at its GitHub here:


uBuild Blocks Mock-Up

Getting Started

If you have git you can

$ git clone



Majumdar UB, Hunt C, Doupe P, et alMultiple chronic conditions at a major urban health system: a retrospective cross-sectional analysis of frequencies, costs and comorbidity patterns BMJ Open 2019;9:e029340. doi: 10.1136/bmjopen-2019-029340


How do I generate chronic disease categories for this tool?
We have built this tool to be readily compatible with the ICD-9 diagnosis code: chronic disease category mapping available from the Healthcare Cost and Utilization Project. What does this mean? If you have data that attributes an ICD-9 diagnosis code to patients, you can group similar diagnoses together into a broader chronic disease category. For example, diagnosis code 250.52 (“Diabetes with ophthalmic manifestations, type II or unspecified type, uncontrolled”) and 250.00 (“Diabetes mellitus without mention of complication, type II or unspecified type, not stated as uncontrolled”) would be grouped together into the chronic disease category ‘Type II Diabetes Mellitus’.

What format does my healthcare data need to be in?
In order to utilize this tool, you need to aggregate claims data by member-year. This means that each row in your data should represent a single member in a single year of utilization. If you are working with a different type of healthcare data (from an Electronic Health Record system, or an epidemiologic survey), you would want each row of your data to represent a unique individual in a given year. The below table gives a simplistic overview of what this could look like:

unique_id sex age study_year comorbidities total_cost
8f2cc3c1 M 36 2012 ‘diabetes’,
8f2cc3c1 M 37 2013 ‘diabetes’,
‘heart failure’
29098e57 F 68 2012 ‘hyperlipidemia’,
... ... ... ... ... ...

How should I go about generating segments?
Utilize SampleSegmentation.ipynb with your existing data to generate a sample set of segments and visualizations. Leave an issue on the github page or contact if you have any additional questions.

What should I do if I have problems?
If you are having problems or have found a bug in the code, please raise an issue on the Github page here:


Copyright 2019 Mount Sinai School of Medicine Licensed under the Educational Community License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Read the full text of the MCCTool license here.

Majumdar UB, Hunt C, Doupe P, et al. Multiple chronic conditions at a major urban health system: a retrospective cross-sectional analysis of frequencies, costs and comorbidity patterns. BMJ Open 2019;9:e029340. doi: 10.1136/bmjopen-2019-029340

Hajat C, Kishore SP. The case for a global focus on multiple chronic conditions. BMJ Global Health 2018;3:e000874.

The Academy of Medical Sciences. (2018). Multimorbidity: a priority for global health research. Retrieved from