# Utilizing the International Classification of Functioning, Disability and
Health (ICF) in forming a personal health index

Ilkka Rautiainen111Corresponding author:
Email address<EMAIL_ADDRESS>Faculty of Information Technology, PO
Box 35, FI-40014 University of Jyväskylä, Finland  Lauri Parviainen  David
Health Solutions Ltd., Mannerheimintie 113, FI-00280 Helsinki, Finland  Veera
Jakoaho  David Health Solutions Ltd., Mannerheimintie 113, FI-00280 Helsinki,
Finland  Sami Äyrämö  Faculty of Information Technology, PO Box 35, FI-40014
University of Jyväskylä, Finland  Jukka-Pekka Kauppi  Faculty of Information
Technology, PO Box 35, FI-40014 University of Jyväskylä, Finland

###### Abstract

We propose a new model for comprehensively monitoring the health status of
individuals by calculating a personal health index. The central framework of
the model is the International Classification of Functioning, Disability and
Health (ICF) developed by the World Health Organization. The model is capable
of handling incomplete and heterogeneous data sets collected using different
techniques. The health index was validated by comparing it to two self-
assessed health measures provided by individuals undergoing rehabilitation.
Results indicate that the model yields valid health index outcomes, suggesting
that the proposed model is applicable in practice.

Keywords— Personal health index, ICF, Health data, Data preparation

##  1 Introduction

Reliably describing and monitoring a person’s health status can greatly aid in
providing appropriate treatment for each individual. Accurate information
about personal health allows for better targeting of interventions, and can
provide metrics that enhance factors related to overall health instead of
focusing on treating a single symptom.

A personal health index aims to condense information about the overall health
of a person to a single number [1]. While health index aims to summarize the
person’s health by a single number, a health profile describes the health
status in a set of scores [1]. The index and/or profile can then be further
employed in multiple ways. For instance, a singular value can provide a quick
overall status of the person. This status can be useful for healthcare
professionals and for the persons themselves, aiming at systematic and
understandable way of monitoring the health status of persons from a broad
perspective [1]. In addition, examining further different aspects of well-
being provided by a health profile is often crucial to obtain more detailed
perspective of person’s health.

Concisely describing a person’s overall health status can be challenging.
Changes in a person’s functioning and health can be attributed to several
reasons. For instance, the prevention, treatment and rehabilitation of
physical illness, such as back pain, include also the consideration of
psychological and social aspects [2]. Therefore, it is necessary to describe
all the aspects affecting a person’s health in a structured and standardized
form, and to present this information in an easily interpretable fashion.

Global standardization of health status measurement procedures for health
index construction is difficult to achieve due to different standards and
practices in different countries. There can be significant variations in
treatment procedures depending on the practices of different countries,
clinics and therapists. For instance, clinics in different countries may use
different health questionnaires (and different languages). These differences
make straightforward concatenation of data sets from separate clinics
impossible.

In this study, we propose using the International Classification of
Functioning, Disability and Health (ICF) [3] developed by the World Health
Organization as a basis for construction of a personal health index. As a
comprehensive and standardized classification of functioning, disability and
health, ICF covers all relevant aspects affecting personal health, making it
an ideal platform for health index development. By using the ICF framework, we
first convert original measurements to new variables in “ICF space” using
accepted linking procedures. These variables are called ICF codes throughout
the paper according to ICF terminology. This allows standardization of
possibly heterogeneous data sets from different individuals into the same data
space. Then, we recursively calculate the health index from an ICF tree
structure using available measurements. Calculation does not require
measurements from every node of the ICF tree, making it robust to missing
values. On the other hand, if measurements do not cover all relevant aspects
of health, the missing parts can be taken into account in future data
collection. Once the overall health index value is calculated, it is also
possible to investigate values for each ICF code in the tree separately,
providing insights into specific sectors of functioning, disabilities and
contextual factors affecting health. This way, it is possible to obtain a
comprehensive picture of individual’s health and see whether specific aspects
of health need to be improved. To the best of our knowledge, this is the first
study that employs the ICF framework to form a personal health index.

Multiple health indices and health profiles have been recently suggested in
literature. Meijer et al. (2010) [4] introduced an internationally comparable
health index that is based on functional limitations and self-reported health
measures in addition to objectively measured grip strength. Kohn (2012) [5]
employed multiple correspondence analysis to form a health index, giving some
freedom of choice to the index user, such as the decision of what questions to
include in the index domain. Poterba et al. (2013) [6] used principal
component analysis for the responses to 27 health-related questions, using the
first principal component as their health index. Chen et al. (2016) [7]
developed a method called MyPHI that gives a personal health index (PHI) as
its output. They treated the task of creating the PHI as a soft-label
optimization problem with a data mining technique originally designed for
complex event detection on video material. Their method can handle geriatric
data with infrequencies, incompleteness and sparsity. It is also designed to
give higher weight to the latest health records. Since the output of PHI is a
vector of scores with each score reflecting personal health risk in a disease
category, by the McDowell (2006) [1] definition, their method outputs a health
profile instead of a health index. Lai et al. (2020) [8] introduced a personal
health index based on a tensor decomposition method to overcome the
limitations of health examination records.

Overall, in the existing research there are several elements of what we aim to
achieve in this study, such as considering the differences in data by country
as well as the ability to handle sparse and infrequent data with missing
values. However, previously suggested health indices and profiles for the most
part rely on a predefined set of attributes that are used to calculate the
final health index. Since there are many existing methods for collecting data,
for example through functioning questionnaires [9, 10] and customized tests
(e.g. with equipment available at the clinic), it would be more beneficial to
combine the information from different sources effectively, and then utilize
it further in the health index calculation process.

The remaining part of the study proceeds as follows. Section 2 gives a brief
introduction to the ICF. This is necessary preliminary information for
understanding health index calculation. Section 3 describes data used in this
study, including necessary conversion steps of the original data to the ICF
space. Section 4 describes actual computation of a health index. Section 5
presents the results produced during the statistical analyses. The study is
discussed and concluded in Section 6.

##  2 International Classification of Functioning, Disability and Health (ICF)

The overall aim of the International Classification of Functioning, Disability
and Health (ICF) is to ”provide a unified and standard language and framework
for the description of health and health-related states”. It is a
complementary classification to the ICD-10/11 diagnosis classification [3].

The ICF brings together two conceptual paradigms of disability: the medical
paradigm and the social paradigm. The medical paradigm sees disability as
something which requires medical care, the cause being a disease, trauma or
other health condition of the individual. Moreover, in the social paradigm
disability is seen as a socially-created problem, something that requires a
political response. The fusion of these two paradigms in the ICF can be seen
as a ”biopsychosocial” approach. In other words, the ICF provides a synthesis
of biological, individual and social aspects of health [3, 11]. The ICF model
has potential to change the current disease-based model of care, from
anticipating or reacting to individual diseases to healthy ageing approach,
which aims to observe individual’s trajectories longitudinally in order to
support personalized interventions proactively [12].

An overview of the structure of the ICF is presented in Fig. 1. The four
health measurements/questionnaires we are utilizing and linking to the ICF are
shown at the bottom of the figure, and they are not part of the ICF itself.
These elements are discussed later in Section 3.1.

The ICF classifies health and health-related issues and it consists of two
main parts, Functioning and disability and Contextual factors, which are
further divided into four main components: Body functions ($b$) (physiological
functions of body systems, including psychological functions), Body structures
($s$) (anatomical parts of the body), Activities and participation ($d$)
(execution of a task or action by an individual and involvement in a life
situation) and Environmental factors ($e$) (physical, social and attitudinal
environment in which people live). Although Personal factors (background of an
individual’s life and living) are part of the structure, they can not
currently be classified using ICF [3].

The main components have over 1,400 subcategories that are spread over four
hierarchical levels. The categories in ICF are nested; the broader categories
are defined to include more detailed subcategories of the parent category. For
example, the chapter two ICF code, The eye, ear and related structures ($s2$),
in the Body structures component includes separate categories on the
structures of eye socket, eyeball, around eye and so on [3].

Figure 1: The hierachical structure of the ICF (combined from the information
available in [3]) with the utilized health measurements and questionnaires and
their linkages to ICF.

The chapter level ICF code is indicated by writing a single digit number after
the component $b$, $s$, $d$ or $e$, for example $b2$ referring to the ICF code
Sensory functions and pain. The second level ICF code is specified using a
three digit number (e.g. $b280$ is the Sensation of pain). Furthermore, the
third level ICF code has four numbers (e.g. $b2801$ is the Pain in body part),
and finally the fourth level has five numbers (e.g. $b28013$ is the Pain in
back) [3, 11].

To become a classification and therefore complete, the ICF code is equipped
with one or more qualifiers. A qualifier is a single-digit number that is used
to denote, for instance, the magnitude of the level of health or severity of
the problem at issue. When the qualifier is written for an ICF code, a dot (.)
is used as a separator between the ICF code and the qualifier(s). For example,
a complete ICF code with a qualifier would be $b280.1$, which would indicate
that the person is feeling a mild/slight Sensation of pain [3].

All of the possible ICF codes support the first qualifier, though its usage
varies slightly between different main constructs. For the ICF codes under
Body functions ($b$) and Body structures ($s$) the first qualifier is a
generic qualifier that indicates the extent or magnitude of an impairment. A
generic qualifier can have values 0 (no problem), 1 (mild problem), 2
(moderate problem), 3 (severe problem) or 4 (complete problem), with
additional values 8 and 9 reserved for not specified and not applicable
states, respectively. For the ICF codes under the Activities and participation
($d$) component the first generic qualifier indicates performance, a problem
in the person’s current environment [3, 11].

In the case of Environmental factors ($e$), the generic qualifier can be
either a barrier or a facilitator, meaning that a positive contributor can
also be recorded. The negative scale is employed similarly to the
aforementioned constructs for the barriers, while the facilitators are
indicated using a plus sign ($+$) as an ICF code/qualifier separator instead
of a dot (e.g. ICF code $e145+2$ would indicate that products for education
are a moderate facilitator, as opposed to $e145.2$, which would mean that the
products of education are a moderate barrier) [3, 11]. The facilitators are
not, however, part of our proposed health index calculation model.

In addition to the first qualifier, it is possible to define additional
qualifiers for Body structures and Activities and participation. For example,
the nature of impairment can be described using the second qualifier in Body
structures (e.g. $s7300.32$ indicates a partial absence of the upper
extremity) [3, 11]. However, since we utilize only the first qualifier in our
proposed calculation model, these additional qualifiers are not discussed here
further. Throughout the rest of this paper, the term qualifier will refer only
to the first qualifier.

##  3 Data

For the development and validation of the health index, we employed data
collected from a single David Health Solutions clinic between 2013–2019. The
data included 505 persons (age $48\pm 18$ y, min 12 y, max 87 y, 259 females
and 246 males) receiving rehabilitation treatment for various problems,
including back, neck, hip, knee, shoulder, general health, and other
unspecified reasons. Our original data consisted of following questionnaire
and measurement data sets:

  * •

Oswestry low back pain disability questionnaire (ODI) [9]

  * •

a generic health questionnaire EQ-5D-5L [10]

  * •

mobility and maximal isometric strength tests using various spine concept
rehabilitation machines

  * •

pain level answers

A required preprocessing step in the health index construction is to convert,
or link, variables of these original data sets to new variables called ICF
codes. Linkage of original variables to ICF codes is described next.

###  3.1 Linkage of data to the ICF

The ICF linkage guidelines [13, 14] recommend that two medical professionals
are trained to create the linkages between the original data sources to the
ICF code qualifiers. In the linking process, two experts independently created
the linkage information for a new data source. If the two independent linkages
were identical they were accepted as is. In case they differed, a third expert
opinion was considered when deciding the final linkage. Each measurement
$s,m\in\mathbb{Z}$ was always mapped linearly to the range $0\leq x\leq 4$,
which is the range of the qualifiers in the ICF. Details of linkage for each
questionnaire and measurement data set are available in A.

Since there can be both scientifically validated and self-made ICF linkages
present in the data, it is essential to be able to define separate linkage
reliability values for different linkage types. $r\in[0,1]$ is the linkage
reliability defined for the corresponding source. The index user must define
the $r$ value for every available source before calculating the index. For
instance, we might want to define independently validated linkages with
maximum reliability 1, while self-made linkages can be considered less
reliable. Thus, their $r$ would in most cases be defined to be less than 1.

For the two questionnaires, EQ-5D and ODI, data were available for 111 and 147
persons, respectively. The pain level answers were accessible for 348 persons
and mobility/strength test results for 420 persons. Additionally, EQ-VAS,
self-assessed health status, was answered by 168 persons.

Most often available ICF code in the dataset was $b780$ (Sensations related to
muscles and movement functions), which was available for 420 persons out of
505. The next three accessible ICF codes were $b7305$ (Power of muscles of the
trunk), $b7355$ (Tone of muscles of trunk), and $b7401$ (Endurance of muscle
groups). They were all available for 388 persons. See Fig. 2 for a full list
of available ICF codes. To be included in the list, there had to be at least
one measurement available for the specified ICF code.

Figure 2: An overview of the occurrence of ICF codes in the David dataset for
the persons. Additionally, EQ-VAS answer is also included.

###  3.2 Overview of data

There are two important properties to examine in the data. Firstly, duration
of a treatment period is the number of full calendar days between the
beginning and the end of the latest day of the treatment. By this definition,
when treatment is made only once, the duration of the treatment is 0.
Secondly, we can examine the frequency or number of treatment days during the
treatment period. We call this property a length of the treatment sequence.
For example, if we have a person that has been treated for three weeks and had
four visits to the clinic, the duration of the treatment period would be 21
days, with four as the length of the treatment sequence.

The median duration of the treatment period in data was 69 days, while the
median length of the treatment sequence was three days. In Fig. 3 we examine
these two properties further.

(a)

(b)

Figure 3: In LABEL:sub@fig:no_of_measurement_days_vs_length_of_treatment_a
duration of the treatment periods are shown. The duration of the treatment
period and the length of the treatment sequence are presented for each person.
The majority of the persons are in the lower-left corner, meaning that they
have had relatively short treatment with few individual treatment days.
LABEL:sub@fig:no_of_measurement_days_vs_length_of_treatment_b shows how many
days there is data from. Ten separate groups for the length of the treatment
sequences were formed to examine how many persons were in each group. For
instance, we see that for over 140 persons data is available for one day only.

##  4 Calculating the health index

In this section, methods for calculating the health index are presented. We
first introduce a structure of the model used in calculation, involving its
basic elements. After that, we describe overall calculation process of the
health index from the model. Then, we present model elements in more detail,
followed by details of the ICF code level calculations.

###  4.1 Model structure and elements

The proposed model structure corresponds to the hierarchical structure of the
ICF. However, instead of using all possible ICF codes, the proposed model
structure consists of available ICF codes only. For instance, ICF codes
available in this study are listed in Fig. 2, so the structure of the model
consists of these ICF codes only. Within this restricted set of all possible
ICF codes, some ICF codes can further be missing, i.e. they are not measured
for all persons. Thus, some ICF codes in the model are observed codes whereas
some codes are empty codes. Moreover, an ICF code in the model can be observed
through not only one but multiple measurements. This situation happens when
more than one original data variables are linked to a same ICF code. It is
also possible to have multiple measurements in a single ICF code by linking
one original data variable recorded from different time points. In this study,
all linked measurements are called qualifiers according to the ICF
terminology.

For illustration purposes, Fig. 4 gives an example of a simplified tree
structure containing ICF codes. As mentioned above, multiple original
measurements can be linked to a same ICF code, meaning that the corresponding
ICF code is observed through multiple qualifiers. In Fig. 4 we have two ICF
codes with two qualifiers linked to the same ICF code on the third and fourth
levels. Firstly, the first qualifier in the ICF code $b28010$ (4.1) is 2
(first number inside the first square brackets), with $time\\_elapsed=0$ and
$reliability=1$. The second qualifier, a measurement coming from a different
source, for the same ICF code is 1 (second number inside the first square
brackets), with $time\\_elapsed=30$ and $reliability=0.8$. Finally, the second
ICF code with two qualifiers is $b2801$ (3.3). Also empty ICF codes are
included in Fig. 4 for illustration purposes.

Figure 4: An example of a tree containing ICF codes. Each ICF code has
information in two rows. The first row has the level number and an ICF code
number in the level, separated by a dot. The format used is $level.index$,
where $level$ is the ICF level the node belongs to, level 4 being the deepest,
and $index$ is the per-level running index. The ICF codes are in alphabetical
order at each level, and the running index is determined by this order. The
level labeled as $0$ refers to the ICF top components $b$, $d$, $e$ and $s$,
the level 1 to the chapter level ICF codes, the level 2 to the second level
ICF codes and so on. The second ICF code row indicates the ICF code and three
attributes associated with it, ICF qualifier $x$, time elapsed from
measurement ($TE$) (see B.2) and reliability of the linkage $r$ (see Section
3.1). The format is ICF_code.{$qualifier$, $time\\_elapsed$, $reliability$}.
When a qualifier is not available for the ICF code, na is shown instead after
the dot.

###  4.2 Health index calculation

The principal idea in the proposed approach is to transport information node-
by-node and level-by-level from the deepest level to the root of the tree,
eventually resulting in a single number called the health index. The
calculation procedure for the health index is started from the leaf nodes of
the tree. For example, in Fig. 4 the calculation starts from ICF code b28010
(4.1), then continuing on to b28013 (4.2) and then to the next level ICF code
b2102 (3.1) etc. The calculation procedure is repeated through the tree to the
right until there are no ICF codes left. The last calculated value is the
unscaled health index, and scaling this value to 0–100 produces the final
health index. The calculation procedure is described in Alg. 1. The equations
referred to in the algorithm are presented after the algorithm.

Data: ICF code tree with qualifiers

Result: Health index

1 initialize variable level with the deepest ICF code level in the tree

2 while  _the health index has not been calculated_ do

3 index = 1

4 while  _there are ICF codes at the level_ do

5 if  _there are child ICF codes for the ICF code level.index_ then

6 calculate value of the ICF code $x_{level.index}$ (Eqs. 2, 3, 4)

7 calculate time weighting $\alpha_{level.index}$ (Eq. 5)

8 calculate linkage reliability $r_{level.index}$ (Eq. 5)

9 foreach  _child ICF code of level.index_ do

10 remove all qualifiers $s$ if they exist

11

12 index = index \+ 1

13

14

15 level = level \- 1

16 if  _$level <-1$_ then

17 scaled_health_index = $HI(x_{-1.1})$ (Eq. 1)

18 return scaled_health_index

19

20

Algorithm 1 Health index calculation.

In Alg. 1 the input data is the ICF code tree with qualifiers, similar to the
one depicted in Fig. 4. The output result is the health index. In the
beginning (line number 1), we initialize the variable level, according to the
deepest ICF code level available in the data. For example, in the data
depicted in Fig. 4, there are qualifiers present in two ICF codes at level 4
(4.1 and 4.2). Thus, the level variable in this case would be initialized as
4. The lowest possible $level$ is $-1$, corresponding to the root of the tree.
At this level, the final health index is calculated.

The purpose of the outer while loop (Alg. 1, lines 1–1) is to process ICF
codes of the tree one by one until the root of the tree has been reached and
the health index calculated and returned. Inside the loop, the variable index
is first initialized (line 1). The index acts as a per-level running index,
i.e. it is reset to 1 every time the level of the tree changes. For example,
the processing order of the ICF codes in the tree shown in Fig. 4 is 4.1, 4.2,
3.1, 3.2, 3.3, and so on.

The inner while loop (Alg. 1, lines 1–1) serves a purpose of repeating the
necessary calculations until all the ICF codes in the current $level$ are
handled. The first if statement (line 1) checks whether there are child ICF
codes available for the currently examined ICF code, denoted as $level.index$.
For example, in Fig. 4 the child ICF codes of $b280$ are $b2800$ and $b2801$.

In case child ICF codes are available for an ICF code, calculations can start.
In lines 1–1 the value of the ICF code, $x_{level.index}$, time weighting
$\alpha_{level.index}$ and linkage reliability $r_{level.index}$ are
calculated. These calculations are discussed in detail in Sec. 4.4.

In lines 1–1 every qualifier is removed from the child ICF codes of
level.index. The purpose of this procedure is to make sure these values are
not used later in the calculations. Instead, the values calculated during
lines 1–1 are employed when the calculation continues further.

The per-level running $index$ is increased after each ICF code has been
handled (Alg. 1, line 1), and the level index $level$ decreased after all ICF
codes in the level have been handled (line 1).

When the level index $level$ goes below $-1$, it means that the root of the
tree has been reached (Alg. 1, line 1). The raw health index, denoted
$x_{-1.1}$ by the ICF code numbering scheme employed in Fig. 4, has been
calculated. The raw value will be finally transformed to make it more
decipherable. A suitable target presentation for the final health index is an
integer number from 0 (worst health) to 100 (best health). To achieve this,
the source and target values are inverted: while raw health index value 0
indicates best possible health, the same value in the target range indicates
worst possible health.

The transformation is applied in the following way, with the final health
index denoted as $HI$ (Alg. 1, line 1):

$HI(x_{-1.1})=\textup{nint}\left(100-100\times\frac{x_{-1.1}-\textup{min}(x_{-1.1})}{\textup{max}(x_{-1.1})-\textup{min}(x_{-1.1})}\right),$
(1)

where nint is the nearest integer function and $x_{-1.1}$ is the raw value to
be transformed, while $\textup{min}(x_{-1.1})$ and $\textup{max}(x_{-1.1})$
are the minimum and maximum theoretical or actual raw values. Since we know
the theoretical minimum (0) and maximum (4) values of the raw health index,
our first option is to directly scale and invert the raw values to our target.
In this case we would define that $\textup{min}(x_{-1.1})=0$ and
$\textup{max}(x_{-1.1})=4$. The returned value after the transformation (Alg.
1, line 1) is the final health index.

After the health index has been calculated, the tree is reset to its former
state, meaning that all calculated values are removed from the ICF codes, and
all qualifiers are restored to their original positions. This procedure’s
meaning is to ensure that any future calculations do not use any previously
calculated values.

###  4.3 A closer look at the elements

In Fig. 5 we take a closer look at the elements in the tree. Here we have
taken three ICF codes, $b28010$, $b28013$ and $b2801$, from the Fig. 4 for a
more thorough inspection. An ICF code, whose output value is calculated, is
denoted by $q$. In Fig. 5, this ICF code is equivalent to node 3.3 (b2801)
shown in Fig. 4. Furthermore, $q$’s child ICF codes, $ch1_{q}$ and $ch2_{q}$,
are equivalent to ICF codes 4.1 (b28010) and 4.2 (b28013), respectively.

Figure 5: An ICF code level example of the health index calculation. In this
figure we have a viewpoint of an individual ICF code marked as $q$. Its child
ICF codes are marked here as $ch1_{q}$ and $ch2_{q}$.

In this hypothetical sample data there are four separate qualifiers, indicated
with markings $s_{1}$, $s_{2}$, $m_{1}$ and $m_{2}$, with linkages between
qualifiers and ICF codes indicated with arrows:

  1. 1.

A moderate problem (qualifier $s_{1}=2$) is recorded for ICF code Pain in head
and neck ($b28010$/$ch1_{q}$). The measurement is made in the latest available
day in the treatment period, as indicated by $TE_{s1}=0$ and its linkage
reliability is defined as the strongest possible ($r_{s1}=1$).

  2. 2.

A slight problem (qualifier $s_{2}=1$) is recorded for ICF codes Pain in head
and neck ($b28010$/$ch2_{q}$) and Pain in back ($b28013$/$ch2_{q}$). The
measurement is made 30 days ago from the perspective of latest available
measurement, as indicated by $TE_{s2}=30$, and its linkage reliability is
defined as ($r_{s2}=0.8$).

  3. 3.

A slight problem (qualifier $m_{1}=1$) is recorded for ICF code Pain in body
part ($b2801$/$q$). The measurement is made in the latest available day in the
treatment period, as indicated by $TE_{m1}=0$ and its linkage reliability is
defined as the strongest possible ($r_{m1}=1$).

  4. 4.

A no problem (qualifier $m_{2}=0$) is recorded for ICF code Pain in body part
($b2801$/$q$). The measurement is made 15 days ago from the perspective of
latest available measurement, as indicated by $TE_{m2}=15$, and its linkage
reliability is defined as ($r_{m2}=0.9$).

The different elements are marked in Fig. 5:

  * •

Direct qualifiers (D) for ICF code q: $m_{1}$ and $m_{2}$ are the direct
qualifiers for ICF code $q$, i.e. they are directly linked to $q$. $TE_{m1}$
is the age of a qualifier in full days and $r_{m1}$ is the reliability of the
linkage.

  * •

Direct input values for ICF code q: These values ($m_{i}$,
$\tilde{\alpha}_{mi}$, $\tilde{r}_{mi}$) are attached to the ICF code $q$.
While $m_{i}$, the qualifier, can be directly attached to the ICF code, other
values need to be calculated based on the available data.

  * •

Indirect qualifiers (I) for ICF code q: This element depicts the two available
qualifiers $s_{1}$ and $s_{2}$ for the two child ICF codes $ch1_{q}$ and
$ch2_{q}$. $s_{1}$ and $s_{2}$ are the qualifiers for child ICF codes of ICF
code $q$, i.e. they are the indirect qualifiers for ICF code $q$. The indirect
qualifiers are linked to $q$ through its child ICF codes. $TE_{s1}$ is the
time elapsed value and $r_{s1}$ is the reliability of the source linkage.

  * •

Indirect input values for ICF code q: These values ($s_{j}$,
$\tilde{\alpha}_{sj}$, $u_{sj}$, $\tilde{r}_{sj}$) are attached to the child
ICF codes, and are used to calculate the values, $s_{ch1(q)}$ and
$s_{ch2(q)}$, for the child ICF codes.

There are three outputs in the diagram:

  * •

Final calculated value for the ICF code q: $x_{q}$ is the final value for ICF
code $q$. It consists of direct qualifiers and indirect qualifiers made for
the child ICF codes. $x_{q}$ is the weighted average of all available
qualifiers: $s_{1}$, $s_{2}$, $m_{1}$ and $m_{2}$. In this case it would be
calculated as follows:
$x_{q}=(\tilde{\beta}_{m1}^{D}m_{1}+\tilde{\beta}_{m2}^{D}m_{2})+s_{ch1(q)}+s_{ch2(q)}=(\tilde{\beta}_{m1}^{D}m_{1}+\tilde{\beta}_{m2}^{D}m_{2})+(\tilde{\beta}_{s1}^{I}s_{1}+\tilde{\beta}_{s2}^{I}s_{2})+(\tilde{\beta}_{s2}^{I}s_{2})$,
where $\beta$ terms refer to weighting coefficients. Details of the equation
are explained in Section 4.4.

  * •

Time weighting value for q: $\alpha_{q}$ is the weighted mean of all available
time weighting $\alpha$ values defined in Eq. 5.

  * •

Linkage reliability value for q: $r_{q}$ is the weighted mean of all available
$r$ values, defined also in Eq. 5.

###  4.4 Calculation of ICF code and reliability values

In the previous section, we explained computation of the ICF code value
through an example for better understanding. In this section, we describe
calculation of ICF code and realibility values more generally.

####  4.4.1 ICF code value calculation

The value of the ICF code $q$ is defined as:

$\displaystyle x_{q}$ $\displaystyle=f(\sum_{i\in
D}\tilde{\beta}_{mi}^{D}m_{i}+\sum_{k\in ch_{q}}s_{chk(q)}+\sum_{k\in
ch_{q}}x_{chk(q)})$ (2) $\displaystyle=f(\sum_{i\in
D}\tilde{\beta}_{mi}^{D}m_{i}+\sum_{k\in ch_{q}}\sum_{j\in
k}\tilde{\beta}_{sj}^{I}s_{j}+\sum_{k\in ch_{q}}\tilde{\beta}_{xk}^{I}x_{k}).$

This definition consists of four separate elements:

  1. 1.

Function $f$ is a weighting function that can be selected to either give
emphasis to higher qualifiers (exponential weighting) in data or to highlight
lower qualifiers (logarithmic weighting). It is also possible to use no
weighting at all (linear weighting). The different weighting functions are
presented in more detail in B.1.

  2. 2.

The first sum term $\sum_{i\in D}\tilde{\beta}_{mi}^{D}m_{i}$ is the weighted
sum of qualifiers $m_{i}$ that are directly linked with the ICF code $q$. In
the equation, $D$ refers to a set of direct qualifiers, i.e. those qualifiers
that are directly linked to $q$. In other words, they are the direct
qualifiers from the viewpoint of $q$. Additionally, we define a total
weighting term $\beta^{D}$ for direct qualifiers:

$\beta_{mi}^{D}=\tilde{\alpha}_{mi}\tilde{r}_{mi}.$ (3)

As can be seen, the total weighting consists of two elements $\alpha$ and $r$.
The first element $\alpha$ is a time weighting value that depends on age of
the corresponding qualifier. Generally, as a qualifier gets older, the less
weight it is given in the calculation. Time weighting is discussed in more
detail in B.2. The second element $r$ is the linkage reliability that we
defined in Section 3.1. It should be noted that $\alpha$, $r$ and $\beta$ in
Eq. 2 carry the tilde notation ($\tilde{\alpha}$, $\tilde{r}$,
$\tilde{\beta}$). This notation means that a normalized value for the term is
used instead of the raw value. A standard normalization procedure is carried
out to make the different values directly comparable. The two normalization
equations are presented in B.3.

  3. 3.

The second sum term $\sum_{k\in ch_{q}}\sum_{j\in
k}\tilde{\beta}_{sj}^{I}s_{j}$ is the weighted sum of qualifiers $s_{j}$ that
are indirectly, i.e. via the child ICF codes of $q$, linked with the ICF code
$q$. In the outer sum, $ch_{q}$ refers to a child ICF code of $q$ that has a
qualifier or a calculated value. Thus, each child ICF code of $q$ is utilized
in the calculation. The inner sum runs through all the qualifiers linked to
the child ICF code. A total weighting term for indirect qualifiers is called
$\beta^{I}$. It is a slightly modified version from the weighting term shown
in Eq. 3, defined as:

$\beta_{sj}^{I}=\tilde{\alpha}_{sj}\tilde{r}_{sj}u_{sj},$ (4)

where $u_{sj}$ is the uniqueness of source of the qualifier $s_{j}$,
calculated based on how many child ICF codes the same qualifier is linked to.
It is defined as $u_{sj}=1/z_{j},z_{j}\in\mathbb{N}^{+}$, where $z_{j}$ is the
number of linkages between $s_{j}$ and child ICF codes of $q$. $u$ is designed
to lower the qualifier weighting if the same source is used to form values for
two or more ICF codes under the same parent ICF code. $\alpha$ and $r$ have
the same purpose as in Eq. 3.

  4. 4.

The third sum term $\sum_{k\in ch_{q}}\tilde{\beta}_{xk}^{I}x_{k}$ is similar
to the second sum term above. The difference is that it runs through the
calculated values ($x$), instead of the qualifiers ($s$). Here the second sum
term is not needed, as each child ICF code can have only one calculated value.
In addition, uniqueness of source is not applicable here. Hence,
$\tilde{\beta}_{xk}^{I}$ is defined similarly to Eq. 3, as
$\tilde{\beta}_{xk}^{I}=\tilde{\alpha}_{xk}\tilde{r}_{xk}$.

####  4.4.2 ICF code reliability calculations

There are two values, $\alpha_{q}$ (equivalent of $\alpha_{level.index}$ on
Alg. 1, line 1, the weighted mean of time weighting $\alpha$) and $r_{q}$
(equivalent of $r_{level.index}$ on line 1, the weighted mean of linkage
reliability $r$), that are calculated for $x_{q}$. They are defined almost
identically to $x_{q}$ in Eq. 2:

$\alpha_{q}=\sum_{i\in D}\tilde{\beta}_{mi}^{D}\alpha_{mi}+\sum_{k\in
ch_{q}}\sum_{j\in k}\tilde{\beta}_{sj}^{I}\alpha_{sj}+\sum_{k\in
ch_{q}}\tilde{\beta}_{xk}^{I}\alpha_{xk},$ (5)

and similarly for $r_{q}$, by replacing the $\alpha$ term in the equation with
$r$. Here the $\tilde{\beta}$ terms are used to determine the weightings for
each $\alpha/r$ element. These values, $\alpha_{q}$ and $r_{q}$, ”travel” with
the $x_{q}$ value and are associated with it.

##  5 Statistical analyses

The set of calculated health indices was validated by comparing the results
with person’s self-reported EQ-VAS answers and maximum pain level answers. Two
groups were formed for validation. For the first group the treatment period
duration was at least 90 days, whereas for the second group the same limit was
30 days. Length of treatment sequence (see Section 3.2) in the first group was
at least 10 days. For the 30-day group, the length of treatment sequence was
at least five days. A person could be assigned to both groups, provided that
the day and qualifier preconditions were satisfied.

To examine the effect of different time weightings, Pearson correlation
coefficients were calculated for different time decay constants $\gamma$ (see
B.2 for detailed definition of $\gamma$). The values for $\gamma$ were chosen
so that:

  * •

$\gamma_{1}=(1/20)^{1/30}\approx 0.905$ represented a very heavy time decay: a
30 day old qualifier was weighed only 5 % of its original time weight.

  * •

$\gamma_{2}=(1/3)^{1/30}\approx 0.964$ represented our estimated preliminarily
potential time decay value in a real-life scenario. In practice this value
means that a measurement made 30 days ago was weighed as one third of its
original time weight.

  * •

$\gamma_{3}=1$ means that there was no time decay at all.

The algorithm was implemented using Python programming language [15]. The
statistical analyses were made using SciPy [16] and figures with Matplotlib
[17].

###  5.1 EQ-VAS answer vs. the health index

First, the health index was calculated without giving any emphasis to lower or
higher qualifiers. In Table 1 the EQ-VAS answer was compared with the health
index, and Pearson correlations are presented for both of the groups. The
influence of changing the $\gamma$ was also explored. The results show mostly
moderate positive correlations for all configurations between the EQ-VAS
answer and the calculated health index. For the 90-day group there were 84
persons, who had in total 125 EQ-VAS answers recorded. Most persons had only
one EQ-VAS answer recorded, but some had two, three or even four answers. All
of these answers were used in the calculations. The 30-day group had 115
persons with 159 EQ-VAS answers.

$\gamma$ | 30-day group | 90-day group
---|---|---
$(\frac{1}{20})^{1/30}$ | 0.690*** | 0.642***
$(\frac{1}{3})^{1/30}$ | 0.700*** | 0.659***
$1$ | 0.654*** | 0.599***
Table 1: Pearson correlations for the EQVAS answer vs. Health index.
Significance of the correlation coefficients is indicated by stars: ***
indicates $p<0.001$.

###  5.2 Maximum pain vs. the health index

In the case of maximum pain versus the health index, the Pearson correlation
was calculated individually for each person between the maximum pain
trajectory and the health index trajectory. The maximum pain is defined as the
single highest value in the four pain level answers. A maximum pain trajectory
was then formed for each person. Since this information was also used in
calculating the health index, there was inevitably at least some correlation
between the two values. However, this comparison provides a useful second
perspective to the validation of the model.

Bonferroni correction is a method designed to prevent the data from
incorrectly showing significance. The method is applied here in the maximum
pain vs. health index trajectory correlation calculations, and $\alpha$ level
is divided by $n$.

Distribution of correlation values for the two groups are presented in Fig. 6.
A slight upward trend in median correlation is visible in both groups: as
$\gamma$ increases, the median correlation gets closer to zero. In all cases,
the correlation was negative, varying roughly from low to moderate. There are
small differences in the $n$ values for the different $\gamma$ groups. In some
configurations, the health index value remained constant for some persons, and
thus calculating the correlation was not possible. These persons were omitted
from the calculations.

(a) 90-day group.

(b) 30-day group.

Figure 6: Boxplots of Pearson correlations between the health index and
maximum pain trajectories. LABEL:sub@fig:hi_vs_maxpain_boxplots_90_10 shows
the 90-day group, where correlation medians for the three time decay groups
($n=133$) are -0.628, -0.486, and -0.385, respectively.
LABEL:sub@fig:hi_vs_maxpain_boxplots_30_5 shows the 30-day group, where
correlation medians for the three time decay groups are -0.594, -0.489
($n=184$), and -0.477 ($n=182$).

Looking at the portions of significant correlations, for the 90-day group,
Bonferroni corrected significant (*) portions were 55 % for $\gamma_{1}$, 41 %
for $\gamma_{2}$ and 31 % for $\gamma_{3}$. In the 30-day group, the similar
portions were 41 % for $\gamma_{1}$, 29 % for $\gamma_{2}$ and 23 % for
$\gamma_{3}$. Thus, there are more significant correlations when length of the
treatment sequence and duration of the treatment period increase.

In Table 2 the effect of time series length is further examined by binning the
maximum pain vs. health index trajectories of the persons into three bins
based on the length of treatment sequence. These results also indicate that as
more data points are included in the trajectory, significant portion
increases.

Bin | Day ranges |  | Bonferroni signif-
---
icant (*) portions
| Median
---
correlations
| Subset
---
lengths
1 |  $[10,26]$, $[5,15]$ | 18.8 %, 7.9 % | -0.385, -0.569 | 48, 63
2 |  $[27,42]$, $[16,32]$ | 36.6 %, 18.3 % | -0.500, -0.376 | 41, 60
3 |  $[43,325]$, $[33,325]$ | 70.5 %, 65.6 % | -0.510, -0.511 | 44, 61
Table 2: Maximum pain vs. health index correlation statistics when using three
bins with the length of treatment sequence as the binning criterion. The three
bins are roughly the same size (tertiles). Here the time decay value was
defined as $\gamma_{2}$. Both, the 90-day group and the 30-day group, are
presented, separated by a comma. Day ranges shows, for each bin, the lengths
of treatment sequences included. For example, the Bin 1 includes persons with
length of treatment sequence from 10 to 26 days (the 90-day group) or persons
with length of treatment sequence from 5 to 15 days (the 30-day group).
Bonferroni significant (*) portions refers to the portion of Bonferroni
corrected significant correlations at level 0.05. Median correlations shows
the median of all correlations in the bin, while Subset lengths gives the
number of persons used for each bin.

In Fig. 7 two example persons and their maximum pain vs. health index
trajectories are presented. Firstly, there is a typical example with moderate
negative correlation between the trajectories. Secondly, trajectories showing
very high negative correlation are presented.

(a) Moderate negative correlation.

(b) Very high negative correlation.

Figure 7: Two cases of correlations between the maximum pain and health index
trajectories. LABEL:sub@fig:hi_vs_maxpain_typical_case is a typical case
showing moderate negative correlation (-0.670) with a length of treatment
sequence 40 days and LABEL:sub@fig:hi_vs_maxpain_extreme_case is an extreme
case showing very high negative correlation (-0.934) with a length of
treatment sequence 28 days. Time decay was defined as $\gamma_{2}$ in both
cases. Bonferroni corrected correlations were significant (***).

###  5.3 Effect of non-linear weighting

In this section, the effect of qualifier weighting for correlations is
examined. Qualifier weighting can be calibrated in the model by tuning the $y$
parameter. There are three different functions that the weighting can use: 1)
when $y\in(0,2)$, the weighting is exponential, meaning that higher qualifier
values have more weight, 2) when $y\in(2,4)$, the weighting is logarithmic;
lower qualifier values have more weight, and 3) when $y=2$, the weighting is
linear; qualifier values are treated without any weighting. Details on the
value weighting can be found in B.1.

For the $y$ parameter, 15 evenly spaced values were chosen for both sides of
the linear ($y=2$) case, meaning in total $15+1+15=31$ $y$ parameter values
were examined from $y=0.2$ to $y=3.8$ with intervals of $0.2$. The results for
health index versus EQ-VAS answer using Pearson correlation are shown in Fig.
8. For the 90-day group, highest correlations for all three $\gamma$ values
were observed at $y=2.12$. The correlations were 0.643, 0.664, and 0.599,
respectively. In the 30-day group the highest correlations were observed at
the linear weighting point ($y=2$). Correlations at that point are the same
presented in Table 1.

(a) 90-day group ($n=125$). (b) 30-day group ($n=159$).

Figure 8: Pearson correlation between the health index and EQ-VAS answer.

In case of maximum pain vs. the health index, median correlations for the two
groups are presented in Fig. 9. Here, the highest negative correlations
observed for the three $\gamma$ values for the 90-day group were -0.644 (when
$y=2.24$), -0.491 and -0.420 (both when $y=2.36$), respectively. In the 30-day
group the correlations were -0.618 (when $y=2.36$), -0.489 and -0.477 (both
when $y=2$).

(a) 90-day group.

(b) 30-day group.

Figure 9: Median Pearson correlation between the health index and maximum
pain. LABEL:sub@fig:hi_vs_max_pain_90_10_Y_GAMMA shows the 90-day group
($\gamma_{1},\gamma_{2}$: $n=133$, $\gamma_{3}$: $n=132,133$ ) and
LABEL:sub@fig:hi_vs_max_pain_30_5_Y_GAMMA the 30-day group
($\gamma_{1},\gamma_{2}$: $n=184$, $\gamma_{3}$: $n=181,182,183$ ).

##  6 Discussion

###  6.1 Conclusions

The ICF framework provides an ideal platform for developing a health index, as
it is a widely-used, standardized classification system that covers
comprehensively aspects affecting person’s health and functioning. Its
validity has been proven by numerous published studies and it is heavily
utilized worldwide for population health research projects [18]. Another
advantage of using the ICF is that many questionnaires used to evaluate
treatment response have been linked to ICF codes, allowing questionnaire
results to be converted to ICF code qualifiers. These linkages have been
scientifically validated and there are extensive guides [19, 14] available for
creating new linkages for newer datasets.

The proposed method can also be easily applied to calculate a health profile.
In the context of the ICF, a health profile would most likely be a set of
separate scores for each of the four ICF components (a. Body functions and
structures, b. Activities and participation, c. Environmental factors, d.
Personal factors). It is also possible to create a more detailed profile by
going deeper into the ICF structure.

This study established a framework for homogenization of data sets across
clinics so that they can be concatenated into a single very large data set.
This step is highly crucial for development of AI, because training of machine
learning algorithms requires that same variables are available from all
analyzed persons. If homogenization of data sets is not performed, only
subsets of persons and/or variables can be analyzed at once, reducing
predictive power of the trained models. When going a few steps further, one of
the goals is to employ the health index as an optimization target in a machine
learning model. This approach will make it possible to improve the person’s
health comprehensively instead of focusing on a single health parameter and
can, for example, help in choosing the optimal rehabilitation pathway for a
person.

In addition to being able to handle heterogenous data from various
international sources, it is expected that the proposed index can be formed
even when there are only few qualifiers available for a person. However, when
there are more qualifiers available, the health index becomes more reliable.
One of the aims was also to emphasize recent qualifiers in health index
calculation, while also giving some weight to qualifiers from the past.

###  6.2 Limitations

The ICF framework enables its users to define health and functioning of an
individual in very detailed ways. In Body structures (s) construct the second
qualifier can be used to indicate the nature of the change in the respective
body structure, and the third qualifier indicates the location, e.g. left or
right [3, 19]. Furthermore, in Activities and participation (d) the second
generic qualifier (capacity) is used to indicate limitation without assistance
[3]. The proposed model utilizes only the first generic qualifier. Thus, any
further information potentially provided by these additional qualifiers is not
utilized in the current model.

In the case of ICF’s Environmental factors (e) construct the first qualifier
can be used to denote either the positive effects (facilitators) or the
negative effects (barriers) of the environment [3]. The model is currently
able to handle only barriers. Thus, the potential positive effect of possible
facilitators to the health index is not part of the proposed model.

Qualifiers 8 (not specified) and 9 (not applicable) are not handled by the
proposed model. Currently the values are treated as ordinal, and these nominal
values can not be utilized. This limitation might result in loss of some
information, since these qualifiers are used in ICF system to record
information that can not be captured using the $[0,4]$ value range. Qualifier
8 should be applied when there is a problem, but it is unknown whether that
problem is mild or severe. Additionally, qualifier 9 is typically used in a
situation when use of the category is not appropriate for the individual [19].

A potential limitation regarding the practical usability of the model is that
too scarce data might give a wrong impression about person’s overall health.
The proposed model does not currently specify any metrics for observing how
complete the employed data is. Any personal factors that are not expressed by
the qualifier format, such as age of a person, can not be utilized in the
current calculation process.

## CRediT authorship contribution statement

Ilkka Rautiainen: Methodology, Software, Validation, Formal analysis,
Investigation, Writing - Original Draft, Visualization, Lauri Parviainen:
Conceptualization, Methodology, Data Curation, Veera Jakoaho: Data Curation,
Writing - Review & Editing, Project administration, Sami Äyrämö:
Conceptualization, Methodology, Writing - Review & Editing, Supervision,
Jukka-Pekka Kauppi: Conceptualization, Methodology, Software, Writing - Review
& Editing, Visualization, Supervision

## Declaration of Competing Interest

The authors declare that they have no known competing financial interests or
personal relationships that could have appeared to influence the work reported
in this paper.

## Acknowledgements

Ilkka Rautiainen’s work was funded by David Health Solutions Ltd. and Jenny
and Antti Wihuri Foundation (grant numbers 00180312, 00200302, and 00210295).

## References

  * [1] I. McDowell, Measuring health: A guide to rating scales and questionnaires, Oxford University Press, 2006.
  * [2] G. A. Fava, N. Sonino, Psychosomatic medicine: Emerging trends and perspectives, Psychotherapy and psychosomatics 69 (4) (2000) 184–197.
  * [3] World Health Organization, International Classification of Functioning, Disability and Health: ICF, World Health Organization, Geneva, 2001.
  * [4] E. Meijer, A. Kapteyn, T. Andreyeva, Internationally comparable health indices, Health Economics 20 (5) (2011) 600–619.  doi:10.1002/hec.1620.
  * [5] J. L. Kohn, What is health? A multiple correspondence health index, Eastern Economic Journal 38 (2) (2012) 223–250.  doi:10.1057/eej.2011.5.
  * [6] J. M. Poterba, S. F. Venti, D. A. Wise, Health, education, and the post-retirement evolution of household assets, Working Paper 18695, National Bureau of Economic Research (January 2013).  doi:10.3386/w18695.
  * [7] L. Chen, X. Li, Y. Yang, H. Kurniawati, Q. Z. Sheng, H.-Y. Hu, N. Huang, Personal health indexing based on medical examinations: A data mining approach, Decision Support Systems 81 (2016) 54–65.  doi:10.1016/j.dss.2015.10.008.
  * [8] G. Lai, D. Yu, S. Zhang, Z. Wei, X. Sun, Personal health index based on residential health examination, in: X. Yang, C.-D. Wang, M. S. Islam, Z. Zhang (Eds.), Advanced Data Mining and Applications, Springer International Publishing, 2020, pp. 569–581.  doi:10.1007/978-3-030-65390-3\\_43.
  * [9] J. Fairbank, J. Couper, J. Davies, J. O’Brien, et al., The Oswestry low back pain disability questionnaire, Physiotherapy 66 (8) (1980) 271–273.
  * [10] M. Herdman, C. Gudex, A. Lloyd, M. Janssen, P. Kind, D. Parkin, G. Bonsel, X. Badia, Development and preliminary testing of the new five-level version of EQ-5D (EQ-5D-5L), Quality of Life Research 20 (10) (2011) 1727–1736.  doi:10.1007/s11136-011-9903-x.
  * [11] World Health Organization, Towards a common language for functioning, disability, and health: The International Classification of Functioning, Disability, and Health (2002).
  * [12] M. Cesari, I. Araujo de Carvalho, J. Amuthavalli Thiyagarajan, C. Cooper, F. C. Martin, J.-Y. Reginster, B. Vellas, J. R. Beard, Evidence for the domains supporting the construct of intrinsic capacity, The Journals of Gerontology: Series A 73 (12) (2018) 1653–1660.  doi:10.1093/gerona/gly011.
  * [13] A. Cieza, T. Brockow, T. Ewert, E. Amman, B. Kollerits, S. Chatterji, T. B. Ustün, G. Stucki, Linking health-status measurements to the International Classification of Functioning, Disability and Health, Journal of Rehabilitation Medicine 34 (5) (2002) 205–210.  doi:10.1080/165019702760279189.
  * [14] A. Cieza, N. Fayed, J. Bickenbach, B. Prodinger, Refinements of the ICF linking rules to strengthen their potential for establishing comparability of health information, Disability and Rehabilitation 41 (5) (2019) 574–583.  doi:10.3109/09638288.2016.1145258.
  * [15] G. Van Rossum, F. L. Drake, Python 3 Reference Manual, CreateSpace, Scotts Valley, CA, 2009.
  * [16] P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, et al., SciPy 1.0: fundamental algorithms for scientific computing in Python, Nature Methods 17 (3) (2020) 261–272.  doi:10.1038/s41592-019-0686-2.
  * [17] J. D. Hunter, Matplotlib: A 2D graphics environment, Computing in Science & Engineering 9 (03) (2007) 90–95.  doi:10.1109/MCSE.2007.55.
  * [18] R. H. Madden, A. Bundy, The ICF has made a difference to functioning and disability measurement and statistics, Disability and Rehabilitation 41 (12) (2019) 1450–1462.  doi:10.1080/09638288.2018.1431812.
  * [19] World Health Organization, How to use the ICF: A practical manual for using the International Classification of Functioning, Disability and Health (ICF), Exposure draft for comment. Geneva: WHO 10 (2013).
  * [20] M. Koç, B. Bayar, K. Bayar, A comparison of back pain functional scale with Roland Morris disability questionnaire, Oswestry disability index, and short form 36-health survey, Spine 43 (12) (2018) 877–882.
  * [21] R. D. Baruah, P. Angelov, D. Baruah, Dynamically evolving clustering for data streams, in: 2014 IEEE Conference on Evolving and Adaptive Intelligent Systems (EAIS), 2014, pp. 1–6.  doi:10.1109/EAIS.2014.6867473.

##  Appendix A Details on data linkages

The Oswestry low back pain disability questionnaire (ODI) includes one item on
pain and nine items on activities of daily living (lifting, walking, social
life, personal care, sitting, standing, sleeping, traveling, and sex life),
each scored on a 0–5 scale, 5 representing the highest disability [20]. We
defined the linkages ourselves, and they are depicted in Table A.1. Further,
the translations between the original ODI answer and the equivalent value as
an ICF code qualifier are shown in Table A.2. The original ODI answer refers
to the selected response number.

Item as appeared |  | Purpose of information
---
in question
ICF code(s)
Pain intensity | Level of pain | b280
| Personal care
---
(washing, dressing etc.)
| Pain related to personal care
---
tasks
b280, d5
Lifting | Pain related to lifting objects | b280, d430
Walking | Pain related to walking | b280, d450
Sitting | Pain related to sitting | b280, d4103
Standing | Pain related to standing | b280, d4104
Sleeping | Pain related to sleep | b280, b1340
Sex life (if applicable) | Pain related to sexual activities | b280, d7702, b640
Social life |  | Pain related to participation
---
in social activities
b280, d910
Travelling |  | Pain related to capacity for
---
travelling
b280, d470
Table A.1: The ODI questions, their purpose, and their equivalent ICF codes. The response options are not listed. Original ODI answer: | 0 | 1 | 2 | 3 | 4 | 5
---|---|---|---|---|---|---
ICF code qualifier: | 0 | 1 | 2 | 3 | 4
Table A.2: The original ODI answers and their translated equivalent values in
the ICF system.

The five-level version of the EQ-5D generic health questionnaire, EQ-5D-5L
consists of five questions on mobility, self-care, usual activities,
pain/discomfort, and anxiety/depression. The scale of answers is on a 1–5
scale, with 5 being the highest disability. In addition to the five questions,
there is a self-assessed score for overall health on a 0–100 scale, EQ-VAS. It
is not used when calculating the health index. Instead, EQ-VAS is only used
for the external validation of the index. Since, similarly to the 0–4 scale of
the ICF qualifier, there are five response options in all the questions
excluding the EQ-VAS. Thus, the answers can be directly mapped as ICF code
qualifiers. The questions and their linkages to ICF codes are described in
Table A.3. We defined these linkages ourselves.

Item as appeared |  | Purpose of information
---
in question
ICF code(s)
Mobility | Problems with walking | d450, d455
Self-care |  | Problems with self-care,
---
specifically washing and
dressing
d5, d510, d540
| Usual activities (e.g. work,
---
study, housework, family
or leisure activities)
| Problems with daily routine
---
/ usual tasks
d230
Pain / Discomfort | Level of pain or discomfort | b280
Anxiety / Depression |  | Level of anxiety or
---
depression
b152, b1528
| We would like to know how
---
good or bad your health is
TODAY.
General health perception | N/A
Table A.3: The EQ-5D-5L questions, their purpose, and their equivalent ICF
codes. The response options are not listed.

Pain levels in the back, hip/leg, neck, and shoulder/arm areas were measured
from persons in the visual analogue scale (VAS) on a 0–10 scale in the
beginning of every visit to a clinic. Because these variables were measured
frequently, it is important to include these data sets in the analysis besides
questionnaire data, which was collected typically only once or twice during a
whole treatment period. We mapped all the four pain level answers ourselves
into ICF.

In Table A.4 the linkages between the original different pain level questions
and the ICF codes are shown. Further, the translations between the original
pain level answer and the equivalent value as an ICF code qualifier are shown
in Table A.5. For example, the original pain level answer of ”3” for back pain
would translate to ICF code $b28013$ as qualifier ”1”.

Pain level | Corresponding ICF code
---|---
Back | b28013 (Pain in back)
Hip/leg | b28015 (Pain in lower limb)
Neck | b28010 (Pain in head and neck)
Shoulder/arm | b28014 (Pain in upper limb)
Table A.4: The original pain level questions and their equivalent ICF codes. Original pain level: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
---|---|---|---|---|---|---|---|---|---|---|---
ICF code qualifier: | 0 | 1 | 2 | 3 | 4
Table A.5: The original pain level answers and their translated equivalent
values in the ICF system.

We also created new linkages for the mobility/strength tests. Strength and
mobility levels related to relevant spine functions were measured using David
Health Solutions’ spine concept rehabilitation machines and presented in
newton-metres and degrees, respectively. These values were converted to
relative changes with respect to the average values of a reference population.
Better mobility/strength than reference was mapped to 0 %, which corresponded
to no problem. The interventions employed with the machines as well as their
ICF codes are described in Table A.6. The translations of the original
relative change values to the ICF code qualifiers are shown in Table A.7. The
values were then converted to the ICF domain employing the linkages depicted
using the information in these two tables. For example, the relative change of
20 % observed through the f120 machine would be linked with qualifier ”1” to
the ICF codes $b780$, $b7305$, $b7355$ and $b7401$.

Intervention | Target of intervention | Corresponding ICF codes
---|---|---
110 Trunk Extension | Increase of dorsal, |
lumbar and thoracic |  |
region muscle tone |  |
and strength, |  |
Pain prevention | b7305 (Power of muscles of the trunk) |
b7355 (Tone of muscles of trunk) |  |
b7401 (Endurance of muscle groups) |  |
b780 (Sensations related to muscles |  |
and movement functions) |  |
130 Trunk Flexion | Increase of abdominal |
region muscle |  |
tone and strength, |  |
Pain prevention |  |
120 Trunk Rotation | Increase of lateral and |
abdominal region |  |
muscle tone and strength, |  |
Pain prevention | b7302 (Power of muscles of one side |
of the body) |  |
b7305 (Power of muscles of the trunk) |  |
b7355 (Tone of muscles of trunk) |  |
b7401 (Endurance of muscle groups) |  |
b780 (Sensations related to muscles |  |
and movement functions) |  |
150 Trunk Lateral |  |
Flexion | Increase of lateral and |
abdominal region |  |
muscle tone and strength, |  |
Pain prevention |  |
140 Cervical Extension / |  |
Lateral Flexion | Increase of cervical region |
muscle tone |  |
and strength, |  |
Pain prevention | b7300 (Power of isolated muscles |
and muscle groups) |  |
b7302 (Power of muscles of one side |  |
of the body) |  |
b7350 (Tone of isolated muscles and |  |
muscle groups) |  |
b7400 (Endurance of isolated muscles) |  |
b780 (Sensations related to muscles |  |
and movement functions) |  |
160 Cervical Rotation | Increase of cervical region |
muscle tone |  |
and strength, |  |
Pain prevention |  |
Table A.6: The original spine concept rehabilitation machine interventions, their purpose and their equivalent ICF codes. Original relative change (%): | $0\leq x\leq 4$ | $4<x\leq 24$ | $24<x\leq 49$ | $49<x\leq 95$ | $95<x\leq 100$
---|---|---|---|---|---
ICF code qualifier: | 0 | 1 | 2 | 3 | 4
Table A.7: The original spine concept rehabilitation machine relative changes
(%) and their translated equivalent values in the ICF system.

##  Appendix B Defining weightings and normalization

There are two separate weighting elements in the health index: time decay
weighting and different value weighting functions. The purpose of the time
weighting is to give more emphasis to newer qualifiers. By using the value
weighting functions there is a possibility to tune measured values, either to
give more emphasis to higher handicap levels or to downplay their role in the
data.

###  B.1 Value weighting functions

The weighting function is selected by first defining a tuning parameter
$y\in]0,4[$ that determines the steepness of the weighting function. The curve
always starts from point $(0,0)$, is fitted to go through point $(2,y)$ and
always ends in point $(4,4)$. The selected $y$ value directly effects the
function type used in fitting. There are three types of functions.

The function is exponential when $y\in(0,2)$, defined as:

$f(x)=ae^{bx}+c.$ (B.1)

The function is logarithmic when $y\in(2,4)$, defined as:

$f(x)=a\textup{ ln}(bx+1).$ (B.2)

Finally, the function is linear when $y=2$. Linear function is simply defined
as $f(x)=x$.

The values for $a$, $b$ and $c$ in exponential and logarithmic functions are
solved during the standard curve fitting process. For all weighting functions
apply $x\in[0,4]$, meaning the range is the same as in the generic qualifier
in the ICF. The three weighting functions are visualized in Fig. B.1, using
values $y=0.75$ for the exponential and $y=3.25$ for the logarithm function.
Furthermore, selecting exponential weighting function will mean that higher
values, i.e. higher handicap levels, in data are emphasized. By contrast, when
logarithmic weighting is employed, all input values are increased by the
function, meaning that lower handicap levels are emphasized.

Figure B.1: Weighting functions visualized using example $y$ values.

###  B.2 Time weighting

After linking the data to the ICF, the next step is to form a table that for
each individual person contains all ICF code qualifiers available. In order to
prepare the time series of different persons more easily comparable, the date
of the person’s any first qualifier is always defined as 0. Each consecutive
measurement day for the person is then given a number $d\in\mathbb{N}$,
expressing in full calendar days the distance from the start of the treatment.
We can then define $TE$, the time elapsed in days from the latest valid
qualifier:

$TE=d-d_{0},$ (B.3)

where $d_{0}$ is the date of the person’s latest valid qualifier, excluding
$d$. Raw time weighting $\alpha$ is then defined as:

$\alpha=\gamma^{TE},$ (B.4)

where $\gamma\in(0,1]$ is the time decay constant defined by the user before
calculating the index. Therefore, lower $\gamma$ indicates a stronger time
decay. This approach was inspired by [21].

###  B.3 Normalization of the time weighting, linkage reliability and $\beta$
term

To make sure that the different time weightings and reliability values are
comparable, we can calculate the normalized time-weighting values
$\tilde{\alpha}_{mi}$ and $\tilde{\alpha}_{sj}$, normalized reliability values
$\tilde{r}_{mi}$ and $\tilde{r}_{sj}$ as well as normalized $\beta$ term
values $\tilde{\beta}_{mi}$ and $\tilde{\beta}_{sj}$ as follows:

$\tilde{\alpha}_{mi}=\frac{\alpha_{mi}}{\sum_{i\in D}\alpha_{mi}+\sum_{k\in
ch_{q}}\sum_{j\in k}\alpha_{sj}+\sum_{k\in ch_{q}}\alpha_{xk}}$ (B.5)

and

$\tilde{\alpha}_{sj}=\frac{\alpha_{sj}}{\sum_{i\in D}\alpha_{mi}+\sum_{k\in
ch_{q}}\sum_{j\in k}\alpha_{sj}+\sum_{k\in ch_{q}}\alpha_{xk}},$ (B.6)

where $\alpha$ is the raw non-normalized time-weighting that we defined in Eq.
B.4. Additionally, the normalized reliability values and normalized $\beta$
term values are calculated identically, by replacing the $\alpha$ terms in
equations with $r$ or $\beta$, respectively. As a result of this
normalization, the sum of all normalized terms is equal to one.