ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
5 partecipanti
Pagina 1 di 2 • 1, 2
ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Salve a tutti,
qui di seguito una delle mie prime query per database postgres che estrae i dati relativi alla vaccinazione antinfluenzale.
Il 'bizzarrro' ordine delle colonne excel che potrete notare nel risultato (e che ne peggiora la leggibilità) è dovuto alla necessità di rispettare un tracciato fornito dalla mia ASL. E' possibile modificarlo facilmente come meglio si crede.
Essendo una delle mie prime semplici estrazioni con Postgres, volutamente non ho utilizzato abbreviazioni per i nomi delle tabelle a cui si fa riferimento e degli alias delle varie colonne per facilitarne la leggibilità.
E' indicato da un commento dove sostituire la data di inizio della campagna vaccinale e dove inserire il proprio codice di medicina di gruppo per ottenere un risultato corretto e preciso. Ho notato dopo varie prove, infatti, che solo con nos_002.pa_medi = 'XXXXXXX' si estraggono TUTTI i vaccini dei pazienti di un dato medico, anche quelli inseriti eventualmente da un sostituto, eventuale segretaria-collaboratore od infermiere, dati che altrimenti andavano persi.
Un'ultima precisazione troverete una infinità di categorie di rischio per i pazienti (copiate da una vecchia estrazione), molte delle quali sicuramente inutili qui in Toscana, ma non ho sfoltito la query nel caso servissero in altre Regioni e... soprattutto per pigrizia!
Saluti a tutti Lucio
PS - Un grazie enorme a Sergio che con le sue 'dritte' ha consentito di potermi collegare al database e vederne la struttura!
NB LA QUERY E' STATA SPOSTATA NEL POST SEGUENTE
qui di seguito una delle mie prime query per database postgres che estrae i dati relativi alla vaccinazione antinfluenzale.
Il 'bizzarrro' ordine delle colonne excel che potrete notare nel risultato (e che ne peggiora la leggibilità) è dovuto alla necessità di rispettare un tracciato fornito dalla mia ASL. E' possibile modificarlo facilmente come meglio si crede.
Essendo una delle mie prime semplici estrazioni con Postgres, volutamente non ho utilizzato abbreviazioni per i nomi delle tabelle a cui si fa riferimento e degli alias delle varie colonne per facilitarne la leggibilità.
E' indicato da un commento dove sostituire la data di inizio della campagna vaccinale e dove inserire il proprio codice di medicina di gruppo per ottenere un risultato corretto e preciso. Ho notato dopo varie prove, infatti, che solo con nos_002.pa_medi = 'XXXXXXX' si estraggono TUTTI i vaccini dei pazienti di un dato medico, anche quelli inseriti eventualmente da un sostituto, eventuale segretaria-collaboratore od infermiere, dati che altrimenti andavano persi.
Un'ultima precisazione troverete una infinità di categorie di rischio per i pazienti (copiate da una vecchia estrazione), molte delle quali sicuramente inutili qui in Toscana, ma non ho sfoltito la query nel caso servissero in altre Regioni e... soprattutto per pigrizia!
Saluti a tutti Lucio
PS - Un grazie enorme a Sergio che con le sue 'dritte' ha consentito di potermi collegare al database e vederne la struttura!
NB LA QUERY E' STATA SPOSTATA NEL POST SEGUENTE
Ultima modifica di Lucio Mignone il Mar 8 Dic 2015 - 12:39 - modificato 2 volte.
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Salve ho apportato una piccola correzione alla query inserendo tra le clausole WHERE
nos_002.pa_medi = v_utenti.userid AND
perché mi sono reso conto che con la precedente istruzione pazienti.userid = v_utenti.userid AND non estraeva, in alcuni casi, tutte vaccinazioni effettuate.
La riposto ed elimino la precedente. Pertanto la query corretta è la seguente:
SELECT
cart_vaccini.va_data as Data_Vaccinazione,
cart_vaccini.co_des as Tipo_Vaccino_Utilizzato,
cart_vaccini.lotto as Dati_Lotto,
( CASE coalesce( left(cart_vaccini.ora,1),'')
WHEN 'V' then
(CASE cart_vaccini.ora
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'B' then
(CASE cart_vaccini.ora
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'H' then
(CASE cart_vaccini.ora
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi˘ di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n∞146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'A' then
(CASE cart_vaccini.ora
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
ELSE NULL
END ) as categoria,
cart_vaccini.ora as Codice_Categoria,
pazienti.cognome as Cognome,
pazienti.nome as Nome,
pazienti.nascita as Data_Nascita,
pazienti.sesso as Sesso,
pazienti.codice_fiscale as Codice_Fiscale,
cart_vaccini.va_note as Note,
v_utenti.codice_regionale as Codice_Regionale_Medico,
CONCAT (v_utenti.cognome, ' ' , v_utenti.nome) AS Nome_Medico_Utente
FROM
cart_vaccini,
pazienti,
nos_002,
v_utenti
WHERE
pazienti.codice = cart_vaccini.codice AND
pazienti.codice = nos_002.codice AND
nos_002.pa_medi = v_utenti.userid AND
cart_vaccini.va_tipo LIKE '%influ%' AND
date( cart_vaccini.va_data) > '01/11/2015' AND
/* SOSTITUIRE LA DATA DELLA RIGA PRECEDENTE IN BASE ALLA DATA D'INIZIO DELLA CAMPAGNA VACCINALE */
nos_002.pa_medi = 'XXXXXXX'
/* AL POSTO DELLE XXXXXXX NELLA RIGA PRECEDENTE INSERIRE TRA GLI APICI IL PROPRIO CODICE MEDICINA DI GRUPPO DI MILLEWIN */
ORDER BY cart_vaccini.co_des, pazienti.cognome, pazienti.nome, pazienti.nascita ;
nos_002.pa_medi = v_utenti.userid AND
perché mi sono reso conto che con la precedente istruzione pazienti.userid = v_utenti.userid AND non estraeva, in alcuni casi, tutte vaccinazioni effettuate.
La riposto ed elimino la precedente. Pertanto la query corretta è la seguente:
SELECT
cart_vaccini.va_data as Data_Vaccinazione,
cart_vaccini.co_des as Tipo_Vaccino_Utilizzato,
cart_vaccini.lotto as Dati_Lotto,
( CASE coalesce( left(cart_vaccini.ora,1),'')
WHEN 'V' then
(CASE cart_vaccini.ora
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'B' then
(CASE cart_vaccini.ora
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'H' then
(CASE cart_vaccini.ora
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi˘ di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n∞146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'A' then
(CASE cart_vaccini.ora
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
ELSE NULL
END ) as categoria,
cart_vaccini.ora as Codice_Categoria,
pazienti.cognome as Cognome,
pazienti.nome as Nome,
pazienti.nascita as Data_Nascita,
pazienti.sesso as Sesso,
pazienti.codice_fiscale as Codice_Fiscale,
cart_vaccini.va_note as Note,
v_utenti.codice_regionale as Codice_Regionale_Medico,
CONCAT (v_utenti.cognome, ' ' , v_utenti.nome) AS Nome_Medico_Utente
FROM
cart_vaccini,
pazienti,
nos_002,
v_utenti
WHERE
pazienti.codice = cart_vaccini.codice AND
pazienti.codice = nos_002.codice AND
nos_002.pa_medi = v_utenti.userid AND
cart_vaccini.va_tipo LIKE '%influ%' AND
date( cart_vaccini.va_data) > '01/11/2015' AND
/* SOSTITUIRE LA DATA DELLA RIGA PRECEDENTE IN BASE ALLA DATA D'INIZIO DELLA CAMPAGNA VACCINALE */
nos_002.pa_medi = 'XXXXXXX'
/* AL POSTO DELLE XXXXXXX NELLA RIGA PRECEDENTE INSERIRE TRA GLI APICI IL PROPRIO CODICE MEDICINA DI GRUPPO DI MILLEWIN */
ORDER BY cart_vaccini.co_des, pazienti.cognome, pazienti.nome, pazienti.nascita ;
Ultima modifica di Lucio Mignone il Mer 20 Apr 2016 - 22:25 - modificato 4 volte.
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
mario shirt ha scritto: ... Ho vaccinato con Fluad e ho messo F in note, quelli vaccinati con influvacS hanno I in note.
Lo scorso anno (con sybase) ho usato una query che mi metteva Fluad come nome di vaccino dove c'era F in note, Vaxigrip dove c'era V e intansa dove c'era I.
Come variare quest'anno?
Mario
PER MARIO
Il tipo di vaccino utilizzato non va scritto in note ma andrebbe selezionato al momento della vaccinazione con l'apposito pulsante presente in cartella vaccini...
PROVA QUESTA: la riga in rosso dovrebbe estrarre il tipo di vaccino usato in base a quanto hai scritto nel campo NOTE:
SELECT
cart_vaccini.va_data as Data_Vaccinazione,
cart_vaccini.co_des as Tipo_Vaccino_Utilizzato,
cart_vaccini.lotto as Dati_Lotto,
Case cart_vaccini.va_note WHEN 'I' THEN 'INFLUVAC' WHEN 'F' THEN 'FLUAD' ELSE NULL END AS Tipo_Di_Vaccino,
( CASE coalesce( left(cart_vaccini.ora,1),'')
WHEN 'V' then
(CASE cart_vaccini.ora
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'B' then
(CASE cart_vaccini.ora
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'H' then
(CASE cart_vaccini.ora
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi˘ di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n∞146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'A' then
(CASE cart_vaccini.ora
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
ELSE NULL
END ) as categoria,
cart_vaccini.ora as Codice_Categoria,
pazienti.cognome as Cognome,
pazienti.nome as Nome,
pazienti.nascita as Data_Nascita,
pazienti.sesso as Sesso,
pazienti.codice_fiscale as Codice_Fiscale,
cart_vaccini.va_note as Note,
v_utenti.codice_regionale as Codice_Regionale_Medico,
CONCAT (v_utenti.cognome, ' ' , v_utenti.nome) AS Nome_Medico_Utente
FROM
cart_vaccini,
pazienti,
nos_002,
v_utenti
WHERE
pazienti.codice = cart_vaccini.codice AND
pazienti.codice = nos_002.codice AND
nos_002.pa_medi = v_utenti.userid AND
cart_vaccini.va_tipo LIKE '%influ%' AND
date( cart_vaccini.va_data) > '01/11/2015' AND
/* SOSTITUIRE LA DATA DELLA RIGA PRECEDENTE IN BASE ALLA DATA D'INIZIO DELLA CAMPAGNA VACCINALE */
nos_002.pa_medi = 'XXXXXXX'
/* AL POSTO DELLE XXXXXXX NELLA RIGA PRECEDENTE INSERIRE TRA GLI APICI IL PROPRIO CODICE MEDICINA DI GRUPPO DI MILLEWIN */
ORDER BY cart_vaccini.co_des, pazienti.cognome, pazienti.nome, pazienti.nascita ;
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Lucio Mignone ha scritto:mario shirt ha scritto: ... Ho vaccinato con Fluad e ho messo F in note, quelli vaccinati con influvacS hanno I in note.
Lo scorso anno (con sybase) ho usato una query che mi metteva Fluad come nome di vaccino dove c'era F in note, Vaxigrip dove c'era V e intansa dove c'era I.
Come variare quest'anno?
Mario
PER MARIO
Il tipo di vaccino utilizzato non va scritto in note ma andrebbe selezionato al momento della vaccinazione con l'apposito pulsante presente in cartella vaccini...
PROVA QUESTA: la riga in rosso dovrebbe estrarre il tipo di vaccino usato in base a quanto hai scritto nel campo NOTE:
SELECT
cart_vaccini.va_data as Data_Vaccinazione,
cart_vaccini.co_des as Tipo_Vaccino_Utilizzato,
cart_vaccini.lotto as Dati_Lotto,
Case cart_vaccini.va_note WHEN 'I' THEN 'INFLUVAC' WHEN 'F' THEN 'FLUAD' ELSE NULL END AS Tipo_Di_Vaccino,
( CASE coalesce( left(cart_vaccini.ora,1),'')
WHEN 'V' then
(CASE cart_vaccini.ora
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'B' then
(CASE cart_vaccini.ora
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'H' then
(CASE cart_vaccini.ora
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi˘ di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n∞146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'A' then
(CASE cart_vaccini.ora
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
ELSE NULL
END ) as categoria,
cart_vaccini.ora as Codice_Categoria,
pazienti.cognome as Cognome,
pazienti.nome as Nome,
pazienti.nascita as Data_Nascita,
pazienti.sesso as Sesso,
pazienti.codice_fiscale as Codice_Fiscale,
cart_vaccini.va_note as Note,
v_utenti.codice_regionale as Codice_Regionale_Medico,
CONCAT (v_utenti.cognome, ' ' , v_utenti.nome) AS Nome_Medico_Utente
FROM
cart_vaccini,
pazienti,
nos_002,
v_utenti
WHERE
pazienti.codice = cart_vaccini.codice AND
pazienti.codice = nos_002.codice AND
nos_002.pa_medi = v_utenti.userid AND
cart_vaccini.va_tipo LIKE '%influ%' AND
date( cart_vaccini.va_data) > '01/11/2015' AND
/* SOSTITUIRE LA DATA DELLA RIGA PRECEDENTE IN BASE ALLA DATA D'INIZIO DELLA CAMPAGNA VACCINALE */
nos_002.pa_medi = 'XXXXXXX'
/* AL POSTO DELLE XXXXXXX NELLA RIGA PRECEDENTE INSERIRE TRA GLI APICI IL PROPRIO CODICE MEDICINA DI GRUPPO DI MILLEWIN */
ORDER BY cart_vaccini.co_des, pazienti.cognome, pazienti.nome, pazienti.nascita ;
non scrive nulla nel campo vaccino, come non scrive le categorie di rischio,
Mi sembra che non estragga tutti i vaccinati dovrei averne fatto 280 e ne estrae 250..
Controllero' il cartaceo domani..
Grazie
mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5389
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Pardon scrive bene la categoria di rischio...
quello che non mi torna e' che nei dati del lotto mi scrive numeri tutti uguali dopo il numero di lotto. Dovrebbe corrispondere alla data di scadenza ma non corrisponde...
mario
quello che non mi torna e' che nei dati del lotto mi scrive numeri tutti uguali dopo il numero di lotto. Dovrebbe corrispondere alla data di scadenza ma non corrisponde...
mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5389
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
mario shirt ha scritto:Pardon scrive bene la categoria di rischio...
quello che non mi torna e' che nei dati del lotto mi scrive numeri tutti uguali dopo il numero di lotto. Dovrebbe corrispondere alla data di scadenza ma non corrisponde...
mario
Mi spiace che sia imprecisa per i tuoi dati. Non saprei.
A me funziona correttamente.
Mi interessava sapere se mette bene i fluad ed influvac in base a quanto hai scritto nel campo note.
Dovresti controllare tutti quei pochi pazienti che mancano come sono stati inseriti per capire se c'è qualche errore d'inserimento.
La data inserita come inizio della campagna è 01/11/2015. Hai iniziato prima? lo dubito.
Per quanto riguarda i numeri che tu riferisci nel campo lotto dovrebbero essere il primo il numero del lotto ed il secondo la data di scadenza scritta al contrario (ANNOMESEGIORNO), viene archiviata così in Mwin (formato ISO) e così viene estratta.
Si può' convertirla tramite la query nel formato corretto se proprio serve questo dato…
Prova a vedere hai sempre codificato bene il vaccino come INFLUENZA selezionandolo dall'elenco dei vaccini
Prova a modificare/verificare la clausola
cart_vaccini.va_tipo LIKE '%influ%' AND
oppure sostituirla del tutto con
cart_vaccini.va_code = '0005'
PS Mario, per favore, quando rispondi ai post elimina la parte di QUOTE in eccesso (la parte con lo sfondo giallo) migliorare la leggibilità dei post.
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Si potrebbe anche forse usare una query del tipo :
SELECT Distinct Cast( p.cognome As Char(20)) , p.nome , Cast( DateFormat( Max( p.nascita), 'yyyy/mm/dd' ) As Char(16)) , p.sesso ,
Days( p.nascita, '2015/01/01')*24/8766 As eta , Cast( p.codice_fiscale As Char(16)) As codfisc_paz , ' ' As s ,
Cast( DateFormat( Max( v.va_data), 'yyyy/mm/dd' ) As Char(16)) As Influ_d , Max( v.va_tipo) As vaccino , Max( v.ora) As cat_code ,
( CASE Coalesce( Left( Max( v.ora) , 1 ),'') WHEN 'V' THEN ( CASE Max( v.ora)
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE Max( v.ora) || ' - Altra categoria' END)
WHEN 'B' THEN ( CASE Max( v.ora)
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE Max( v.ora) || ' - Altra categoria' END)
WHEN 'H' THEN ( CASE Max( v.ora)
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi˘ di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n∞146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE Max( v.ora) || ' - Altra categoria' END)
WHEN 'A' THEN (CASE Max( v.ora)
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE Max( v.ora) || ' - Altra categoria' END ) ELSE NULL END ) As categoria_rischio ,
Case Max( v.va_note) WHEN 'I' THEN 'INFLUVAC' WHEN 'F' THEN 'FLUAD' ELSE Max( v.va_note) END As note ,
Case Max( fatto_io) WHEN 'D' THEN ' in Office' WHEN 'E' THEN ' Domicilio' WHEN 'F' THEN ' in RSA'
WHEN 'A' THEN ' Priv in Office' WHEN 'B' THEN ' Priv Domicilio' WHEN 'C' THEN ' Priv in RSA' ELSE Max( fatto_io) END As sede ,
Trim( Left( v.lotto , Position( ' ' in v.lotto)-1 )) As lotto , Trim( Right( lotto , Position( ' ' in v.lotto)-1 )) As scadenza_lotto ,
(Select Cast( Count( e.motese) As SmallInt) From cart_paz_ese e Where e.codice = p.codice )
_esenzioni_n1_ ,
(Select Cast( Count( e.motese) As SmallInt) From cart_paz_ese e Where e.codice = p.codice And ( dscdese Is Null Or dscdese > '2015-12-31' ) And ( e.motese Not ILike '%Reddito%' AND e.motese Not ILike '%lavor%' AND e.motese Not ILike '%Inval%'))
_esenzioni_n_ ,
Array_To_String( Array( Select e.motese From cart_paz_ese e Where e.codice = p.codice And (( dscdese Is Null Or dscdese > '2015-12-31' ) And ( e.motese Not ILike '%Reddito%' AND e.motese Not ILike '%lavor%' AND e.motese Not ILike '%Inval%'))) , ' ,')
_esenzioni_tipo_ , u.codice_fiscale As cod_fisc_mmg , ' ' As s1
FROM (( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u On u.userid = n.pa_medi )
LEFT Outer JOIN cart_vaccini v ON v.codice = p.codice
WHERE u.nome ILike '%' AND u.codice_regionale ILike '%'
AND p.pa_convenzione = 'S' AND sesso ILike '%'
AND Days( p.nascita, '2016/01/01')*24/8766 < 105
AND v.va_tipo ILike '%Influ%' AND v.va_data BETWEEN '2015-10-01' AND '2015-12-31' /* AND v.ora NOT ILIKE 'A13' */
And Not Exists (Select v1.codice From cart_vaccini v1 Where v1.codice = v.codice And v1.va_tipo ILike '%Influ%' And (v1.va_data > v.va_data Or (v1.va_data = v.va_data And v1.rowid>v.rowid)))
GROUP BY u.codice_fiscale , p.codice_fiscale , p.cognome , p.nome , p.nascita , p.sesso , p.codice , v.lotto
ORDER BY 7 desc , 3 , 4
Saluti , Sergio Orzivecchi BS
SELECT Distinct Cast( p.cognome As Char(20)) , p.nome , Cast( DateFormat( Max( p.nascita), 'yyyy/mm/dd' ) As Char(16)) , p.sesso ,
Days( p.nascita, '2015/01/01')*24/8766 As eta , Cast( p.codice_fiscale As Char(16)) As codfisc_paz , ' ' As s ,
Cast( DateFormat( Max( v.va_data), 'yyyy/mm/dd' ) As Char(16)) As Influ_d , Max( v.va_tipo) As vaccino , Max( v.ora) As cat_code ,
( CASE Coalesce( Left( Max( v.ora) , 1 ),'') WHEN 'V' THEN ( CASE Max( v.ora)
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE Max( v.ora) || ' - Altra categoria' END)
WHEN 'B' THEN ( CASE Max( v.ora)
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE Max( v.ora) || ' - Altra categoria' END)
WHEN 'H' THEN ( CASE Max( v.ora)
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi˘ di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n∞146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE Max( v.ora) || ' - Altra categoria' END)
WHEN 'A' THEN (CASE Max( v.ora)
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE Max( v.ora) || ' - Altra categoria' END ) ELSE NULL END ) As categoria_rischio ,
Case Max( v.va_note) WHEN 'I' THEN 'INFLUVAC' WHEN 'F' THEN 'FLUAD' ELSE Max( v.va_note) END As note ,
Case Max( fatto_io) WHEN 'D' THEN ' in Office' WHEN 'E' THEN ' Domicilio' WHEN 'F' THEN ' in RSA'
WHEN 'A' THEN ' Priv in Office' WHEN 'B' THEN ' Priv Domicilio' WHEN 'C' THEN ' Priv in RSA' ELSE Max( fatto_io) END As sede ,
Trim( Left( v.lotto , Position( ' ' in v.lotto)-1 )) As lotto , Trim( Right( lotto , Position( ' ' in v.lotto)-1 )) As scadenza_lotto ,
(Select Cast( Count( e.motese) As SmallInt) From cart_paz_ese e Where e.codice = p.codice )
_esenzioni_n1_ ,
(Select Cast( Count( e.motese) As SmallInt) From cart_paz_ese e Where e.codice = p.codice And ( dscdese Is Null Or dscdese > '2015-12-31' ) And ( e.motese Not ILike '%Reddito%' AND e.motese Not ILike '%lavor%' AND e.motese Not ILike '%Inval%'))
_esenzioni_n_ ,
Array_To_String( Array( Select e.motese From cart_paz_ese e Where e.codice = p.codice And (( dscdese Is Null Or dscdese > '2015-12-31' ) And ( e.motese Not ILike '%Reddito%' AND e.motese Not ILike '%lavor%' AND e.motese Not ILike '%Inval%'))) , ' ,')
_esenzioni_tipo_ , u.codice_fiscale As cod_fisc_mmg , ' ' As s1
FROM (( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u On u.userid = n.pa_medi )
LEFT Outer JOIN cart_vaccini v ON v.codice = p.codice
WHERE u.nome ILike '%' AND u.codice_regionale ILike '%'
AND p.pa_convenzione = 'S' AND sesso ILike '%'
AND Days( p.nascita, '2016/01/01')*24/8766 < 105
AND v.va_tipo ILike '%Influ%' AND v.va_data BETWEEN '2015-10-01' AND '2015-12-31' /* AND v.ora NOT ILIKE 'A13' */
And Not Exists (Select v1.codice From cart_vaccini v1 Where v1.codice = v.codice And v1.va_tipo ILike '%Influ%' And (v1.va_data > v.va_data Or (v1.va_data = v.va_data And v1.rowid>v.rowid)))
GROUP BY u.codice_fiscale , p.codice_fiscale , p.cognome , p.nome , p.nascita , p.sesso , p.codice , v.lotto
ORDER BY 7 desc , 3 , 4
Saluti , Sergio Orzivecchi BS
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Grazie Sergio anche per questa query pubblicata nel precedente post, molto utile per imparare.
Chiedo a Sergio ed ai colleghi più esperti:
Come mai alcune query lanciate in PgAdmin funzionano correttamente e restituiscono direttamente in pgAdmin il risultato, mentre altre, pur senza errori e funzionanti, restituiscono il risultato con i dati solo se lanciate in Milleutilità mentre in PgAdmin restituiscono solo le colonne con gli alias vuote e senza i dati?
PS bella questa Days( p.nascita, '2015/01/01')*24/8766 As eta
anche se in Postgres usando ad esempio
EXTRACT(YEAR FROM age(cart_vaccini.va_data, pazienti.nascita)) as Eta,
non è più necessario ricorrere a tutti questi calcoli per stabilire l'età dei pazienti con precisione.
Chiedo a Sergio ed ai colleghi più esperti:
Come mai alcune query lanciate in PgAdmin funzionano correttamente e restituiscono direttamente in pgAdmin il risultato, mentre altre, pur senza errori e funzionanti, restituiscono il risultato con i dati solo se lanciate in Milleutilità mentre in PgAdmin restituiscono solo le colonne con gli alias vuote e senza i dati?
PS bella questa Days( p.nascita, '2015/01/01')*24/8766 As eta
anche se in Postgres usando ad esempio
EXTRACT(YEAR FROM age(cart_vaccini.va_data, pazienti.nascita)) as Eta,
non è più necessario ricorrere a tutti questi calcoli per stabilire l'età dei pazienti con precisione.
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
A me gira correttamente...
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
...e allora dove potrei avere il problema? Quale potrebbe essere la stringa con lunghezza negativa?Lucio Mignone ha scritto:drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
A me gira correttamente...
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
drtulino ha scritto:...e allora dove potrei avere il problema? Quale potrebbe essere la stringa con lunghezza negativa?Lucio Mignone ha scritto:drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
A me gira correttamente...
Copia/incolla in milleutilità sbagliato???
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Operazione fatta due volte ma senza risultato!!Lucio Mignone ha scritto:drtulino ha scritto:...e allora dove potrei avere il problema? Quale potrebbe essere la stringa con lunghezza negativa?Lucio Mignone ha scritto:drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
A me gira correttamente...
Copia/incolla in milleutilità sbagliato???
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
Anche a me da lo stesso errore.
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5389
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
mario shirt ha scritto:drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
Anche a me da lo stesso errore.
Mario
Non so che dire...
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Lucio Mignone ha scritto:
Mi spiace che sia imprecisa per i tuoi dati. Non saprei.
A me funziona correttamente.
Mi interessava sapere se mette bene i fluad ed influvac in base a quanto hai scritto nel campo note.
Dovresti controllare tutti quei pochi pazienti che mancano come sono stati inseriti per capire se c'è qualche errore d'inserimento.
La data inserita come inizio della campagna è 01/11/2015. Hai iniziato prima? lo dubito.
Per quanto riguarda i numeri che tu riferisci nel campo lotto dovrebbero essere il primo il numero del lotto ed il secondo la data di scadenza scritta al contrario (ANNOMESEGIORNO), viene archiviata così in Mwin (formato ISO) e così viene estratta.
Si può' convertirla tramite la query nel formato corretto se proprio serve questo dato…
160601 e' il numero che mi viene dopo il numero del lotto e al posto (o e' la data ) della data.
Risolto l'arcano della mancanza della scritta Fluad o Influvac.. La query e' sensibile alle maiuscole..avevo usato i e f minuscole e tu invece le maiuscole..
Tutto e' bene quel che finisce bene..
forse e' risolto anche il problema della possibile mancanza di dati: sul muletto (dove faccio le prove) il data dase non era aggiornato..
Buona domenica
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5389
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
mario shirt ha scritto:Ll ha scritto:
160601 e' il numero che mi viene dopo il numero del lotto e al posto (o e' la data ) della data.
Mario
Quella é la data!
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Lucio Mignone ha scritto:mario shirt ha scritto:Ll ha scritto:
160601 e' il numero che mi viene dopo il numero del lotto e al posto (o e' la data ) della data.
Mario
Quella é la data!
vero 01/06/16 al contrario
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5389
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
mario shirt ha scritto:Lucio Mignone ha scritto:mario shirt ha scritto:Ll ha scritto:
160601 e' il numero che mi viene dopo il numero del lotto e al posto (o e' la data ) della data.
Mario
Quella é la data!
vero 01/06/16 al contrario
Mario
Se ho tempo provo a 'ribaltartela'...
Ultima modifica di Lucio Mignone il Sab 12 Dic 2015 - 19:57 - modificato 1 volta.
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Lucio Mignone ha scritto:mario shirt ha scritto:drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?
Anche a me da lo stesso errore.
Mario
Non so che dire...
Prova a lanciarla direttamente da Pgadmin...
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Alcune osservazioni : 1) ho cercato di assemblare in un' unica estrazione alcune delle query utlizzate negli anni precedenti, anche su questo forum x estrarre i dati della campagna vaccinale annuale, con alcune piccole imprecisioni , da correggere e/o migliorare ;
2) ringrazio Lucio x il suggerimento della formula dell' età ( non si finisce mai di imparare ) :
EXTRACT( YEAR FROM age( Today() , p.nascita )) equivale a Days( p.nascita , Today()+1 )*24/8766
EXTRACT( YEAR FROM age( '2015/12/31' , p.nascita )) equivale a Days( p.nascita , '2016/01/01' )*24/8766,
3) Vi sono ovviamente differenze fra MilleUtilità ( ormai desueto almeno x Me ) e PgAdmin III : la piu' eclatante forse
è fra LIKE ed ILIKE: in MU non vi sono differenze ( se non ricordo male ) ma in PgAdmin III si ( usando LIKE voglio distinguere fra lettere maiuscole e minuscole con ILIKE no )
4) errore : "non è possibile una stringa con lunghezza negativa" restituito da una delle due formule :
Trim( Left( v.lotto , Position( ' ' in v.lotto)-1 )) As lotto ,
Trim( Right( v.lotto , Position( ' ' in v.lotto)-1 )) As scadenza_lotto ,
quale ( la seconda forse ? ) ; evidentemente le formule di formattazione utilizzate non sono ottimali e vanno migliorate, provare eventualmente ad aggiungere ( o togliere ) uno o 2 spazi : Trim( Right( v.lotto , Position( ' ' in v.lotto)-1 )) As scadenza_lotto ; ma v.lotto che valori resituisce ?
in alternativa utilizzare : Trim( Right( v.lotto , 6 )) As scadenza_lotto ;
oppure Right( v.lotto , 6 ) As scadenza_lotto ;
oppure Left( '20', 2) || SubString( v.lotto From Length( v.lotto )-5 For 2 ) || '-' || SubString( v.lotto From Length( v.lotto )-3 For 2 ) ||'-' || Right( lotto, 2 ) As scadenza_lotto ,
Vi saluto , Sergio
2) ringrazio Lucio x il suggerimento della formula dell' età ( non si finisce mai di imparare ) :
EXTRACT( YEAR FROM age( Today() , p.nascita )) equivale a Days( p.nascita , Today()+1 )*24/8766
EXTRACT( YEAR FROM age( '2015/12/31' , p.nascita )) equivale a Days( p.nascita , '2016/01/01' )*24/8766,
3) Vi sono ovviamente differenze fra MilleUtilità ( ormai desueto almeno x Me ) e PgAdmin III : la piu' eclatante forse
è fra LIKE ed ILIKE: in MU non vi sono differenze ( se non ricordo male ) ma in PgAdmin III si ( usando LIKE voglio distinguere fra lettere maiuscole e minuscole con ILIKE no )
4) errore : "non è possibile una stringa con lunghezza negativa" restituito da una delle due formule :
Trim( Left( v.lotto , Position( ' ' in v.lotto)-1 )) As lotto ,
Trim( Right( v.lotto , Position( ' ' in v.lotto)-1 )) As scadenza_lotto ,
quale ( la seconda forse ? ) ; evidentemente le formule di formattazione utilizzate non sono ottimali e vanno migliorate, provare eventualmente ad aggiungere ( o togliere ) uno o 2 spazi : Trim( Right( v.lotto , Position( ' ' in v.lotto)-1 )) As scadenza_lotto ; ma v.lotto che valori resituisce ?
in alternativa utilizzare : Trim( Right( v.lotto , 6 )) As scadenza_lotto ;
oppure Right( v.lotto , 6 ) As scadenza_lotto ;
oppure Left( '20', 2) || SubString( v.lotto From Length( v.lotto )-5 For 2 ) || '-' || SubString( v.lotto From Length( v.lotto )-3 For 2 ) ||'-' || Right( lotto, 2 ) As scadenza_lotto ,
Vi saluto , Sergio
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Cervino ha scritto:Alcune osservazioni : 1) ho cercato di assemblare in un' unica estrazione alcune delle query utlizzate negli anni precedenti, anche su questo forum x estrarre i dati della campagna vaccinale annuale, con alcune piccole imprecisioni , da correggere e/o migliorare ;
2) ringrazio Lucio x il suggerimento della formula dell' età ( non si finisce mai di imparare ) :
EXTRACT( YEAR FROM age( Today() , p.nascita )) equivale a Days( p.nascita , Today()+1 )*24/8766
EXTRACT( YEAR FROM age( '2015/12/31' , p.nascita )) equivale a Days( p.nascita , '2016/01/01' )*24/8766,
...
Vi saluto , Sergio
Grazie a te Sergio.
Aggiungo che anche la sola funziona AGE può' tornare utile ai nostri scopi…
AGE(timestamp, timestamp),
AGE(timestamp)
AGE(timestamp, timestamp) | When invoked with the TIMESTAMP form of the second argument, AGE() subtract arguments, producing a "symbolic" result that uses years and months and is of type INTERVAL. |
AGE(timestamp) | When invoked with only the TIMESTAMP as argument, AGE() subtracts from the current_date (at midnight). |
Purtroppo occorre testare le query con milleutilità perché poi la maggior parte dei colleghi è con questo strumento 'desueto' che devono estrarre i dati… (a buon intenditor…)
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Posto x comodità alcune delle possibili opzioni x calcolare l' età, graze ai suggerimenti di Lucio, che ringrazio :Grazie a te Sergio.Aggiungo che anche la sola funziona AGE può' tornare utile ai nostri scopi…AGE(timestamp, timestamp),AGE(timestamp) ha scritto:>> Vi sono ovviamente differenze fra MilleUtilità ( ormai desueto almeno x Me ) e PgAdmin III …Purtroppo occorre testare le query con milleutilità perché poi la maggior parte dei colleghi è con questo strumento 'desueto' che devono estrarre i dati… (a buon intenditor…)
[th]Function[/th][th]Description[/th] AGE(timestamp, timestamp) When invoked with the TIMESTAMP form of the second argument, AGE() subtract arguments, producing a "symbolic" result that uses years and months and is of type INTERVAL. AGE(timestamp) When invoked with only the TIMESTAMP as argument, AGE() subtracts from the current_date (at midnight).
SELECT Distinct Cast( p.cognome As Char(20)) , p.nome , p.nascita , Cast( EXTRACT( YEAR FROM age( p.nascita )) As SmallInt ) As eta_yy , AGE( p.nascita) as eta_yymmdd , AGE( p.nascita, Today()) As diff_eta
FROM ( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u On u.userid = n.pa_medi
WHERE u.nome ILike '%' AND u.codice_regionale ILike '%'
AND p.pa_convenzione = 'S' AND p.decesso Is Null AND sesso ILike '%'
AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() OR ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S'))
AND Days( p.nascita, Today()+1)*24/8766 < 105
ORDER BY p.nascita
MilleUtilità è per Me desueto anche solo x l' affaticamento visivo che ne comporta l' utilizzo, specie su Monitor > 24"
Saluti, Sergio Orzivecchi ( BS )
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Lucio Mignone ha scritto:mario shirt ha scritto:vero 01/06/16 al contrarioLucio Mignone ha scritto:mario shirt ha scritto:
160601 e' il numero che mi viene dopo il numero del lotto e al posto (o e' la data ) della data.
Mario
Quella é la data!
Mario
Se ho tempo provo a 'ribaltartela'...
Per Mario e non solo,
ecco la query con la data di scadenza lotto scritta nel verso giusto (lascio la colonna dati lotto come estratta per un controllo, poi la si può' eliminare).
Mi pare corretta, ma è tardi essendo tardi... vado a letto!
NB in ROSSO le modifiche richieste da Mario.
SELECT
Trim( Left( cart_vaccini.lotto , Position( ' ' in cart_vaccini.lotto)-1 )) As lotto ,
to_date(Trim( Right( cart_vaccini.lotto , Position( ' ' in cart_vaccini.lotto)-1 )), 'YYMMDD') AS Data_Scadenza_Lotto,
cart_vaccini.lotto as Dati_Lotto_GREZZI,
cart_vaccini.va_data as Data_Vaccinazione,
cart_vaccini.co_des as Tipo_Vaccino_Utilizzato,
Case cart_vaccini.va_note WHEN 'I' THEN 'INFLUVAC' WHEN 'F' THEN 'FLUAD' ELSE NULL END AS Tipo_Di_Vaccino,
( CASE coalesce( left(cart_vaccini.ora,1),'')
WHEN 'V' then
(CASE cart_vaccini.ora
WHEN 'VA1' THEN 'Personale sanitario e socio-sanitario'
WHEN 'VA2' THEN 'Personale delle forze di pubblica sicurezza e della protezione civile'
WHEN 'VA3' THEN 'Personale del corpo dei Vigili del fuoco Ministero Interno'
WHEN 'VA4' THEN 'Personale delle forze armate'
WHEN 'VA5' THEN 'Personale che assicura i servizi pubblici essenziali'
WHEN 'VA6' THEN 'Donatori di sangue periodici'
WHEN 'VB1' THEN 'Donne al secondo o al terzo trimestre di gravidanza'
WHEN 'VB2' THEN 'Donne che hanno partorito da meno di sei mesi o persona che assiste il bambino'
WHEN 'VC1' THEN 'Portatori di almeno una delle condizioni di rischio di et‡ compresa tra 6 mesi e 65 anni'
WHEN 'VD1' THEN 'Bambini di et‡ superiore a sei mesi che frequentano l''asilo nido (non incluse nei precedenti punti)'
WHEN 'VD2' THEN 'Minori che vivono in comunità o istituzionalizzati (non incluse nei precedenti punti)'
WHEN 'VD3' THEN 'Soggetti con meno di 24 mesi nati gravemente pretermine'
WHEN 'VE1' THEN 'Persone di età compresa tra 6 mesi e 17 anni (non incluse nei precedenti punti)'
WHEN 'VF1' THEN 'Persone di età compresa tra 18 e 27 anni (non incluse nei precedenti punti)'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'B' then
(CASE cart_vaccini.ora
WHEN 'B9 ' THEN 'Anziani over 65'
WHEN 'B33' THEN 'Bambini mal. neurologiche o neuromuscolari'
WHEN 'B32' THEN 'Mal. con immunodepressione'
WHEN 'B31' THEN 'Patologie con programmati interventi chirurgici'
WHEN 'B30' THEN 'Sindrome da malassorbimento intestinale'
WHEN 'B29' THEN 'Mal.organi emopoietici ed emoglobinopatie'
WHEN 'B28' THEN 'Mal. renali con insuff. Renale'
WHEN 'B27' THEN 'Mal. Tumorali'
WHEN 'B26' THEN 'Diabete mellito e mal. Metaboliche'
WHEN 'B25' THEN 'Mal. apparato cardiocircolatorio'
WHEN 'B24' THEN 'Mal. croniche app. respiratorio'
WHEN 'B23' THEN 'A pagamento'
WHEN 'B22' THEN 'Allevatori, Veterinari, ecc.'
WHEN 'B21' THEN 'Addetti a servizi pubblici di primario interesse collettivo'
WHEN 'B20' THEN 'Contatti familiari di soggetti ad alto rischio'
WHEN 'B19' THEN 'Medici e personale sanitario'
WHEN 'B18' THEN 'Ricoverati presso strutture di lungodegenza'
WHEN 'B17' THEN 'Donne in gravidanza'
WHEN 'B16' THEN 'Bambini pretermine'
WHEN 'B15' THEN 'Bambini e adolescenti in trattamento cronico con ASA'
WHEN 'B14' THEN 'Altre malattie'
WHEN 'B13' THEN 'HIV'
WHEN 'B12' THEN 'Broncopneumopatici'
WHEN 'B11' THEN 'Cardiopatici'
WHEN 'B10' THEN 'Diabetici'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'H' then
(CASE cart_vaccini.ora
WHEN 'HNF' THEN 'f) Persone tra i 18 e 27 anni, non incluse nei precedenti punti'
WHEN 'HNE' THEN 'e) Persone di età compresa tra pi? di 6 mesi e 17 anni, non incluse nei precedenti punti, sulla base degli aggiornamenti della scheda tecnica autorizzativa EMEA.'
WHEN 'HND' THEN 'd) Bambini di età superiore a 6 mesi che frequentano asilo nido; minori che vivono in comunità o istituzionalizzati.'
WHEN 'HNC' THEN 'c) Portatori di almeno una delle condizioni di rischio, di cui al comma 2 art. 1 Ord 11-09-2009, nonchÈ i soggetti fino a 24 mesi nati gravemente pretermine'
WHEN 'HNB' THEN 'b) Donne al secondo o al terzo trimestre di gravidanza: donne che hanno partorito da meno di 6 mesi o, in loro assenza, la persona che assiste il bambino in maniera continuativa'
WHEN 'HNA' THEN 'a) Pers. san. e socio-san.: PS e PC,: VVFF del Min. interno; FFAA; servizi pubbl. essenz. L. 12/6/90 n8146. e succ. mod. piani di continuit‡ datori di lavoro, donatori di sangue ecc.'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
WHEN 'A' then
(CASE cart_vaccini.ora
WHEN 'A29' THEN 'Affetti da: Pat. ass. ad un aumentato rischio di aspirazione delle secrezioni respiratorie (es. m. neuromuscolari)'
WHEN 'A28' THEN 'Affetti da: Pat. per le quali sono programmati interventi chirurgici'
WHEN 'A27' THEN 'Affetti da: M. infiammatorie croniche e s. di malassorbimento intestinali'
WHEN 'A26' THEN 'Affetti da: M. cong. o acquisite che comportino carenze prod. anticorpi, immunosoppressione da farmaci o da HIV'
WHEN 'A25' THEN 'Affetti da: Tumori'
WHEN 'A24' THEN 'Affetti da: M. degli organi emopoietici ed emoglobinopatie'
WHEN 'A23' THEN 'Affetti da: M. renali con influenza renale'
WHEN 'A22' THEN 'Affetti da: Diabete mellito ed altre malattie metaboliche'
WHEN 'A21' THEN 'Affetti da: M. apparato cardio-circolatorio, comprese cardiopatie cong. e acquisite'
WHEN 'A20' THEN 'Affetti da: M. croniche apparato respiratorio (incl. Asma, displasia bronc., fibrosi cistica e BPCO)'
WHEN 'A13' THEN 'Categoria non nota'
WHEN 'A12' THEN 'Soggetti ad alto rischio'
WHEN 'A11' THEN 'Donne che saranno nel secondo e terzo trimestre di gravidanza a inizio stagione epidemica'
WHEN 'A10' THEN 'Personale che, per motivi di lavoro, è a contatto con animali che potrebbero costituire fonte di infezione da virus influenzali non umani'
WHEN 'A09' THEN 'Familiari e contatti di soggetti ad alto rischio'
WHEN 'A08' THEN 'Bambini affetti da patologie neurologiche e neuromuscolari'
WHEN 'A07' THEN 'Bambini ed adolescenti in trattamento a lungo termine con Acido Acetilsalicilico, a rischio di sindrome di Reye in caso di infezione influenzale'
WHEN 'A06' THEN 'Bambini di età superiore ai 6 mesi con condizioni morbose predisponenti alle complicanze'
WHEN 'A05' THEN 'Soggetti addetti a servizi pubblici di primario interesse collettivo e categorie di lavoratori'
WHEN 'A04' THEN 'Individui di qualunque età ricoverati presso strutture per lungodegenti'
WHEN 'A03' THEN 'Medici e personale sanitario di assistenza'
WHEN 'A02' THEN 'Adulti affetti da patologie croniche'
WHEN 'A01' THEN 'Soggetti di età pari o superiore a 65 anni'
ELSE cart_vaccini.ora || ' - Altra categoria'
END)
ELSE NULL
END ) as categoria,
cart_vaccini.ora as Codice_Categoria,
pazienti.cognome as Cognome,
pazienti.nome as Nome,
pazienti.nascita as Data_Nascita,
pazienti.sesso as Sesso,
pazienti.codice_fiscale as Codice_Fiscale,
cart_vaccini.va_note as Note,
v_utenti.codice_regionale as Codice_Regionale_Medico,
CONCAT (v_utenti.cognome, ' ' , v_utenti.nome) AS Nome_Medico_Utente
FROM
cart_vaccini,
pazienti,
nos_002,
v_utenti
WHERE
pazienti.codice = cart_vaccini.codice AND
pazienti.codice = nos_002.codice AND
nos_002.pa_medi = v_utenti.userid AND
cart_vaccini.va_tipo LIKE '%influ%' AND
date( cart_vaccini.va_data) > '01/11/2015' AND
/* SOSTITUIRE LA DATA DELLA RIGA PRECEDENTE IN BASE ALLA DATA D'INIZIO DELLA CAMPAGNA VACCINALE */
nos_002.pa_medi = 'XXXXXXX'
/* AL POSTO DELLE XXXXXXX NELLA RIGA PRECEDENTE INSERIRE TRA GLI APICI IL PROPRIO CODICE MEDICINA DI GRUPPO DI MILLEWIN */
ORDER BY cart_vaccini.co_des, pazienti.cognome, pazienti.nome, pazienti.nascita ;
Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES
Lucio Mignone ha scritto:Lucio Mignone ha scritto:mario shirt ha scritto:vero 01/06/16 al contrarioLucio Mignone ha scritto:mario shirt ha scritto:
160601 e' il numero che mi viene dopo il numero del lotto e al posto (o e' la data ) della data.
Mario
Quella é la data!
Mario
Se ho tempo provo a 'ribaltartela'...
Per Mario e non solo,
ecco la query con la data di scadenza lotto scritta nel verso giusto (lascio la colonna dati lotto come estratta per un controllo, poi la si può' eliminare).
Mi pare corretta, ma è tardi essendo tardi... vado a letto!
NB in ROSSO le modifiche richieste da Mario.
SELECT
Trim( Left( cart_vaccini.lotto , Position( ' ' in cart_vaccini.lotto)-1 )) As lotto ,
to_date(Trim( Right( cart_vaccini.lotto , Position( ' ' in cart_vaccini.lotto)-1 )), 'YYMMDD') AS Data_Scadenza_Lotto,
cart_vaccini.lotto as Dati_Lotto_GREZZI,
cart_vaccini.va_data as Data_Vaccinazione,
cart_vaccini.co_des as Tipo_Vaccino_Utilizzato,
Case cart_vaccini.va_note WHEN 'I' THEN 'INFLUVAC' WHEN 'F' THEN 'FLUAD' ELSE NULL END AS Tipo_Di_Vaccino,
mi restituisce 0. Scusa se sei andato a letto piu' tardi per una mia modifica
Mario
mario shirt- Membro Junior
- Messaggi : 254
Punti : 5389
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 69
Pagina 1 di 2 • 1, 2
Argomenti simili
» copia dati postgres
» VERSIONE POSTGRES E SINCRONIZZAZIONE/AGGIORNAMENTO DATI
» Estrazione indirizzi e mail ed altri dati anagrafici dei pazienti
» ---------------aiuto estrazione dati per tesi --------------------------------
» estrazione dati medicina di gruppo
» VERSIONE POSTGRES E SINCRONIZZAZIONE/AGGIORNAMENTO DATI
» Estrazione indirizzi e mail ed altri dati anagrafici dei pazienti
» ---------------aiuto estrazione dati per tesi --------------------------------
» estrazione dati medicina di gruppo
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.