Tecniche agili per la modellazione di processi e

TECNICHE AGILI PER LA MODELLAZIONE DI PROCESSI E REGOLE IN AMBITO CLINICO
Roberto Di Bernardo1,4, Giovanni Aiello1, Martino Maggio1, Michele Bava2, Stefano Bonacina3,4
1
Engineering Ingegneria Informatica S.p.A. - Laboratorio di Ricerca e Sviluppo
2
3
IRCCS “Burlo Garofolo” - Ufficio Sistema Informativo
Politecnico di Milano - Dipartimento di Elettronica, Informazione e Bioingegneria
4
Università degli Studi di Trieste - Master in Ingegneria Clinica
SOMMARIO
Personale NON ICT
I nuovi sistemi “process-aware” offrono l’adeguato livello di flessibilità ed efficienza richiesti nella
gestione ICT di procedure e pratiche proprie dei processi clinici, andando incontro alle esigenze
di una gestione sanitaria che necessita di essere dinamica, adattabile e attenta al contenimento
dei costi.
In quest’ottica risulta necessario ottimizzare anche il modo in cui avviene lo scambio di
informazioni tra personale NON ICT, con approfondita conoscenza di dominio, e personale ICT,
con elevate competenze tecnologiche.
Il lavoro propone:
•Metodi e tecniche a supporto del personale NON ICT per il disegno dei processi clinici
(attraverso standard Business Process Modeling Notation – BPMN) e per la definizione di regole
di business in linguaggio naturale (attraverso standard Semantics of Business Vocabulary
and Business Rules – SBVR)
•Strumenti a supporto del personale ICT per l’esecuzione di processi BPMN e la generazione
automatica di regole eseguibili (Drools) a partire dalle regole SBVR
• RichiestaNON
un’approfondita
conoscenza
Personale
ICT
del dominio applicativo e nella relativa
•Richiesta
un'approfondita conoscenza
modellazione
dominio
applicativo
e nellaconoscenze
relativa
•del
Non
richieste
approfondite
modellazione
ICT e di sviluppo software
•N o n r i c h i e s t e a p p r o f o n d i t e
Es. clinici, ingegneri clinici
conoscenze ICT e di sviluppo software
Es. clinici, ingengeri
clinici
Personale
ICT
• Richiesta
Personale
ICTun’approfondita conoscenza
delle tecnologie ICT e di sviluppo software
•Richiesta un'approfondita conoscenza
• Non richiesta approfondita conoscenza
delle tecnologie ICT e di sviluppo
di dominio e dei relativi metodi di
software
modellazione
•n o n r i c h i e s t a a p p r o f o n d i t a
Es. personale
tecnico eICT
conoscenza
di dominio
dei relativi
metodi di modellazione
Es. personale tecnico ICT
SCENARIO / PROBLEMA
UML, Flowchart,...
Modellazione
di processo
Testo descrittivo regole
OUTPUT
Espressione
vincoli di
processo
? ?
?
NON
ESEGUIBILI
Possibili
errori interpretativi
Implementazione
Attività di debug
Alta probabilità di errori
funzionali
Possibile numero elevato
di iterazioni correttive
Processo e regole
implementati
SOLUZIONE PROPOSTA
Modellazione
di processo
OUTPUT
Espressione
vincoli di
processo
BPMN
Generazione automatica
SBVR
Artefatti
SW
Drools
+
jBPM
ESEGUIBILI
Integrazione
Attività di debug
Bassa probabilità di errori
funzionali
Basso numero
di iterazioni correttive
Workflow engine
Rule engine
CASO DI STUDIO
BPMN + SBVR
RM IN URGENZA
It is necessary that Sintomi has ipertensione_endocranica and Sintomi has
cefalea and Sintomi has sintomi_cerebellari and Sintomi has
disfunzione_ingravescente_nervi_cranici
[NEG]
Esegui TAC
Immediata
VALUTA
ESITO
VALUTA
ESITO
[POS]
rule “Esecuzione TAC con MDC”
when
p: Paziente( )
eval(p.esitoTac == “NEG” )
then
p.eseguiTAC_MDC();
modify(p);
[POS]
[NEG]
Esegui TAC con MDC
Sintomi
paziente
poster-70x100-v4c.indd 1
It is necessary that tac has esito
and esito is "NEG"
Esegui RM entro 24
ore
FINE
It is necessary that tac has esito and
esito is "POS" or tac_mdc has esito
and esito is "NEG"
rule “Esecuzione TAC”
when
p: Paziente( )
eval(p.getSintomi(“ipertensione_endocranica”) &&
p.getSintomi(“cefalea”) &&
p.getSintomi(“sintomi_cerebellari”) &&
p.getSintomi(“disfunzione_ingravescente_nervi_cranici”))
then
p.eseguiTAC();
modify(p);
rule “Esecuzione RM”
when
p: Paziente( )
eval(p.esitoTac ==“POS” || p.esitoTac_MDC == “NEG”)
then
p.eseguiRM();
modify(p);
Drools rules
02/04/14 18:42