nights, etc). On the other, companies have to pay full
salaries to their assistants (not for the hours they
worked, which makes it critical for them to plan the
service that minimizes the displacement of assistants
between homes). In addition, each user pays the hours
of service actually received each month with a
percentage of their cost. The cost varies from user to
user according to their economic situation.
In addition to charging and billing, the service
organization itself is complex because there are
dependents who should always receive the service
(they depend on it to eat, get out of bed or to have a
minimum hygiene). On the other hand the auxiliaries
have the right to vacations, days off and sick leave,
however, replacing them is complex as it sometimes
requires increasing the number of work hours of other
colleagues, which is only possible within certain legal
limits. Besides, dependents have periods of
hospitalization or travel to their family home which
means interrupting the service (and stop paying) but
the company must continue to pay the salary to their
assistants and always minimize periods without work
or of displacement between users since they do not
charge for them.
Finally, municipalities want to be informed of
everything at any time, especially the hours of arrival
and departure of each assistant to each domicile and
when a dependent changes his assistant, as frequent
changes mean a low quality of service.
In order to solve this complex problem, we
developed an application that is being marketed as
SaaS and is currently in use in more than 130 Spanish
city councils, especially in Galicia. This application
offers a company profile and a city council profile to
access the data of each municipality, so that the
application itself serves as a means of communication
between them. The check-in in each domicile is
achieved by calls from the number of the domicile to
a special phone number of a digital switchboard and
is reflected in the database available to the city
council and company. On the other hand, a
mechanism is offered so that the company can
efficiently plan the organization of the service and the
scheduling of its assistants. The city council can also
access this planning and see which assistant provides
service to each user each day.
Although the mechanics of work are similar in all
companies and municipalities, the reality is that
points of variability began to emerge from the
beginning. This is due to the fact that different
companies and city councils have different protocols
of action and, logically, they wanted the management
application to support their way of working.
Aware that the variability management is in
general a preferable option to the development of
independent versions that are installed independently
to each client, we assumed from the beginning that
each variant in a point of variability should be
implemented in the code as an alternative to the flow
of execution, dependent on a control parameter of that
point of variability. These parameters are inserted in
the database associated to each client. Thanks to
making this design decision from the beginning, we
have been able to undertake the growing development
of new functionalities that have been bringing new
points of variability as described in Section 3.
The rest of the paper is organized as follows.
Section 2 describes some aspects of the Home Help
Service management necessary to understand the
points of variability. Section 3 describes the different
points of variability integrated in our application,
both for the city council and the company. Section 4
presents an empirical analysis of the real deployment
of the system and how the different variability points
are being used. Finally, Section 5 presents the
conclusions of the paper.
2 PROBLEMATIC OF THE
VARIABILITY OF THE HOME
CARE SERVICE
A fundamental concept in the management of the
home care service is that of a “bag of hours”, that is,
the number of hours that each assistant works in a
given period. Managing these data for each assistant
allows the company of a home care service to
automatically have up-to-date and detailed
information about the hours hired and worked by their
employees, in addition to other data of interest.
Calculations of the bag of hours are held weekly at
the end of each week. The bag of hours is shown as a
table where its main columns are:
● Nº of hired hours: Number of hours assigned
to the employee for his current contract.
● Nº of worked hours: Number of hours
actually worked by the employee. For this,
the hours of the services carried out in a
period of time are added. Certain factors are
also taken into account, such as absences or
services canceled at the request of a user.
● Nº of complementary hours: Number of
overtime hours worked beyond the time
hired and paid separately.
● Nº of permission hours: Number of paid
hours (permission, holidays, public
APMDWE 2018 - 3rd International Special Session on Advanced practices in Model-Driven Web Engineering
392