Capitolo 1
Introduzione
1.1 Contesto e motivazioni
La riabilitazione costituisce il terzo pilastro del sistema sanitario, accanto alla prevenzione
e alla cura, per il completamento delle attività volte a tutelare la salute dei cittadini.
La riabilitazione è un processo nel quale il paziente viene rieducato in modo che possa
raggiungere nuovamente una certa autonomia in seguito a traumi, patologie, o interventi
chirurgici. Le categorie dei pazienti trattati possono essere di tipo neurologico, ortopedi-
co, o ambulatoriale. A tutto ciò al giorno d’oggi si aggiungono le problematiche legate al
Covid-19. Esso può comportare conseguenze durature, rispetto alla gravità della malattia,
oltre a mettere in secondo piano altri problemi sanitari; inoltre, i pazienti post-coronavirus
potrebbero dover necessitare del trattamento riabilitativo, poichè il covid lascia anche delle
conseguenze a livello neurologico. Un recente articolo [Cieza et al., 2020] stima che 2.45
miliardi di persone (una ogni tre al mondo) potrebbero avere bisogno della riabilitazione
in un determinato momento, nel corso della loro vita; inoltre, i cambiamenti attuali di ca-
rattere demografico e sanitario potrebbero portare questi numeri a salire: ciò indica quindi
un’urgenza nell’attribuire priorità ai servizi di riabilitazione. Il riconoscimento precoce del
bisogno di riabilitazione e l’inizio di quest’ultima possono ridurre i costi sanitari e la du-
rata dell’ospitalizzazione, oltre a prevenire la disabilità [Stucki et al., 2005]. Da questo si
comprende quanto sia importante anche la realizzazione di una pianificazione efficiente del
processo di riabilitazione e che essa possa rispondere al verificarsi di eventi imprevisti, così
che i pazienti possano beneficiarne senza ritardi e nel modo più efficace.
I problemi a cui una struttura ospedaliera può andare incontro normalmente sono la man-
canza improvvisa di personale medico, o problematiche relative agli orari in cui è possibile
essere visitati per i pazienti. Per affrontare queste situazioni è necessario assegnare nuova-
mente i pazienti agli operatori, o modificare gli orari delle sedute all’interno dell’agenda
ospedaliera, tenendo conto di tutte le variabili e i vincoli in gioco. Attualmente questa serie
1
di operazioni viene eseguita spesso manualmente: se una pianificazione potesse far fronte a
questo tipo di eventi in modo automatico si assicurerebbe la soddisfazione, sia dei pazienti
che degli operatori sanitari, garantendo una migliore assistenza medica. Gli ospedali come
quelli gestiti da ICS Maugeri
1
, che trattano centinaia di pazienti con una squadra di solo
una decina di operatori sanitari, beneficerebbero nell’uso di questo tipo di ripianificazione.
Sarebbe inoltre utile ai coordinatori delle strutture uno strumento, quale un’applicazione
web, che permetta l’utilizzo della ripianificazione in modo semplice e automatico; tramite
una rappresentazione grafica, anche i meno esperti in campo informatico potrebbero fare
uso delle metodologie implementate.
Per concludere, anche se nella tecnologia può essere visto il rischio di una disumanizzazio-
ne delle cure e dei rapporti tra medico e paziente, essa può portare solo verso una migliore
sanità, se vengono considerate le realtà culturali attuali e vengono soddisfatti i nuovi biso-
gni dei pazienti [Meskó B, 2017]. Il nuovo fenomeno, conosciuto come digital health, ha
ormai modificato la pratica della medicina e le modalità con cui vengono forniti i servizi e
le cure: con il costante sviluppo tecnologico e i cambiamenti culturali in atto, questo feno-
meno è destinato solo a crescere. Un ulteriore impulso a tutto ciò potrà arrivare dal PNRR,
che attribuirà un cospicuo finanziamento a sanità e digitalizzazione.
1.2 Stato dell’arte
Il problema della ripianificazione in ambito medico è già stato affrontato con l’utilizzo
di diverse tecniche. Nella letteratura si possono trovare diversi esempi, come quello di
[Salbert, 2015] che ripianifica gli interventi chirurgici in modo che il tempo per eseguire i
restanti interventi sia minimizzato, tramite un’estensione dell’algoritmo del Longest Pro-
cessing Time (LPT) (tempo di processazione più lungo); un altro esempio è
[Clark and Walker, 2011] che utilizza una combinazione di somme pesate e programma-
zione obiettivo.
Altre soluzioni proposte utilizzano algoritmi euristici [Pato and Moz, 2008]
[Kitada and Morizawa, 2010], algoritmi paralleli [Zdenˇ ek et al., 2015] e sistemi immunita-
ri artificiali [Maenhout and Vanhoucke, 2013]. Nello specifico della riabilitazione ospeda-
liera è possibile trovare un esempio di pianificazione nel lavoro di [Schimmelpfeng et al., 2010]
che utilizza la programmazione lineare mista a interi (MILPs), ma non implementano nes-
sun tipo di ripianificazione.
È già presente, inoltre, una soluzione [Cardellini et al., 2021] per la pianificazione di ses-
sioni riabilitative che fa uso di tecniche di IA, ma non è ancora stata risolto il problema
della ripianificazione. Si può quindi vedere come non siano molte le soluzioni che imple-
mentano la ripianificazione e come l’utilizzo di tecniche moderne di Intelligenza Artificiale
1
https://www.icsmaugeri.it - ICS Maugeri gestisce Istituti Scientifici e Unità di Riabilitazione all’interno
di strutture sanitarie pubbliche e Centri di Ricerca e Prevenzione sul territorio nazionale.
2
sia limitato.
Se si passa alla ricerca di sistemi supportati anche da un’interfaccia grafica, un esempio è
[Huang et al., 2012], che ha sviluppato un sistema, equipaggiato da una GUI, che genera
una pianificazione ottima per i pazienti di riabilitazione, minimizzando i tempi di attesa.
Manca, però, nello stato dell’arte, un’applicazione web che implementi tecniche di IA per
risolvere questo tipo di problema.
Nel Capitolo 8 verrà approfondita l’analisi dello stato dell’arte.
1.3 Contributi della tesi
La tesi si pone l’obiettivo di risolvere il problema della ripianificazione delle sessioni di
riabilitazione, in modo da supportare la struttura ospedaliera tramite uno strumento che
possa fornire la soluzione in modo ottimo e automatico.
I principali punti affrontati nella tesi sono i seguenti:
• Per modellare il problema è stato deciso di utilizzare l’Answer Set Programming
(ASP) [Gelfond and Lifschitz, 1991, Brewka et al., 2011], una forma di programma-
zione logica di tipo dichiarativo, in grado di risolvere problemi di ricerca complessi.
La scelta di questo particolare linguaggio è dovuta alla sua capacità di risolvere pro-
blemi combinatori, che possono includere ottimizzazioni, tramite una rappresenta-
zione naturale e intuitiva della conoscenza ed efficaci strumenti di risoluzione, come
CLINGO [Gebser et al., 2016]. Inoltre i particolari costrutti del linguaggio facilitano
la modellizzazione dei problemi, permettendone l’utilizzo con applicazioni del mon-
do reale.
Prendendo come punto di partenza la pianificazione, è stato quindi realizzato un
modello ASP per la risoluzione del problema della ripianificazione.
• La soluzione è stata testata utilizzando dei dati reali provenienti da ICS Maugeri, in
particolare dagli istituti di Genova Nervi e Castel Goffredo. Sono stati presi in con-
siderazione diversi scenari, osservando il comportamento della soluzione al variare
di essi; è stato così possibile comprendere le capacità e i limiti del risultato ottenuto.
Vengono analizzati principalmente i tempi di esecuzione, che devono essere neces-
sariamente brevi, come è stato già anticipato, per poter provvedere immediatamente
ad eventuali imprevisti, disponendo immediatamente di una nuova agenda. Viene poi
studiata la qualità del risultato ottenuto, per comprendere come ha agito la soluzione
e se essa è conforme ai requisiti.
• Infine, per poter permettere ai coordinatori delle strutture ospedaliere di eseguire la
ripianificazione, è stata sviluppata un’applicazione web che grazie al suo facile utiliz-
zo permette anche agli utenti non esperti di sfruttare lo strumento. La soluzione ASP
3
e il risolutore del linguaggio, CLINGO, sono stati integrati in un’architettura No-
de.js, mentre è stata creata un’interfaccia grafica tramite Angular. I coordinatori sono
quindi in grado di inserire gli input per effettuare la ripianificazione e di visualizzare
graficamente, ed in modo intuitivo, la nuova organizzazione delle sessioni.
1.4 Struttura della tesi
Nel Capitolo 2 viene formalizzato e descritto nel dettaglio il problema che sarà affrontato
nel corso della tesi. Vengono descritte le carateristiche delle strutture ospedaliere su cui
deve essere modellata la soluzione e viene spiegato l’approccio che viene utilizzato per i
diversi scenari delineati.
Nel Capitolo 3 viene presentato il linguaggio ASP, utilizzato per sviluppare la soluzione.
Ne vengono studiate le principali caratteristiche, quali la sintassi e la semantica, con parti-
colare risalto ai costrutti che vengono usati in questa tesi.
Nel Capitolo 4 viene mostrata la codifica per eseguire la pianificazione standard, sul cui
output deve basarsi la ripianificazione.
Nel Capitolo 5 viene presentata la ripianificazione, con i suoi requisiti e i suoi vincoli, e
viene illustrata la codifica ASP realizzata per ottenere la soluzione.
Nel Capitolo 6 è presentata l’analisi delle soluzioni ottenute, mostrando i risultati al variare
degli scenari. Vengono analizzati i tempi di esecuzione, rispetto al variare dell’input, e la
qualità del risultato.
Nel Capitolo 7 viene presentata l’applicazione web sviluppata per supportare la soluzione
ASP realizzata. Vengono poi presentate nel dettaglio le sue principali componenti.
Nel Capitolo 8 vengono introdotti altri sistemi dello stato dell’arte e lavori correlati, con-
frontandoli con l’approccio usato in questa tesi.
Infine nel Capitolo 9 si giunge alle conclusioni e vengono fatte considerazioni sui possibili
lavori futuri.
4