# About from-object-to-icf model
## In a nutshell
The model **from-object-to-icf** allows one to deduce, if an object \(synonym for structure, situation etc.\) impedes someone. It does that by defining a mapping from objects to requirements to ICF components. One could use it to make implications such as "A Swing door impedes everybody who has no gripping ability / no b7301 \(ICF\)".
## Research questions
This work is driven by the following research questions:
1. How can one detect, if something \(e.g. object\) is a barrier?
2. Why is something becoming a barrier?
3. How to detect, which groups of people are getting impede by something?
4. How to detect, what a barrier impedes?
5. How to prove, that something is becoming less/more accessible?
See section "Regarding the research questions" to get answers to questions.
## The model in more detail
The model is based on a mapping of objects to requirements and requirements to ICF-components. Please see the following illustration:

The mapping implies, that if at least one requirement of something is not meet by the user, this something becomes a barrier.
### Underlying principles
**Transitive dependencies:** Elements which are not linked directly are related regardless. The relation between an object, its requirements and related ICF components consists of transitive dependencies.
**Measurable requirements**: Requirements must be measurable. Empirical values are not allowed, because they are subjective and therefor depend on a specific person. To be more precise: a requirement needs to be available/not available or represented by a number \(e.g. maximum user width\).
**Non-ambiguous definition of an object:** Objects need to be defined precisely and non-ambiguous. Unclear definition could lead to false assumptions or deductions.
### Formal definitions
**Important terms**:
* o - An **object** is a synonym/placeholder for something, which could be part of the environment. Usually a physical structure, but could also be non-physical, like a situation, talk, law, rule, website etc.
* O - A **set** of objects o, so that O = {o_1, ..., o_n}.
* r - A **requirement** defines a certain skill or property an user has to have, if he wants to use something.
* R - A set of requirements r, so that R = \{r_1, ..., r_n\}.
* icf - An **ICF component** icf describes a part of the human body or abilities.
* **ICF** is a set of ICF-components, so that ICF = \{icf_1, ... icf_n\}.
* u - A **user** is a person with his/her utilities, if available, for instance a wheelchair.
* **U** is a **set of users** u, so that U = {u_1, ..., u_n}. These users are defined by ICF.
**Definitions:**
1. Each o has a list of requirements R={r_1, ..., r_n}. The set could be empty, but this means the object is accessible.
2. If o has r_1 and r_1 is related to an icf, than o can impede U.
3. If an icf is related to a r in R, all objects O having at least one of the r in R, are related to the icf. That means, that for a given ICF-component you can deduce objects of interest for further checks.