Comments
Description
Transcript
Web Application per Registri Tumori
MARTA Web Application per Registri Tumori IDEATO E SVILUPPATO DA D’ANGELO ANTONIO Sommario MARTA | 1/27/2015 QUESTO DOCUMENTO ........................................................................................................ 2 COSA È MARTA ................................................................................................................ 2 REGISTRO TUMORI ........................................................................................................... 2 COSA SONO ? ............................................................................................................... 2 LE INFORMAZIONI RACCOLTE ........................................................................................... 2 REGISTRI DI POPOLAZIONE E REGISTRI SPECIALIZZATI ............................................................... 3 I FLUSSI INFORMATIVI ......................................................................................................... 3 DA DOVE PROVENGONO LE INFORMAZIONI RACCOLTE DAI REGISTRI TUMORI? ................................. 3 SCHEDE DI DIMISSIONE OSPEDALIERA (SDO) ...................................................................... 3 ARCHIVI DI ANATOMIA E CITOLOGIA PATOLOGICA ............................................................... 3 CARTELLE CLINICHE ................................................................................................... 3 CERTIFICATI DI MORTE ................................................................................................ 4 SONO FONTI DI BUONA QUALITÀ .................................................................................... 4 MARTA ED IL SUO RUOLO NEI REGISTRI TUMORI .......................................................................... 4 FLUSSI ....................................................................................................................... 4 QUANTITÀ DEI FLUSSI..................................................................................................... 4 ERRORI ERRORI ERRORI ................................................................................................. 5 MARTA E GLI ALGORITMI DI RICERCA .............................................................................. 5 SVILUPPO..................................................................................................................... 6 DATABASE................................................................................................................... 6 GESTIONE UTENTI .......................................................................................................... 6 ATTIVITÀ DEGLI UTENTI ................................................................................................ 6 WIZARD IMPORTAZIONE DATI ............................................................................................ 6 INDICATORI AIRTUM ....................................................................................................... 7 CALCOLO PRE-INCIDENZA ................................................................................................. 7 RICERCA ..................................................................................................................... 8 INSERIMENTO CASO........................................................................................................ 8 CARTELLE CLINICHE ....................................................................................................... 10 UFFICIO..................................................................................................................... 11 EXPORT ..................................................................................................................... 11 GEO LOCALIZZAZIONE..................................................................................................... 11 IL FUTURO DI MARTA ........................................................................................................ 12 CONCLUSIONE ............................................................................................................... 12 1 MARTA Web Application per Registri Tumori Questo Documento Questo documento (scusate la ripetizione) ha il solo scopo di dare un infarinatura di base su quello che è un registro tumori e di quello che sarà il compito di Marta Cosa è Marta Marta è un applicazione web scritta in PHP e fa uso di database MySQL. La scelta tecnologica non è casuale, infatti questi 2 linguaggi e tecnologie permettono una perfetta combinazione tra Scalabilità, Performance e facilità di modifica. Registro Tumori Cosa sono ? I Registri tumori sono strutture impegnate nella raccolta di informazioni sui malati di cancro residenti in un determinato territorio. Sono necessari perché in nessuna struttura ospedaliera italiana, pubblica o privata, c'è l'obbligo di archiviare i dati relativi alla diagnosi e alla cura dei tumori. Se si vuole sorvegliare l'andamento della patologia oncologica occorre quindi che qualcuno si assuma il compito di andare a ricercare attivamente le informazioni, le codifichi, le archivi e le renda disponibili per studi e ricerche. I registri tumori italiani si sono assunti questo compito. Questi dati sono essenziali per la ricerca sulle cause del cancro, per la valutazione dei trattamenti più efficaci, per la progettazione di interventi di prevenzione e per la programmazione delle spese sanitarie. MARTA | 1/27/2015 Le Informazioni Raccolte Le informazioni raccolte includono il tipo di cancro diagnosticato, il nome, l’indirizzo, l’età e il sesso del malato, le condizioni cliniche in cui si trova, i trattamenti che ha ricevuto e sta ricevendo e l'evoluzione della malattia. 2 Registri di popolazione e Registri specializzati La maggior parte dei registri italiani sono registri di popolazione ovvero raccolgono i dati relativi alle malattie tumorali di tutti i residenti di un determinato territorio (può essere una singola città o un'intera regione, una provincia o il territorio di una ASL). L'importanza di legare la raccolta di dati alla residenza sta nel fatto che in questo modo la casistica raccolta non sarà selezionata, ma rifletterà la reale condizione di un territorio dove sono presenti tutte le fasce di età, tutti gli strati sociali, ecc. I registri specializzati, invece, raccolgono informazioni su un singolo tipo di tumore(per esempio il colon-retto, la mammella, ecc) oppure su specifiche fasce di età (tumori infantili da 0-14 anni, oppure degli adolescenti, da 15-19 anni). I Flussi informativi Da dove provengono le informazioni raccolte dai Registri tumori? I Registri tumori raccolgono informazioni sia dalle aziende ospedaliere sia dai medici di famiglia, sia dalle ASL, sia dalle Regioni o dalle loro Agenzie sanitarie. Le fonti principali sono le seguenti: Schede di Dimissione Ospedaliera (Sdo) Raccolgono in sintesi le informazioni principali su ciascun ricovero di un paziente. Il vantaggio di questa fonte è legato alla disponibilità di queste informazioni per qualsiasi ricovero in strutture pubbliche o private effettuato su tutto il territorio italiano. La loro documentazione è quasi sempre disponibile su supporto magnetico. MARTA | 1/27/2015 Archivi di anatomia e citologia patologica Questi archivi garantiscono il più alto livello di precisione della diagnostica del singolo caso secondo regole codificate a livello internazionale. Mediamente, in Italia, oltre l’80% dei casi è corredato da conferma isto-patologica (morfologica e comportamento del tumore). La crescente disponibilità di archivi informatizzati ha consentito non solo una più veloce consultazione dei dati, ma anche una maggiore acquisizione di elementi caratterizzanti la neoplasia (morfologia del tumore, assetto biologico, grading, stadiazione). 3 Cartelle cliniche Le cartelle cliniche hanno un ruolo di precisazione e integrazione delle informazioni sui casi che spesso la gestione automatica non riesce a garantire. In genere sono consultate presso le Azienda Ospedaliere, più raramente presso i medici curanti. Certificati di morte Rappresentano storicamente una delle fonti principali della registrazione dei tumori. Sono acquisibili tramite il flusso delle schede di morte ASL/ISTAT che contengono l’indicazione della causa di morte. Tale fonte risulta essenziale per recuperare casi precedentemente sfuggiti alla rilevazione d’incidenza. Sono fonti di buona qualità La disponibilità di queste fonti, spesso informatizzate e ricche d’informazioni, ha permesso alla maggior parte dei Registri tumori italiani di raccogliere oltre ai dati anagrafici di base (sesso, età, data e luogo nascita, residenza) e alle caratteristiche del singolo tumore (sede, morfologia e comportamento) molte altre informazioni utili sia per il clinico, sia per l’epidemiologo. Infatti, molti Registri tumori raccolgono informazioni su: stadio tumorale, grading, marker, stato recettoriale, indicatori biologici, tipo di intervento e trattamenti effettuati. Per molti tumori inoltre vi è la disponibilità dello stato di screening (mammella, cervice e più recentemente colon-retto), utile per effettuare valutazioni d’efficacia degli screening oncologici. Marta ed il suo Ruolo nei Registri Tumori Marta è nata semplicemente da un esigenza lavorativa che man mano è cresciuta sempre di più. All’inizio non faceva altro che aiutare i codificatori del registro a reperire le informazioni di un assistito all’interno dei vari flussi informativi. Col tempo mi sono reso conto di quanto la cosa fosse “frustrante” su molte cose: Flussi Ogni comune, ospedale e chi che sia che deve dare i dati al registro fa perdere moltissimo tempo e nonostante venga dato un MODELLO su come i dati devono essere formattati puntualmente quel modello non viene mai preso in considerazione MARTA | 1/27/2015 Quantità dei Flussi Solo io a Caserta all’inizio ho dovuto gestire la banca dati di 104 Comuni….cosa che auguro a pochi….e per di più senza uno schema preciso…quindi 104 file con diverse estensioni e formattazioni. 4 Errori Errori Errori L’errore umano è sempre presente dietro l’angolo. Nelle Schede di Dimissione Ospedaliera (ad esempio) possiamo trovare lo stesso paziente scritto anche in 4 modi diversi, la qual cosa comporta che il codificatore dovrebbe cercare N volte lo stesso nominativo escogitando modi abbastanza creativi per arrivare a capire come questo nominativo possa essere stato scritto. Marta e gli Algoritmi di Ricerca Per far fronte a questa cosa degli errori ortografici/di battitura una query con ‘ LIKE %TESTO%’ non serve ad una ceppa…. Infatti marta fa due passaggi: L’utente cerca il Paziente “ASDRUBALE GIOVANNI” Nella schermata di ricerca presenta tutti i dati trovati al paziente ricercato mentre in un blocco in alto a destra mostra “I PAZIENTI SIMILI”. Primo passaggio lo fa con una query SOUNDS LIKE sul cognome ed il nome Questa primo passaggio genera molti falsi positivi per questo si effettua un secondo passaggio: la distanza di Levenshtein. La distanza di Levenshtein tra due stringhe A e B è il numero minimo di modifiche elementari che consentono di trasformare la stringa A nella nella B. In questo modo si ha questo risultato: MARTA | 1/27/2015 - 5 ASDRUBALE GIOVANNI ASTRUBALE GIOVANNI ASTRUBALE GIOVANI ASDRUBALE GIOVANI SVILUPPO Spero di avervi dato una infarinatura generale su come funziona un registro. Ora passiamo alla parte tecnica riguardante lo sviluppo di Marta. Database Andrebbe ristrutturato l’intero database attuale di Marta in quanto ci sono MOLTISSIMI dati ridondanti (e per moltissimi intendo i dati anagrafici base di una persona: cognome, nome, codice fiscale…) Gestione Utenti Creare una pagina di gestione delle utenze con relativi ruoli. Ogni ruolo può accedere a determinate aree: - Admin Informatico Codificatore Collaboratore Attività degli Utenti Ogni singola azione di un utente deve essere monitorata senza lasciare nulla per scontato. - Data login Data Logout Persone Cercate Cartelle Richieste Stampe effettuate Dati Caricati (quando e quali) Wizard Importazione Dati Attualmente c’è già codice che permette di selezionare file da importare e tabella di destinazione. Sarebbe molto utile fare un controllo sulla qualità dei dati che l’utente sta caricando prima di inserirlo nel db. MARTA | 1/27/2015 Poi chiede l’associazione. Va finita la parte che dopo associazione effettua upload dei dati. 6 Indicatori AirTum L’AirTum la fa da padrona e non in senso negativo, anzi. Loro fanno un ottimo lavoro e grazie a loro ci sono moltissimi materiali che ci permettono di capire come dare un valore di qualità alla banca dati di un registro tumori. Nel sorgente di Marta troverete link a questi indicatori per singola banca dati e come calcolarli Calcolo Pre-Incidenza Prima di dire cosa è la Pre-Incidenza vanno spiegate 2 cose: Prevalenza La prevalenza dei pazienti oncologici corrisponde al numero di persone che, nella popolazione generale, hanno precedentemente avuto una diagnosi di tumore (per esempio il numero di persone viventi nel 2014 che hanno avuto una diagnosi di tumore nel 2013, nel 2012 o in anni ancora precedenti). La prevalenza è condizionata sia dalla frequenza con cui ci si ammala sia dalla durata della malattia (sopravvivenza): tumori meno frequenti ma a buona prognosi (quindi con lunga sopravvivenza) tendono a essere rappresentati nella popolazione più di tumori molto frequenti ma caratterizzati purtroppo da una breve sopravvivenza. Incidenza L'incidenza indica quanti nuovi casi di una certa malattia, per esempio di un determinato tipo di tumore, vengono diagnosticati nell'ambito di una popolazione di riferimento, di solito 100.000 abitanti, in un preciso arco di tempo, di solito un anno. Viene espressa sotto forma di tasso di incidenza. MARTA | 1/27/2015 Il termine Pre-Incidenza non esiste. E’ una cosa che mi sono “inventato” per dare un nome all’algoritmo che non fa altro che calcolare appunto il primo ricovero di una persona per patologia oncologia nell’anno. Direte voi: “Ma non è incidenza ?”. No, questo spetta solo ai codificatori dirlo in quanto, per esperienza diretta, non esiste (al momento) algoritmo che possa sostituire il lavoro di un codificatore e quindi possa dire con certezza se un caso sia incidente o meno. 7 Quindi, ricapitolando, con il termine “Pre-Incidenza” (d’ora in avanti) indicheremo l’algoritmo che ha il solo scopo di segnare i primi ricoveri per patologia oncologica di una persona. Esempio: Cognome Nome Data Ricovero DIAGNOSI_PRIN DIAGN_1 DIAGN_2 DIAGN_3 Inci ASDRUBALE GIOVANNI ASDRUBALE NOTE 01/02/2007 235 V10 V580 X SI Primo ricovero in assoluto per patologia oncologica GIOVANNI 15/03/2007 V580 137 X X NO Non sono incidente perché sto facendo kemio. Lo sarei se fossi il solo ricovero di questa persona ASDRUBALE GIOVANNI 21/05/2008 248 X X X SI Sono incidente perche sono un nuovo tumore ASDRUBALE GIOVANNI 07/06/2008 235 X X X NO Sono prevalenza perché ho gia questo tumore nel 2007 Ricerca La pagina di Ricerca è molto semplice e basilare: Ricerca per: Dati Anagrafici o Codice Fiscale. E da li parte la ricerca in tutte la basi dati per quello che trova consigliando anche i similari. Sarabbe opportuno poter creare una “legatura” tra: il nominativo cercato ed il nominativo similare (azione ovviamente fatta dall’utente) N. Registro Cognome Nome Sesso Luogo nascita Data nascita Età Indirizzo MARTA | 1/27/2015 Inserimento Caso L’inserimento di un caso oncologico (la sua registrazione) è una cosa non da poco e richiede non poche informazioni. Personalmente lascerei la parte della registrazione come ultima cosa. Ma se siete curiosi (e spero che lo siate altrimenti qui perdete tempo…) ecco i dati richiesti per la registrazione: 8 MARTA | 1/27/2015 9 No. Comune Stato Civile Professione Anni studio Codice fisc/sanit Topografia Morfologia Comportamento Grade Base diagnosi Lateralità TNM Dim.mm.(C50) Duke(C18-20) Clark(C44) Breslow mm.(C44) Gleason(C61) Data incidenza Data Ricovero 1 Ospedale 1 No. cartella 1 Anatom. patologica No. referto ICD-10 Trattamento Stato dimissione Data Stato Causa morte Causa icd-9 Medico Micro eseguita RE (C50) RP (C50) Grado parentela Fam. tumore Tumore multiplo MP Seq MP Tot Altre Rencam Ric.estero Lab.ana-pat. Ospedali Esenzione tk. Medico base Rilevatore Data ultima modifica Stato verifica Ricerca doppi Commenti Stato record ICCC Scolarita Stato in vita Ospedale 2 No. cartella 2 Screening ComA ComB Data Referto Data Ricovero 2 Cartelle Cliniche Capita molto spesso che ad un codificatore le informazioni presenti nelle banche dati non siano sufficienti per poter classificare e registrare un caso, per questo motivo si fa richiesta della cartelle clinica di quel paziente. Nella pagina di ricerca sotto ogni sdo trovata di quel paziente appare un pulsante: “RICHIEDI CARTELLA CLINICA” ed una volta cliccato appare una textarea dove l’utente può inserire delle note e sotto il tasto conferma. - Va preso id della sdo Estrarre nome ospedale, dati di ricover e dati paziente Segnare data richiesta cc (cartella clinica) Segnare utente che ne ha fatto richiesta Mettere il tutto in una tabella dove vanno a finire queste richieste Questa richieste vengono poi processate da una persona che fa solo ed esclusivamente questo. Aiutarlo non sarebbe male ! MARTA | 1/27/2015 Questa semplice azione implica una rottura immensa per lo sviluppatore, in quanto: 10 Ufficio Creare una rubrica telefonica con mail per aiutare chi deve contattare comuni o ospedali…. Un dms con accesso gerarchico alle informazioni Mail integrata Export Banche Dati Analisi sui dati Geo Localizzazione Eh si…in passato ho gia fatto questa cosa (e tecnicamente c’è già, ma non ho caricato il codice). Fare una geo localizzazione dei casi tramite google map per tracciare l’eveluzione di una o più patologie oncologiche nel tempo, la concentrazione di una patologia per zona e cosi via… MARTA | 1/27/2015 Attenzione…zio google mette limite a 1.000 query al giorno (o 1 milione…non ricordo..) in ogni caso lo script gestisce questa cosa… 11 Il Futuro di Marta Non nego che mi piacerebbe molto vedere Marta crescere ed essere di uso da più registri. Ma al momento spero mi aiutate a metterla Su come si deve e che in futuro vogliate aiutarmi con questi moduli aggiuntivi che vorrei creare ad hoc: - A.I. No non parlo di robot. Ma l’intelligenza artificiale può aiutare molto tramite algoritmi di apprendimento supervisionato e non. Con questo metodo si può non solo aiutare nel migliore dei modi un codificatore, ma, nel caso della geo localizzazione, a trovare eventuali discariche abusive o comunque aree contaminate che possano cause un determinato tipo di tumore in una zona. - Communication Fare quello che fa l’airtum ma in tempo reale. Molto spesso l’ airtum organizza convegni per i registri tumori per discutere di casi oncologici un po particolari. Da poco hanno messo a disposizione anche un forum. Bene. Fare la stessa cosa ma dare la possibilità ai codificatori di vari registri d’italia di comunicare tra loro in modo da scambiarsi idee, opinioni ed aiutarsi a vicenda nella codifica. - Moduli Da come avrete potuto notare, Marta è un applicazione modulare. Mettere delle api e documentazioni ad altri sviluppatori su come creare moduli aggiuntivi per Marta Conclusione Mi spiace andare così tanto a rilento, ma il tempo è quello che è. Spero di poter organizzare quanto prima una teleconferenza via Hangout con chi vorrà aiutarmi in modo da organizzarci per lo sviluppo. Se avete altre domande o dubbi sono a vostra disposizione. Antonio MARTA | 1/27/2015 Un abbraccio 12