The aim of this thesis is to illustrate my contribution to the CAPABLE project (CAncer PAtients Better Life Experience) which is part of the Horizon 2020 Framework Program of the European Union, in which the University of Pavia participates as coordinator, in collaboration with other research institutions of international level. The general objective of CAPABLE is to combine the most advanced Artificial Intelligence and Data Mining technologies in order to develop a home monitoring system and personalized assistance to improve the quality of life of cancer patients. My thesis activity concerned in particular the design and development of the component called Case Manager. CAPABLE involves the creation of a modular distributed system consisting of a series of independent components, each of which contains specific skills for the management of cancer patients. The entire system provides a coordination strategy based on the Blackboard model. The Case Manager is the central element necessary to coordinate the other components and guide the reasoning process through the generation of events (in terms of a combination of clinical observations and facts about the patient in which the different components are interested). The components of CAPABLE, in fact, can interact with each other only through the Data Platform, a shared database seen as a blackboard where all information is published by a component and subsequently read by any other interested one. The Case Manager is therefore responsible for detecting the occurrence of such events as soon as they appear in the Data Platform, so that the affected component can be promptly notified. Within CAPABLE, we decided to use the FHIR (Fast Healthcare Interoperability Resources) standard published by HL7 (Health Level Seven) to ensure semantic interoperability and standardize the representation of clinical data exchanged in the system. A fundamental part of my thesis work therefore consisted in collaborating with the different partners of the project to decide how to represent the information managed by CAPABLE according to the FHIR specification. Subsequently, to allow the components to communicate their events of interest to the Case Manager, it was necessary to define a shared language with which to express the conditions for activating the events. Also in this case, the use of FHIR was decisive in the development of this syntax. Once this syntax has been defined, we have selected the tools with which to make the Case Manager and the other components of CAPABLE interact. The tool chosen to allow the Case Manager to query the Data Platform and be notified when new data is added is the HAPI FHIR open source library. In this regard, I mainly dealt with implementing in Java the methods that exploit this library to perform search queries on new incoming data and process them to check if they satisfy the conditions for triggering the monitored events. As regards the management of events, however, we decided to adopt the REST protocol to allow the communication between the components and the Case Manager. In particular, the components must interact with the Case Manager through REST requests both to communicate the events to be monitored and to check the availability of new events by carrying out a periodic polling. Furthermore, to mitigate the synchronicity associated with polling and to give the Case Manager the possibility to transmit the events as soon as they are generated, the long polling technique was implemented at a later time in order to simulate an asynchronous notification.
L'intento di questa tesi è illustrare il mio contributo al progetto CAPABLE (CAncer PAtients Better Life Experience) che si colloca nell’ambito del Programma Quadro Horizon 2020 dell’Unione Europea, a cui partecipa l’Università degli Studi di Pavia in qualità di coordinatore, in collaborazione con altre istituzioni di ricerca di livello internazionale. L’obiettivo generale di CAPABLE consiste nel combinare le più avanzate tecnologie di Intelligenza Artificiale e Data Mining al fine di sviluppare un sistema di monitoraggio domiciliare e assistenza personalizzata per migliorare la qualità della vita dei pazienti oncologici. La mia attività di tesi ha riguardato in particolare la progettazione e lo sviluppo del componente denominato Case Manager. CAPABLE prevede la realizzazione di un sistema distribuito modulare costituito da una serie di componenti indipendenti, ciascuno dei quali racchiude specifiche competenze per la gestione dei malati di cancro. L'intero sistema prevede una strategia di coordinamento basata sul modello Blackboard. Il Case Manager è l'elemento centrale necessario per coordinare gli altri componenti e guidare il processo di ragionamento attraverso la generazione di eventi (intesi come combinazioni di osservazioni cliniche e fatti riguardanti il paziente a cui i diversi componenti sono interessati). I componenti di CAPABLE, infatti, possono interagire tra loro solo attraverso la Data Platform, un database condiviso visto come una blackboard dove ogni informazione viene pubblicata da un componente e successivamente letta da qualsiasi altro interessato. Il Case Manager è quindi responsabile di rilevare il verificarsi di tali eventi non appena compaiono nella Data Platform, in modo tale che il componente interessato possa essere tempestivamente avvisato. All'interno di CAPABLE, si è scelto di utilizzare lo standard FHIR (Fast Healthcare Interoperability Resources) pubblicato da HL7 (Health Level Seven) per garantire interoperabilità semantica e uniformare la rappresentazione dei dati clinici scambiati nel sistema. Una parte fondamentale del mio lavoro di tesi è consistita dunque nel confrontarmi e collaborare con i vari partner del progetto per decidere come rappresentare le informazioni gestite da CAPABLE attenendosi alla specifica FHIR. Successivamente, per consentire ai componenti di comunicare i propri eventi di interesse al Case Manager, è stato necessario definire un linguaggio condiviso con cui esprimere le condizioni di attivazione degli eventi. Anche in questo caso, l'utilizzo di FHIR è stato decisivo nell’elaborazione di tale sintassi. Una volta definita questa sintassi, sono stati selezionati gli strumenti con cui far interagire il Case Manager e gli altri componenti di CAPABLE. Lo strumento scelto per permettere al Case Manager di interrogare la Data Platform ed essere notificato quando vengono aggiunti nuovi dati è la libreria open source HAPI FHIR. A tal proposito, mi sono occupata principalmente di implementare in Java i metodi che sfruttano tale libreria per effettuare query di ricerca sui nuovi dati in arrivo e processarli per verificare se soddisfano le condizioni di attivazione degli eventi monitorati. Per quanto riguarda la gestione degli eventi, invece, si è deciso di adottare il protocollo REST per consentire la comunicazione dei vari componenti con il Case Manager. In particolare, i componenti devono interagire con il Case Manager tramite richieste REST sia per comunicargli gli eventi da monitorare, sia per controllare la disponibilità di nuovi eventi effettuando un polling periodico. Inoltre, per mitigare la sincronicità connessa con il polling e dare la possibilità al Case Manager di trasmettere gli eventi non appena vengono generati, è stata implementata in un secondo momento la tecnica di long polling allo scopo di simulare una notifica asincrona.
Progettazione e sviluppo del Case Manager nell'ambito del progetto CAPABLE
POLCE, FRANCESCA
2019/2020
Abstract
The aim of this thesis is to illustrate my contribution to the CAPABLE project (CAncer PAtients Better Life Experience) which is part of the Horizon 2020 Framework Program of the European Union, in which the University of Pavia participates as coordinator, in collaboration with other research institutions of international level. The general objective of CAPABLE is to combine the most advanced Artificial Intelligence and Data Mining technologies in order to develop a home monitoring system and personalized assistance to improve the quality of life of cancer patients. My thesis activity concerned in particular the design and development of the component called Case Manager. CAPABLE involves the creation of a modular distributed system consisting of a series of independent components, each of which contains specific skills for the management of cancer patients. The entire system provides a coordination strategy based on the Blackboard model. The Case Manager is the central element necessary to coordinate the other components and guide the reasoning process through the generation of events (in terms of a combination of clinical observations and facts about the patient in which the different components are interested). The components of CAPABLE, in fact, can interact with each other only through the Data Platform, a shared database seen as a blackboard where all information is published by a component and subsequently read by any other interested one. The Case Manager is therefore responsible for detecting the occurrence of such events as soon as they appear in the Data Platform, so that the affected component can be promptly notified. Within CAPABLE, we decided to use the FHIR (Fast Healthcare Interoperability Resources) standard published by HL7 (Health Level Seven) to ensure semantic interoperability and standardize the representation of clinical data exchanged in the system. A fundamental part of my thesis work therefore consisted in collaborating with the different partners of the project to decide how to represent the information managed by CAPABLE according to the FHIR specification. Subsequently, to allow the components to communicate their events of interest to the Case Manager, it was necessary to define a shared language with which to express the conditions for activating the events. Also in this case, the use of FHIR was decisive in the development of this syntax. Once this syntax has been defined, we have selected the tools with which to make the Case Manager and the other components of CAPABLE interact. The tool chosen to allow the Case Manager to query the Data Platform and be notified when new data is added is the HAPI FHIR open source library. In this regard, I mainly dealt with implementing in Java the methods that exploit this library to perform search queries on new incoming data and process them to check if they satisfy the conditions for triggering the monitored events. As regards the management of events, however, we decided to adopt the REST protocol to allow the communication between the components and the Case Manager. In particular, the components must interact with the Case Manager through REST requests both to communicate the events to be monitored and to check the availability of new events by carrying out a periodic polling. Furthermore, to mitigate the synchronicity associated with polling and to give the Case Manager the possibility to transmit the events as soon as they are generated, the long polling technique was implemented at a later time in order to simulate an asynchronous notification.È consentito all'utente scaricare e condividere i documenti disponibili a testo pieno in UNITESI UNIPV nel rispetto della licenza Creative Commons del tipo CC BY NC ND.
Per maggiori informazioni e per verifiche sull'eventuale disponibilità del file scrivere a: unitesi@unipv.it.
https://hdl.handle.net/20.500.14239/12592