## 2 The Health360 Framework
### The Health360 Architecture  
The Health360 application was built based on two levels: a \"front-end\", which is also used to implement the user interface (UI), aggregating data obtained by the distributed \"back-end\" (Figure 1). The framework was developed aimed at obtaining a modular, distributed architecture, featuring a back-end composed of several modules, eventually distributed within a network, able to communicate with each other and share data. Therefore, the concept is to pick up data at the source and to aggregate them \"on-demand\". Thus, data sources are authoritative for particular data, since they generate the data themselves,to limit the data duplication within a central repository, with a consequent synchronization and related incongruence risk. The network becomes part of the database, whereas the data aggregation is managed by the application.  
Under such premises, the system architecture was built under the REST paradigm, using the HTTP protocol, according to the API-first approach, firstly allowing the design and the development of the Application Program Interface (API) as the application back-end and, just after the remaining parts, the front-end is developed [11].  
The advantage for such an approach relies on the fact that, on a single back-end, it is possible to build up several front-ends for different devices (e.g., a web-app, a mobile app, and eventually a tablet-based mobile app).  
Concerning data storage, in order to have a flexible tool for the attributes managed, NoSQL databases are used, including MongoDB and Redis, allowing higher flexibility in creating and managing data structures, and ensuring high performances using alternative data models with respect to the typical relational model [12].  
Being conceived as a Software-as-a-Service, the application relies on an infrastructure capable of managing it through virtual machines and containers, making it a cloud-native application, with several advantages. To create the application, PHP was used, being particularly useful to develop web-apps, with the Symfony framework, according to the Model-View-Controller (MVC) pattern, commonly adopted in object-oriented programming languages [13; 14].  
The back-end is made up of a \"core\" module, capable of managing the personal data of an individual, their anamnesis and risk factors, the contact sessions with the organization and the examinations, even though future adjustments in this regard are still possible to further enhance privacy and security of data. Other data sources (RIS-PACS, screening archives, informative systems for laboratory medicine, etc.) are seen as further back-ends, eventually available depending on the use case. Then, the front-end will retrieve the information from the different back-ends and aggregate them in real-time. The application user interface was developed to be responsive, so to adapt to the screen size of the device used (a PC or a tablet). This characteristic is particularly useful to offer the best user  
Figure 1: Basic architectural overview of a sample scenario for Health360.  
experience regardless of the tool employed, that could be eventually different depending on the use scenario.