italia / covid19-opendata-vaccini

Open Data su consegna e somministrazione dei vaccini anti COVID-19 in Italia - Commissario straordinario per l'emergenza Covid-19
Other
525 stars 199 forks source link

Conteggio dei vaccinati con sola prima dose perché già guariti #174

Open marcosqlbi opened 3 years ago

marcosqlbi commented 3 years ago

Attualmente i dati contentono il numero di dose 1 e dose 2 somministrate per tipo di vaccino. Assumendo che alcuni vaccini abbiano due dosi e altri una sola dose (solo Johnson&Johnson per ora), si può calcolare quante persone sono in attesa di dose 2. Tuttavia, credo che ci sia un problema di cui non si tiene conto in questo calcolo.

Chi si è ammalato di Covid riceve una sola dose di vaccino anche se il fornitore è a doppia dose. Queste persone risultano con una vaccinazione completa (credo ci sia un'esenzione sulla seconda dose) e quindi attualmente nel nostro calcolo risultano "in attesa di seconda dose", mentre in realtà non dovrebbero riceverla. Siccome parliamo di più di 4 milioni di casi a oggi, non è un dettaglio.

Mi chiedo se c'è modo di individuare quante somministrazioni di "dose 1" non avranno un successivo richiamo di "dose 2" per fornire un valore più corretto di copertura vaccinale.

Grazie.

jenkin commented 3 years ago

@marcosqlbi è anche peggio di così... di fatto da quando è entrata in vigore l'indicazione di non fare il richiamo ai già guariti non si sa più quanti sono i vaccinati in Italia! Al momento questo numero non è fornito in modo esplicito, ma è frutto di un calcolo:

vaccinati = seconde dosi (1) + prime dosi janssen (2)

Con la singola dose agli ex-guariti si dovrebbe modificare:

vaccinati = seconde dosi (1) + prime dosi janssen (2) + prime dosi a già guariti (3) - prime dosi janssen a già guariti (4)

Ma i termini (3) e (4) non sono presenti in questo repo!

Per essere più chiari e agevolare le ricerca, suggerisco di modificare il titolo della issue in qualcosa come "Conteggio dei vaccinati con sola prima dose perché già guariti".

PS. quando cominceranno a fare i richiami (terza dose) in autunno, la cosa si farà ancora più complicata, qualcosa del tipo:

vaccinati = seconde dosi (1) + prime dosi janssen (2) + prime dosi a già guariti (3) - prime dosi janssen a già guariti (4) - vaccinati da più di otto/nove mesi (5) + terze dosi (6) + seconde dosi janssen (7) + seconde dosi già guariti (8)

marcosqlbi commented 3 years ago

Ottimo suggerimento, ho modificato il titolo seguendo il consiglio di @jenkin . Il calcolo vaccinati indicato al primo punto è lo stesso che ho implementato nel modello pubblicato su https://github.com/marcosqlbi/vaccination-italy ma chiaramente di più non si può fare se non ci sono dati. In effetti andando avanti la cosa diventerà più complicata, personalmente preferirei più dati grezzi (anonimi) nei dataset piuttosto che diverse versioni aggregate dove si fa fatica a districarsi in quale sia il dato originario (cosa che succede adesso con le fasce d'età che sono diverse a seconda delle tabelle).

floatingpurr commented 3 years ago

Questione molto interessante. Credo che però lo schema dati che permetterebbe di discernere questo tipo di informazione di dettaglio non sia facilmente serializzabile in un csv aggregato. Il rischio, a mio modesto parere, è di vedere presto un ingestibile proliferare di colonne con dati "denormalizzati". Per analisi più chiare, sarebbe necessario uno schema relazionale (o non) di diversa complessità in grado di modellare il concetto di tempo, copertura parziale vs. persona vaccinata, etc...

I csv coi dati aggregati sono fondamentali per il consumo dati di tipo generalista. Però, come ben citato da @marcosqlbi, sarebbe bello avere anche dati puntuali per essere processati a grana fine. Cosa non semplice da produrre, lo capisco.

Visto che verosimilmente si continueranno a rilasciare dati aggregati in csv, si potrebbe aggiungere una colonna "persone_coperte_da_vaccino" per rappresentare il numero di persone attualmente coperte al tempo t. Questo campo fornirebbe una preziosa info (pur gestita a mo' di black box), senza complicare i file e senza la necessità di inferenze di difficile gestione.

Rabelaiss commented 3 years ago

Giusta osservazione, e in futuro, qualora si dimostrasse necessaria la somministrazione di ulteriori dosi anche ai già vaccinati, come verrà gestita la cosa?

floatingpurr commented 3 years ago

La situazione dei dati si può complicare e si complicherà ancora. I percorsi vaccinali stanno già diventando molto eterogenei, eg.: vaccini monodose, bidose, bidose spuri (ie., dose 1: vaccino x, dose 2: vaccino y, con x != y), bidose somministrati in dose singola nel post-covid, terze dosi (che magari per alcuni saranno in realtà le seconde, o le prime!), etc.

Tutto questo diventa difficile da tracciare con lo schema tabellare attuale. Per questo proponevo di inserire una colonna che indichi quante sono le persone che hanno completato il loro percorso vaccinale al tempo t. Le persone in attesa di una 3º,4º,n-sima dose futuribile, dovrebbero poi essere sottratte da questo computo, per poi essere riaggiunte quando completeranno nuovamente il nuovo percorso vaccinale. Anche questa soluzione è tricky ed imperfetta. Tuttavia è un modo per stimare il numero di "vaccinati completi" prima che diventi incalcolabile

Il dato a grana fine di dettaglio rimane l'unica soluzione per fare ragionamenti più precisi. Basterebbe anche solo un file come: data, area, id_anonimo, età, tipo di vaccino per fare il salto di qualità (privacy permettendo).

jenkin commented 3 years ago

@floatingpurr È dall'inizio dell'anno che diciamo in tutte le salse che il rilascio di dati aggregati con questo schema è una scelta molto poco lungimirante, specchio delle scarsissime qualità e professionalità che caratterizzano tutto il sistema di produzione, raccolta e analisi dati italiano. Hai mai letto una risposta, di qualunque tipo? Come ho già ripetuto più volte, le 150 issue di questo repository sistematicamente ignorate dai mantainer del progetto dimostrano solo l'ennesimo triste fallimento degli open data italiani [IMHO].

floatingpurr commented 3 years ago

@jenkin, hai ragione: è un vero peccato. Spero che comunque siano in programma degli aggiornamenti dello schema attuale. Così com'è non può reggere.

jenkin commented 3 years ago

Changelog aggiornato, ci sarà una nuova colonna con il numero di dosi ai già guariti.

Quindi ora i vaccinati sono uguali a seconde dosi + prime dosi janssen + dosi ai guariti.

Ovviamente salta tutto se danno una dose janssen a un guarito... :D

floatingpurr commented 3 years ago

Non mi è chiaro se i casi in pregressa_infezione saranno conteggiate anche nei relativi campi prima_dose. Credo di no, ma non ho trovato un riferimento chiaro.

jenkin commented 3 years ago

E invece mi auguro proprio di sì, altrimenti sarebbe una breaking change bella grossa, perché farebbe saltare il conteggio del totale delle dosi somministrate (che finora è sempre stato prime dosi + seconde dosi) che è un numero piuttosto importante...

floatingpurr commented 3 years ago

La mia era un'ipotesi che non so valutare perché non ho trovato un'indicazione chiara. Quello che posso dire però è che seguendo di sfuggita la storia di questo repo, mi pare che ci siano stati spesso cambiamenti che hanno portato a modifiche sostanziali alle logiche di interpretazione dei dati. Insomma, non credo che possa essere percepita come una modificazione breaking, se messa in relazione alle altre già accadute.

Ad ogni modo, speriamo in un chiarimento.

jenkin commented 3 years ago

A quanto pare sono stato troppo ottimista: https://twitter.com/StefanoSamma7/status/1412076255466430465?s=19

marcosqlbi commented 3 years ago

Dai primi riscontri che ho fatto direi che "infezione_pregressa" è una quota parte di prima_dose. Ho aggiornato il modello Power BI che si trova su https://github.com/marcosqlbi/vaccination-italy Si può anche consultare online su https://aka.ms/vaccinazioniCovid I numeri sembrano tornare con quanto pubblicato su https://www.governo.it/it/cscovid19/report-vaccini/ - per quello che può valere. Vediamo se escono maggiori dettagli.

jenkin commented 3 years ago

In che senso quota parte? Come calcoli ora il totale delle dosi somministrate?

marcosqlbi commented 3 years ago

Dose 1 + Dose 2, ma qualcosa non torna. Con i dati correnti, il numero di persone vaccinate torna con https://www.governo.it/it/cscovid19/report-vaccini/ se faccio: Dose 1 (solo per fornitori con 1 dose) + Dose 2 + Infezione Pregressa

Che ha senso. Ma il totale di dosi somministrate per me è Dose 1 + Dose 2, se devo aggiungere Infezione Pregressa dovrei assumere che quest'ultima misura è sostitutiva a Dose 1 e non a Dose 2. Ma vedo che il conteggio Totale Somministrazioni visualizzato su https://www.governo.it/it/cscovid19/report-vaccini/ è Dose 1 + Dose 2 + Infezione Pregressa. Non mi pare sensato, uno dei due calcoli (su quella pagina) è per forza sbagliato (a rigor di logica), no? O mi sto perdendo qualcosa io?

Speriamo che qualcuno ci illumini...

floatingpurr commented 3 years ago

Nello screenshot sopra del link di Twitter sembra che "infezione_pregressa" non sia inclusa in "prima_dose", da cui:

https://twitter.com/vi__enne/status/1411341778725244929?s=21

marcosolina commented 3 years ago

Se può aiutare facendo cosi a me i conti conbaciano con quanto hanno sulla loro pagina web https://www.governo.it/it/cscovid19/report-vaccini/

Totale prima dose = Somma G Totale Seconda dose = Somma H + Somma I Totale doso = somma G + somma H + somma I

image

marcosqlbi commented 3 years ago

Grazie @floatingpurr e @marcosolina - ho anche controllato con delle estrazioni precedenti e ho visto che hanno tolto da Dose 1 i valori che ora troviamo in "infezione_pregressa". Ho aggiornato il report https://aka.ms/vaccinazioniCovid e il modello su https://github.com/marcosqlbi/vaccination-italy che ora è allineato ai numeri riportati su https://www.governo.it/it/cscovid19/report-vaccini/

floatingpurr commented 3 years ago

Prego, riporto quanto scritto in un'altra issue:

A supporto del fatto che pregressa_infezione NON sia già incluso in prima dose, c'è la consistenza dei dati presentati nei file di questo repo:

sesso_maschile + sesso_femminile = prima_dose + seconda_dose + pregressa_infezione (= totale)

Magari altrove i dati sono differenti ma, guardando ai dati di questo repository, credo che non ci possano essere interpretazioni differenti.

jenkin commented 3 years ago

Vedi #179