2.2. Description of the System and Apps
SHOP
From a technical point of view, the system is based on a classic client–server architecture. Through a DB and REST APIs, the server allows the management of user and patient profiling, rehabilitation protocols, and data exchange with apps. A web service was been created in NodeJs that exchanges data in JSON format and stores them in the DB, created in PostgreSQL. Furthermore, to guarantee data security, the web service APIs are accessible only and exclusively through an authentication and authorization system.Web applications (by React) and desktop applications (by Visual Studio) were also developed, through which the rehabilitation protocols can be created and configured, making it possible to define the number of sessions, how many and which tasks to carry out, and on which device. Finally, using the Unity3D graphics engine (C# language), several apps were developed that could be used on different devices and allow the execution and saving of the rehabilitation activity results. In this study, four apps were used, each referring to a specific area of the activities of daily living identified by the American Association of Occupational Therapy [All apps developed in our institute include a combination of behavior analytic components, such as (a) antecedent interventions—pre-training is provided on the use of the VR system, and each app starts with written and verbal instructions, followed by the possibility of watching a demonstration video (for Suitcase and Supermarket); (b) verbal reinforcement (e.g., “well done”, or “congratulations”) after correct responses; (c) corrective feedback after incorrect responses, also providing the least-to-most prompting clue (with a maximum of three clues); and (d) task analysis and total task chaining (for Suitcase and Supermarket). Three of the apps include a single 3D scene; only Supermarket includes three different 3D scenes. Information and Medicines require the patients to respond by tapping an item in the scene; Suitcase and Supermarket require the patients to drag items from one point to another in the scene. Some other details of the apps are described below:Information: 30 questions about personal, general, family, and spatiotemporal information appear on the screen in verbal and written form simultaneously; the patient is asked to choose the answer from a multiple-choice menu by touching one of the options on the screen.Medicines: The task requires the patient to indicate the time of the day at which to take five different types of drugs. In each session, 10 verbal requests are randomly made, and the patient has to touch one of the five medicine boxes on the screen. A visual reminder is always available.Suitcase: 10 items (clothing and accessories) must be packed in a suitcase for a weekend out. The task ends with the closing of the suitcase. There are two versions of the app—one for women and one for men.Supermarket: The activity requires the purchase of 5 items, presented in a shopping list that remains available upon request. The shopping list changes randomly in different sessions. In the first scene, representing a kitchen, the patient takes the shopping list and the wallet with money; in the second scene, they take the products from the supermarket shelf and put them in the cart; in the third scene, at the checkout, they put the products on the conveyor belt, pay, and exit the shop.