FORUM PER UTENTI MILLEWIN
Attenzione !
Per intervenire sul forum è necessario essere registrati e connessi.

L'Amministratore

****************************************************
“Se tu hai una mela ed io ho una mela, e ce la scambiamo, alla fine tu ed io avremo sempre una mela ciascuno.
Ma se tu hai un’idea ed io ho un’idea, e ce la scambiamo, allora avremo entrambi due idee”.

George Bernard Shaw
****************************************************

ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Pagina 1 di 2 1, 2  Seguente

Andare in basso

ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Dom 15 Nov 2015 - 16:01

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


Ultima modifica di Lucio Mignone il Mar 8 Dic 2015 - 12:39, modificato 2 volte
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Mar 8 Dic 2015 - 12:35

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 ;


Ultima modifica di Lucio Mignone il Mer 20 Apr 2016 - 22:25, modificato 4 volte
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Ven 11 Dic 2015 - 18:38

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 ;
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  mario shirt il Ven 11 Dic 2015 - 20:02

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
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3154
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  mario shirt il Ven 11 Dic 2015 - 20:32

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
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3154
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Ven 11 Dic 2015 - 21:57

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.
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Cervino il Sab 12 Dic 2015 - 2:00

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

Cervino
Membro Junior
Membro Junior

Messaggi : 221
Punti : 3028
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 15:15

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?

What a Face


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.
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  drtulino il Sab 12 Dic 2015 - 15:50

La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?

_________________
Renato Tulino
MMG Monte Argentario (GR)
Facebook Millewin: https://www.facebook.com/groups/utentimillewin/
Twitter: @RenatoTulino
avatar
drtulino
Moderatore
Moderatore

Messaggi : 1808
Punti : 4975
Voti per importanza dei messaggi : 91
Data d'iscrizione : 20.02.11
Età : 54
Località : Monte Argentario (GR)

Visualizza il profilo https://www.facebook.com/groups/utentimillewin/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 16:03

drtulino ha scritto:La query di Sergio mi dà errore (non è possibile una stringa con lunghezza negativa). Possibile?

A me gira correttamente...
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  drtulino il Sab 12 Dic 2015 - 16:14

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...
...e allora dove potrei avere il problema? Quale potrebbe essere la stringa con lunghezza negativa?

_________________
Renato Tulino
MMG Monte Argentario (GR)
Facebook Millewin: https://www.facebook.com/groups/utentimillewin/
Twitter: @RenatoTulino
avatar
drtulino
Moderatore
Moderatore

Messaggi : 1808
Punti : 4975
Voti per importanza dei messaggi : 91
Data d'iscrizione : 20.02.11
Età : 54
Località : Monte Argentario (GR)

Visualizza il profilo https://www.facebook.com/groups/utentimillewin/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 16:24

drtulino ha scritto:
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...
...e allora dove potrei avere il problema? Quale potrebbe essere la stringa con lunghezza negativa?


Copia/incolla in milleutilità sbagliato???
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  drtulino il Sab 12 Dic 2015 - 16:37

Lucio Mignone ha scritto:
drtulino ha scritto:
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...
...e allora dove potrei avere il problema? Quale potrebbe essere la stringa con lunghezza negativa?


Copia/incolla in milleutilità sbagliato???
Operazione fatta due volte ma senza risultato!!

_________________
Renato Tulino
MMG Monte Argentario (GR)
Facebook Millewin: https://www.facebook.com/groups/utentimillewin/
Twitter: @RenatoTulino
avatar
drtulino
Moderatore
Moderatore

Messaggi : 1808
Punti : 4975
Voti per importanza dei messaggi : 91
Data d'iscrizione : 20.02.11
Età : 54
Località : Monte Argentario (GR)

Visualizza il profilo https://www.facebook.com/groups/utentimillewin/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  mario shirt il Sab 12 Dic 2015 - 17:41

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
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3154
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 18:00

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...
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  mario shirt il Sab 12 Dic 2015 - 19:00

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
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3154
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 19:03

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!
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  mario shirt il Sab 12 Dic 2015 - 19:08

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 santa santa

Mario
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3154
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 19:53

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 santa santa

Mario


Se ho tempo provo a 'ribaltartela'...


Ultima modifica di Lucio Mignone il Sab 12 Dic 2015 - 19:57, modificato 1 volta
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 19:56

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...
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Cervino il Sab 12 Dic 2015 - 23:02

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

Cervino
Membro Junior
Membro Junior

Messaggi : 221
Punti : 3028
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Sab 12 Dic 2015 - 23:47

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)



[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).
>> 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…)
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Cervino il Dom 13 Dic 2015 - 0:13

Grazie a te Sergio.Aggiungo che anche la sola funziona AGE può' tornare utile ai nostri scopi…AGE(timestamp, timestamp),AGE(timestamp) ha scritto:[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).
>> 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…)
Posto x comodità alcune delle possibili opzioni x calcolare l' età, graze ai suggerimenti di Lucio, che ringrazio :



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
Membro Junior

Messaggi : 221
Punti : 3028
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Lucio Mignone il Dom 13 Dic 2015 - 0:38

Lucio Mignone ha scritto:
mario shirt ha scritto:
Lucio 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!
vero 01/06/16 al contrario santa santa 

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!Sleep
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 ;
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3589
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  mario shirt il Dom 13 Dic 2015 - 8:39

Lucio Mignone ha scritto:
Lucio Mignone ha scritto:
mario shirt ha scritto:
Lucio 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!
vero 01/06/16 al contrario santa santa 

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!Sleep
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 study study

Mario
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3154
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: ESTRAZIONE DATI CAMPAGNA ANTINFLUENZALE 2015 - POSTGRES

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Pagina 1 di 2 1, 2  Seguente

Torna in alto

- Argomenti simili

 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum