TheMatrix Il software - ars.toscana.it · Il progetto MATRICE Infrastruttura distribuita...

56
TheMatrix – Il software Rosa Gini Agenzia regionale di sanit` a della Toscana

Transcript of TheMatrix Il software - ars.toscana.it · Il progetto MATRICE Infrastruttura distribuita...

TheMatrix – Il software

Rosa Gini

Agenzia regionale di sanita della Toscana

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

Partner

Agenzia nazionale per i servizi sanitari regionali (AgeNaS)

5 Regioni: Lombardia, Veneto, Emilia Romagna, Toscana,Puglia

Ministero della Salute

Agenzia regionale di sanita della Toscana

Istituto di scienze e tecnologie dell’informazione del CNR

Societa italiana di medicina generale

Dipartimento di Informatica Medica dell’Universita Erasmus diRotterdam

Dipartimento di Informatica dell’Universita degli studi diMilano

Obiettivi generali

dal documento di progetto

. . . condividere basi informative comuni per arrivare ad un sistema chelegga trasversalmente i sistemi sanitari regionali . . .

. . . utilizzare unicamente flussi informativi gia esistenti, per poterosservare la gestione delle patologie complesse nelle diverse Regioni e

Province Autonome, sulla base di dati la cui validita a condivisa con esse,attraverso operazioni di trasformazione del dato la cui validita verra

stabilita sulla base di rigorosi criteri scientifici. . .

. . . dotare i vari livelli istituzionali di una base conoscitiva condivisa chesupporti la governance delle cure territoriali . . .

Obiettivi generali

dal documento di progetto

. . . condividere basi informative comuni per arrivare ad un sistema chelegga trasversalmente i sistemi sanitari regionali . . .

. . . utilizzare unicamente flussi informativi gia esistenti, per poterosservare la gestione delle patologie complesse nelle diverse Regioni e

Province Autonome, sulla base di dati la cui validita a condivisa con esse,attraverso operazioni di trasformazione del dato la cui validita verra

stabilita sulla base di rigorosi criteri scientifici. . .

. . . dotare i vari livelli istituzionali di una base conoscitiva condivisa chesupporti la governance delle cure territoriali . . .

Obiettivi generali

dal documento di progetto

. . . condividere basi informative comuni per arrivare ad un sistema chelegga trasversalmente i sistemi sanitari regionali . . .

. . . utilizzare unicamente flussi informativi gia esistenti, per poterosservare la gestione delle patologie complesse nelle diverse Regioni e

Province Autonome, sulla base di dati la cui validita a condivisa con esse,attraverso operazioni di trasformazione del dato la cui validita verra

stabilita sulla base di rigorosi criteri scientifici. . .

. . . dotare i vari livelli istituzionali di una base conoscitiva condivisa chesupporti la governance delle cure territoriali . . .

Obiettivi specifici

dal documento di progetto

Il progetto prevede il disegno, la sperimentazione, la validazione el’applicazione ad alcuni casi di studio di un software open source di

aggregazione e di integrazione dei dati dei flussi sanitari nazionali. . .

Obiettivi specifici

dal documento di progetto

Il progetto prevede il disegno, la sperimentazione, la validazione el’applicazione ad alcuni casi di studio di un software open source di

aggregazione e di integrazione dei dati dei flussi sanitari nazionali. . .

TheM

atrix

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

Dati tasformati localmente

dati localiModello didati IAD

ID SOGGETTOSESSOANNO NASCITAVARIABILE X. . .ESPOSIZIONEEVENTO

esecuzione script di TheMatrix

mapping

Invio al punto centrale

SESSOANNO NASCITAVARIABILE X. . .ESPOSIZIONEEVENTO

dati locali

dati locali

dati locali

dati locali

dati locali

Invio al punto centrale

SESSOANNO NASCITAVARIABILE X. . .ESPOSIZIONEEVENTO

dati locali

dati locali

dati locali

dati locali

dati locali

Dataset piccoli:selezionati,

anonimi, aggregati

Algoritmi

TheMatrix puo applicare ai datilocali degli algoritmi che creano

variabili derivate

Algoritmi

TheMatrix puo applicare ai datilocali degli algoritmi che creano

variabili derivate Per esempio: un diabetico e unsoggetto che ha un’esenzione per

diabete OR un ricovero per diabeteOR una prescrizione di un farmaco

antidiabetico

Algoritmi

TheMatrix puo applicare ai datilocali degli algoritmi che creano

variabili derivate Per esempio: un diabetico e unsoggetto che ha un’esenzione per

diabete OR un ricovero per diabeteOR una prescrizione di un farmaco

antidiabetico

Validazione!

Algoritmi

TheMatrix puo applicare ai datilocali degli algoritmi che creano

variabili derivate Per esempio: un diabetico e unsoggetto che ha un’esenzione per

diabete OR un ricovero per diabeteOR una prescrizione di un farmaco

antidiabetico

Validazione!

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

Caratteristiche

Open source TheMatrix e un software open source sviluppatodall’Istituto di scienze e tecnologie dell’informazione(ISTI) del CNR, con il supporto del Dipartimento diInformatica dell’Universita degli studi di Milano

Architettura Si installa presso una istituzione che possiede flussisanitari in cui l’identificativo personale e comune tra iflussi (una ASL, una Regione, un’Agenzia)

Programmazione flessibile E dotato di un linguaggio diprogrammazione sviluppato ad hoc, che consente dicollegare, filtrare, trasformare, aggregare di dati

Accesso ai dati Accede ai dati dei flussi sanitari esportati informato csv in formato IAD oppure custoditi inMySQL o in Oracle

Altri dati in input Accede inoltre a file csv con un qualsiasitracciato record

Requisiti

Sistema operativo Windows, Unix, Mac OS (Java 1.6 o superiore)

Processore e RAM TheMatrix puo funzionare su macchine concaratteristiche relativamente basse, ma i tempi diesecuzione si allungano, specialmente se il numero diassistiti e molto alto

Spazio disco Lo spazio disco necessario a eseguire uno scriptcomplesso e circa 100GB ogni 500mila assistiti.

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

Databaserelazionale

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

Osservazioni condata

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

Contenuto codificatocon sistemi di codificanazionali/internazionali

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

Anagrafe

Caratteristichedell’individuo,

storicizzate

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

Ricoveri ospedalieri

Con diagnosi eprocedure

Codifica ICD9CM (WHO)

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

AmbulatorioVisite

specialistiche,esami diagnostici,

procedureambulatoriali

Codifica nazionale/locale

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

EsenzioniEsenzioni ticketspecifiche per

patologia

Codifica nazionale

IAD

PERSONPERSON ID

GENDER CONCEPT IDDATE OF BIRTH

STARTDATEENDDATE

GP ID

HOSPPERSON ID

START DATEEND DATE

PROCEDURE DATE 1-6MAIN DIAGNOSIS

SECONDARY DIAGNOSIS 1-5PROCEDURE CODE 1-6

EXEPERSON ID

EXE START DATEEXEMPTION CODE

DRUGSPERSON ID

DRUG DISPENSING DATEATC

DURATION

DDRUGPERSON ID

DRUG DISPENSING DATEATC

DURATION

OUTPATPERSON ID

PROC START DATEPROC CODE

GROUP CODE

Farmaci territorio

Farmaci acquistatiin farmacie non

ospedaliere

Farmaci direttiFarmaci erogati in

farmacieospedaliere, al di

fuori di unricovero Codifica ATC (WHO)

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

Tipi di dato

stringa contiene una stringa di caratteri alfanumericicircondata da virgolette, per esempio ”C0ju 9ik”

intero contiene un numero intero positivo, per esempio5890443

float contiene un numero decimale, con il punto comeseparatore, per esempio 87.907

boolean contiene la dichiarazione di vero oppure di falso: veroe registrato con la stringa true e falso e registratocon la stringa false

date contiene una data, nel formato YYYY-MM-DD, peresempio 2010-05-31

Esempio

Codice,Quantita,Prezzo,Data,Disponibile

C01,98,69.90,2012-02-22,true

C02,5,6.10,2012-02-22,false

declareSchema schemaEsempio = [ {Codice : string} ; {Quantita: int} ; {Prezzo: float} ;

{Data: date} ; {Disponibile: boolean} ]

Script

Le procedure che eseguono letrasformazioni di dati sono

contenute in file di testo chiamatiscript

Script

Le procedure che eseguono letrasformazioni di dati sono

contenute in file di testo chiamatiscript

Uno script e una sequenza dimoduli, ciascuno dei quali ha un ben

definito input e output

Script

Le procedure che eseguono letrasformazioni di dati sono

contenute in file di testo chiamatiscript

Uno script e una sequenza dimoduli, ciascuno dei quali ha un ben

definito input e output

L’output e anch’esso in formato csv

Script

Le procedure che eseguono letrasformazioni di dati sono

contenute in file di testo chiamatiscript

Uno script e una sequenza dimoduli, ciascuno dei quali ha un ben

definito input e output

L’output e anch’esso in formato csvDettaglio: i csv di input devonoessere validati prima di poter essereusati, la validazione e registrata in

un filecon lo stesso nome conl’estensione xml

Struttura di un modulo

OutputDataset (ModuleName)

input

custom = InputDataset

parameters

parameter1 = parvalue

parameter2 = parvalue

end

Struttura di un modulo

OutputDataset (ModuleName)

input

custom = InputDataset

parameters

parameter1 = parvalue

parameter2 = parvalue

end

Nome del datasetdi output

Struttura di un modulo

OutputDataset (ModuleName)

input

custom = InputDataset

parameters

parameter1 = parvalue

parameter2 = parvalue

end

Nome del modulo

Struttura di un modulo

OutputDataset (ModuleName)

input

custom = InputDataset

parameters

parameter1 = parvalue

parameter2 = parvalue

end

descrizione del/deidataset di input

Struttura di un modulo

OutputDataset (ModuleName)

input

custom = InputDataset

parameters

parameter1 = parvalue

parameter2 = parvalue

end

parametri delmodulo

Moduli per l’input

FileInputModule da un file csv

ScriptInputModule dall’output di uno script precedente

Moduli di integrazione

MergeModule record linkage deterministico uno-a-molti

ProductModule record linkage deterministico molti-a-molti,condizionata

Moduli di creazione e modifica colonne

ExtendDataModule crea una nuova colonna con un valore didefault

ApplyFunction modifica una colonna con l’uso di funzioni

Moduli di filtro e aggregazione

FilterModule conserva sole le righe le cui celle soddisfano unacondizione logica

AggregateModule aggrega per le combinazioni di un in sieme dicolonne, calcolando misure di sintesi (conteggio,somma, media, minimo. . . ) su altre

Moduli di servizio

SortModule ordinamento delle righe

DropModule cancellazione colonne

RenameModule modifica del nome delle colonne

Modulo di output

FileOutputModule trascrive su hard disk un dataset in formato csv

// C a r i c a f i l e c o n t e n e n t e l ’ i n d i c e d i d e p r i v a z i o n edec la reSchema schemaDepr iv = [{ ID SOGGETTO : s t r i n g } ; { i n d i c e d e p r i v a z i o n e : i n t } ]D e p r i v ( F i l e I n p u t M o d u l e )p a r a m e t e r si n p u t F i l e N a m e = DEPRIVAZIONE . c s vinputSchema = schemaDepr ivend// I n p u t d a l l o s c r i p t p r e c e d e n t es o r t e d C o h o r t ( S c r i p t I n p u t M o d u l e )p a r a m e t e r ss c r i p t F i l e n a m e = C O R S O p o p o l a z i o n e 1 p a t o l o g i e . t x tinputName = C O R S O P o p o l a z i o n e 1 p a t o l o g i eexpectedSchema = customend// Ordina i l f i l e D e p r i vs o r t e d D e p r i v ( SortModule )i n p u t sschemaDepr iv = D e p r i vp a r a m e t e r sf i e l d N a m e s = [ ID SOGGETTO ]end// U n i s c e i l f i l e d e l l ’ i n d i c e d i d e p r i v a z i o n e e q u e l l o d e l l o s c r i p t p r e c e d e n t eMerge ( MergeModule )i n p u t scustom = s o r t e d C o h o r tschemaDepr iv = s o r t e d D e p r i vp a r a m e t e r spr imaryKey = [ ID SOGGETTO ]f i e l d N a m e s = [ ID SOGGETTO ]end// OutputC O R S O P o p o l a z i o n e 2 i n d i c e d e p r i v a z i o n e ( F i l eOutputModu le )i n p u t scustom = Mergep a r a m e t e r schecksum = nonec o m p r e s s i o n = noneend

Indice

Il progetto MATRICE

Infrastruttura distribuita

Caratteristiche e requisiti

Modello di dati IAD

Il linguaggio di programmazione

Riepilogando

Riepilogando

Il progetto MATRICE dell’AgeNasha sviluppato il software open source

TheMatrix

Riepilogando

Il progetto MATRICE dell’AgeNasha sviluppato il software open source

TheMatrix

TheMatrix realizza un’architetturadistribuita

Riepilogando

Il progetto MATRICE dell’AgeNasha sviluppato il software open source

TheMatrix

TheMatrix realizza un’architetturadistribuita

Si installa localmente e legge flussi infromativi o altri filedi dati

Riepilogando

Il progetto MATRICE dell’AgeNasha sviluppato il software open source

TheMatrix

TheMatrix realizza un’architetturadistribuita

Si installa localmente e legge flussi infromativi o altri filedi dati

Il linguaggio di script implementasemplici trasformazioni di dati

Riepilogando

Il progetto MATRICE dell’AgeNasha sviluppato il software open source

TheMatrix

TheMatrix realizza un’architetturadistribuita

Si installa localmente e legge flussi infromativi o altri filedi dati

Il linguaggio di script implementasemplici trasformazioni di dati

Approfondimenti:https://github.com/hpclab/TheMatrixProject-doc

Grazie per l’attenzione!