t4A is a brainchild project of Fondazione ASPHI (Developing of Projects to reduce a handicap by means of Information Technology), which progressively involved the C.A.S.A. (Center for Autism and Asperger Syndrome) of Mondovì and of course CSP, aims to achive a practical action, using simple and intuitive technologies, to support people with disabilities, autism and other Pervasive Developmental Disorders (PDD). New technologies have been for years at the study of clinicians and educators, especially for the potential they may have in implementing individualized habilitation tasks. What ICT currently offers, could be used in different areas: from the more traditional school learning sector to the evolving area of augmentative and alternative communication, till reach up the still undeveloped multimedial area for the training of social skill (personal and domestic) to young people and adults with autism. t4A is a set of tools and softwares, specifically developed to be used with the touch and with other natural interfaces, that allows you to improve some key factors as learning, communication, personal skills and manage educational software at the service of the individuals with autism, for their parents, for the network of social and health workers and for the school. The idea comes from the consideration that the PDD and autism are complex diseases, whose evolution depends significantly on the interventions carried out during childhood and on the implementation of specific methodologies that enhance the independence, the quality of life of the subject, and reduce social and economic costs. The overall architecture of the t4A project is based on the realization of a multi-level prototype which includes hardware and software equipments such as a multi-touch interactive table and some specific software, experienced at the centro C.A.S.A. through the involvement of some PDD patients and their families.
Therefore, the project goal is to provide a set of tools to aid the planning of customized exercises and habilitation programs allowing the collection of data and results and create a platform for the development of these applications and the control and management of the system.
The t4A platform is based on a client-server architecture developed on a centralized database. All applications using this platform are able to access and store their results in the database, so you can keep track of the exercises done by users and their improvements.
The system provides four special features that the user can access either via the website or through specific interactive applications:
- Planning: allows the medical staff to create and keep updated an activity schedule, created for each patient and based on his own disability, that he should complete.
- Collecting Data: allows you to record the results of the activities. This process can be carried out in different ways depending on the actor of the system. The doctor, for example, has a special section on the website for manual management that allows him to record activities although these were not performed on a computer or tablet. If the actor is a relative of the patient, there’s a simplified application for the tablet that allows him to view the results and to use the platform not forcing him to learn to use the whole system. Finally, for the patient, it is expected that the data is saved automatically everytime you run an application on tablets or on multi-touch table; in this cases all the parameters are recorded, some by default as the start and end time, others depending on the specific application.
- Monitoring: allows you, analyzing the results of various activities, to check at any time the progress made by patients. This feature is available for both the medical staff and relatives and is accessible through the web interface.
- Control: the patient’s chart, created by the medical staff, defines which programs and activities can be accessed and performed. This control system includes two ways to verify both the order of execution of the applications and their results and improvements. This is necessary because there are exercises that can be executed with a multitouch table or with a tablet, and that can be executed in autonomy by the patients; these exercises require that the control is automatic. On the other hands, there are exercises that require the presence of medical staff and, in these case, the control can be performed manually by them. The API provided to developers, which we will describe shortly, allow to control the workflow and so to authorize, or deny, the execution of an application.
The actors included in the system are:
- medical staff: they deal with the creation and the maintenance of the activity cards and the management of the catalog and activities provided by the system. Each person of the medical staff can access the results of the activities carried out by all patients, and this in order to make comparison, progress and evaluation simpler
- family: they have access to all the informations relating to a specific patient and for obvious privacy reasons, they can’t access to results and other private data of any other patient
- patient: he access to the functionality of the system in an indirect way, that is through the use of specific applications developed for multitouch table or tablet devices
- developer: he uses the t4A-APIs for developing applications that are able to communicate with the system. When applications are been developed or for testing purpose, the developer has to register his software on the website through the web interface
- administrator: he can register new users and developers to enable them to access the site and to use APIs.
To summarize what have been written so far, the main point of this system is that it provides the opportunity for developers to create new applications to achieve specific tasks that may be useful for patients with autism and for the medical staff to reach their goals. It is important to note that it is also possible to modify old applications or games to allow the integration with the t4A system, even if they weren’t originally designed for people with autism, and this would potentially increase the number of compatible applications.
APIs and communication protocol
To provide the developers a common language to be used for communication with the t4A system, we defined a protocol that every developer should use for every communication between clients (applications) and server (management system). This allow to validate the acquisition of data on the server, while maintaining the interaction flow, independently from the exercise or game played. Every communications will take place through the HTTP protocol, so there will be one or more web addresses that identify the main center responsible for data acquisition. The protocol is based on simple HTTP GET or POST methods. The following example illustrates a call to the operation for user authentication, for ease of reading we will use the GET method but using POST is suggested for security and flexibility:
Each request will be answered in CSV text format (mime-type: text/plain) and formatted as follows:
When the response value is not present, this will not be returned.
Starting from this example, it’s clear that the first operation that an application needs to perform is to log in to the system by sending a valid username and password. Depending on the device and/or the application or target user disabilities, the login information could be requested explicitly (with an authentication form), or be “hidden” in a configuration file customized during the application setup. This first step is required to ensure the correct association between the results obtained and the user who actually runs the application. Once username and password are submitted, the application waits for the response from the server, in order to grant or deny the service. If authentication is successful, the server sends back a session id that it can be used for all subsequent requests instead of sending username and password at each step.
From the moment the client receives the session id, it should ask the server for authorization to run. This step is necessary to ensure that the list of exercises can only be executed in the exact order in which they were assigned by doctors, not allowing these to be executed too many times or to be skipped. When an exercise has been completed, you need to verify that the connection is still active and that the session id is still present. If both these conditions are met, you can proceed sending the results to the server and waiting for the response. If the send operation is successful, the application can initiate the logout procedure, waiting for disconnection and terminate. If instead the results were not sent to the server, the application stores them locally, trying to resend them at the first available opportunity.
Therefore the API methods for accessing the system are:
http://t4A.csp.it/login?usr=name&pwd=password. The answer will be “OK” followed by the session id, if the login is correct, “ERROR” otherwise.
http://t4A.csp.it/logout?sid=123456789. The answer will be “OK” if the logout was made, “ERROR” otherwise.
- Authorize application:
http://t4A.csp.it/authorizeApp?sid=123456789&appID=25. The answer will be “OK” if the application is authorized, “ERROR” otherwise.
- Data saving:
http://t4A.csp.it/saveData?sid=123456789&appID=25&startTime=2012-03-02%2009:05:12&endTime=2012-03-02%2009:13:48&var1=123&var2=456&var3...The start time and the end time are required and they will be followed by all the data to store in the format name = value. The answer will be “OK” if the data were saved correctly, “ERROR” otherwise.
The web site allows you to perform the platform administrative tasks and display up the stored results from applications. The site is available to the medical staff, patients and developers so that everyone can access the features enabled by their own profile type. The main operations implemented on the web platform are:
- Adding new tasks
- Tasks allocation and scheduling
- Task results and displaying
New tasks can be added using the four step wizard so that you could choose areas, targets and tasks and link them together.
In the same site section of the wizard, you can display all tasks saved into the system and check the connections across areas and targets
To assign tasks to patients, you need to choose the right patient and then, you can customize the list of scheduled activities for that patient, adding or removing tasks with simple drag & drop operations.
To see the patient results, you need to visit the section dedicated to this operation and after selecting the user and then the task or the application to be checked, the system will show a summary table of results.