Future prevalence of type 2 diabetes—A comparative analysis of chronic disease projection methods

Background Accurate projections of the future number of people with chronic diseases are necessary for effective resource allocation and health care planning in response to changes in disease burden. Aim To introduce and compare different projection methods to estimate the number of people with diagnosed type 2 diabetes (T2D) in Germany in 2040. Methods We compare three methods to project the number of males with T2D in Germany in 2040. Method 1) simply combines the sex- and age-specific prevalence of T2D in 2010 with future population distributions projected by the German Federal Statistical Office (FSO). Methods 2) and 3) additionally account for the incidence of T2D and mortality rates using partial differential equations (PDEs). Method 2) models the prevalence of T2D employing a scalar PDE which incorporates incidence and mortality rates. Subsequently, the estimated prevalence is applied to the population projection of the FSO. Method 3) uses a two-dimensional system of PDEs and estimates future case numbers directly while future mortality of people with and without T2D is modelled independently from the projection of the FSO. Results Method 1) projects 3.6 million male people with diagnosed T2D in Germany in 2040. Compared to 2.8 million males in 2010, this equals an increase by 29%. Methods 2) and 3) project 5.9 million (+104% compared to 2010) and 6.0 million (+116%) male T2D patients, respectively. Conclusions The results of the three methods differ substantially. It appears that ignoring temporal trends in incidence and mortality may result in misleading projections of the future number of people with chronic diseases. Hence, it is essential to include these rates as is done by method 2) and 3).


Introduction
We apply the theoretical methods developed in our paper in the context of Type 2 Diabetes (T2D) to project male case numbers for Germany between 2010 and 2040.
The final paper can be found at: XXX The R project in this file provides information about and the code for the data pre-processing and main analysis.

General Setup
We start with a general setup of the working environment and load the initially needed openly available packages and self-written functions.

# call the function init_splines()
Second, we load the required data. Being more precise, here we need input values on the future population in Germany. For our present application, we use the data of the 14th coordinated population projection of the Federal Statistical Office (FSO, in German "Destatis") released in 2018 and which covers the period up to 2060. It contains several variants and model calculations which illustrate the range of possible developments influenced by the demographic components of fertility, mortality and migration. We restrict our analyses to the time horizon until 2040, to the male population and one of the variants of the FSO (variant G1L2W1).

Main Analysis
Method 2)

Case Projection using Method 2)
Since concrete case numbers rather than relative prevalence are of interest, we apply the projected T2D prevalence to the population projections of the FSO. We receive results for case numbers and also the number of non-diseased people with regards to the disease of interest.

Case Projection using Method 1)
With method 1), we use the initial age-specific prevalence as is in 2010 (Tamayo et al., 2016). This method assumes that the prevalence remains constant over the whole time horizon. The constant prevalence is simply multiplied with population projections without reflecting on any disease-specific dynamics.

Case Projection using Method 3)
With method 3) we use two PDEs to directly compute changes in the number of cases and the number of non-diseased people with regards to T2D. Thus, in this case we do not need to project the prevalence in a first step. This method accounts for underlying changes in disease-specific rates (i.e., MRR and IR). Further, we # create arrays for resulting male age-specific cases & numbers of non-diseased # ages, 2010-40 myC_m <-array(data = NA, dim = c(101, 31)) myS_m <-array(data = NA, dim = c(101,