Sybase Vs PostgreSQL
3 partecipanti
Pagina 2 di 2 • 1, 2
Re: Sybase Vs PostgreSQL
Ciao Leo, innanzitutto, pur non essendo juventino, FORZA JUVE. La tua query FUNZIONA perfettamente per come l'hai descritta. Dovendo far fare questa estrazione, mi torna meglio, però, metterla in orizzontale (devo capire come fare con Excel) ed inserire anche i campi che danno zero, altrimenti mi tocca sommarli campo per campo. Anche per la tua query l'estrazione è per tutta la medicina di gruppo e non per singolo medico, ma manca la stringa che permette di farlo.draleo83 ha scritto:Un altro approccio. Speriamo funzioni anche con postgres . i dati sono gli stessi ( almeno così mi sembra), solo che sono disposti in verticale. Ma Se vuoi metterli in orizzontale basta salvare in excel, e con il comando copia/incolla speciale/trasponi li avrai in orizzontale. Manca il codice medico che può essere inutile: avendo usato V_pazienti verranno estratti solo i paz del medico che ha aperto mille Utilità. Se manca qualche parametro significa che NON esistono paz con quel parametro , cioè se non comparisse la riga dell' ictus significa che non esistono paz con problema iperuricemia+ ictus . E' dovuto al fatto che Group by estrae il gruppo solo se questo esiste. La tabella risultante Potrebbe anche essere compattata molto di più ,ma l'estrazione si rallenterebbe alquanto (una decina di minuti) e non so quanto ne valga la pena
Ciao e FORZA JUVE .stasera ci divertiremo (almeno spero)
Leonardo
Select '1. Assistiti ' as tipo,sesso, count(*)num
from V_pazienti group by sesso
UNION
Select '2. con misuraz' as tipo, p.sesso, COUNT(distinct a.codice)
From v_pazienti p,cart_accert a Where a.ac_des = 'URICEMIA' and a.ac_val is not null and a.codice=p.codice group by p.sesso
UNION
Select '3. iperuricemici: gruppo 1_0_40'as tipo, p.sesso, COUNT(distinct a.codice)
From v_pazienti p,cart_accert a WHERE a.ac_des ='uricemia' AND a.ac_val >7 and a.codice=p.codice and Days( p.datanasc , Today())*24/8766 <=40 group by p.sesso
UNION
Select '4. iperuricemici: gruppo 2_41_65'as tipo, p.sesso, COUNT(distinct a.codice)
From v_pazienti p,cart_accert a WHERE a.ac_des ='uricemia' AND a.ac_val >7 and a.codice=p.codice and Days( p.datanasc , Today())*24/8766 between 41 and 65 group by p.sesso
UNION
Select '5. iperuricemici: gruppo 3 > 65'as tipo, p.sesso, COUNT(distinct a.codice)
From v_pazienti p,cart_accert a WHERE a.ac_des ='uricemia' AND a.ac_val >7 and a.codice=p.codice and Days( p.datanasc , Today())*24/8766 > 65 group by p.sesso
UNION
Select '6. iperuric_cronica: gruppo 4_0_40' as tipo, p.sesso,COUNT(distinct pb.codice)
FROM cart_pazpbl pb , v_pazienti p WHERE p.codice=pb.codice AND Days( p.datanasc , Today())*24/8766 <41 AND pb.codice IN (select codice FROM cart_pazpbl WHERE Cp_Code like '274%' )
group by p.sesso
UNION
Select '7. iperuric_cronica: gruppo 5_41_65' as tipo, p.sesso,COUNT(distinct pb.codice)
FROM cart_pazpbl pb , v_pazienti p WHERE p.codice=pb.codice AND Days( p.datanasc , Today())*24/8766 BETWEEN 41 AND 65 AND pb.codice IN
(select codice FROM cart_pazpbl WHERE Cp_Code like '274%' ) group by p.sesso
UNION
Select '8. iperuric_cronica: gruppo 6_>65' as tipo, p.sesso,COUNT(distinct pb.codice)
FROM cart_pazpbl pb , v_pazienti p WHERE p.codice=pb.codice AND Days( p.datanasc , Today())*24/8766 > 65 AND pb.codice IN
(select codice FROM cart_pazpbl WHERE Cp_Code like '274%' ) group by p.sesso
UNION
select case
When Pb.cp_code BETWEEN '401%' AND '405%' then '9. anche _ ipertensione'
when pb.cp_code like '274%' then '_10. anche _ dislipidemia'
when Pb.cp_code LIKE '250%' then '_11. anche _ diabete'
when Pb.cp_code LIKE '436%' then '_12. anche _ ictus'
when Pb.cp_code LIKE '290%' then '_13. anche _ demenza'
when Pb.cp_code LIKE '414%' then '_14. anche _ cardiopatia'
when Pb.cp_code LIKE '428%' then '_15. anche _ scompenso'
else '_16. anche _ ALTRI_prob'
end as tipo, p.sesso,count ( p.codice) num
FROM V_pazienti p ,cart_pazpbl pb where p.codice =pb.codice
and p.codice in (select codice from cart_pazpbl where Cp_Code LIKE '274%') group by tipo,sesso
UNION
Select '_17. Allopurinolo_C ' as tipo, sesso, COUNT(distinct codice)
FROM V_pazienti
Where codice IN (SELECT codice from cart_pazpbl WHERE Cp_Code LIKE '274%')
AND codice IN (select codice FROM cart_terap t where t.co_atc like 'M04AA01' AND t.te_c_flag = 'C' And Left(te_tipo, 1) = 'C' ) group by sesso
UNION
Select '_18. Febuxostat_C ' as tipo, sesso, COUNT(distinct codice)
FROM V_pazienti Where codice IN (SELECT codice from cart_pazpbl WHERE Cp_Code LIKE '274%')
AND codice IN (select codice FROM cart_terap t where t.co_atc like 'M04AA03' AND t.te_c_flag = 'C' And Left(te_tipo, 1) = 'C' ) group by sesso
UNION
Select '_19. con uricemia<6'as tipo, p.sesso, COUNT(distinct a.codice)
From v_pazienti p,cart_accert a WHERE a.ac_des ='uricemia' AND a.ac_val <6 and a.codice=p.codice
group by p.sesso
order by 1
Re: Sybase Vs PostgreSQL
drtulino ha scritto:Ciao Leo, innanzitutto, pur non essendo juventino, FORZA JUVE. La tua query FUNZIONA perfettamente per come l'hai descritta. Dovendo far fare questa estrazione, mi torna meglio, però, metterla in orizzontale (devo capire come fare con Excel) ed inserire anche i campi che danno zero, altrimenti mi tocca sommarli campo per campo. Anche per la tua query l'estrazione è per tutta la medicina di gruppo e non per singolo medico, ma manca la stringa che permette di farlo.
Va be… è una maledizione. anche stavolta è andata male; ma d’altra parte sono più forti loro. Solo qualche fattore imponderabile poteva cambiare le cose. Ci riproveremo. Per la query Sarebbe molto semplice metterla in orizzontale con excel (un paio di clik del mouse) ma ,se i tuoi scopi sono quelli da te descritti, ti occorre una struttura a campi fissa; la mia attuale procedura invece visualizza i campi solo quando questi contengono dati e quindi i formati dei files finali di ciascun medico sarebbero tutti diversi tra loro; inoltre, per fare un’unica estrazione globale di tutti i medici del gruppo è indispensabile lavorare sugli archivi e non sulle viste. Tra l’altro in questa fase non ho ancora verificato la validità dei numeri che si ottengono. C'è sempre in agguato il solito problema dei risultati delle uricemie decimali , con la virgola e con il punto, che andrebbe visto meglio. Si potrebbe anche rimediare a questi problemi , ma penso che la formulazione classica ad una riga proposta da Sergio -pur essendo molto prolissa e laboriosa per lui che la scrive- è più adatta della mia ad un uso collettivo .
Ciao
Leonardo
draleo83- Membro Junior
- Messaggi : 225
Punti : 5307
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Sybase Vs PostgreSQL
La Juve penso però che abbia fatto un'ottima figura e subito dopo il pareggio penso abbia messo un po' di paura ai mostri del calcio mondiale. Per la query ti ringrazio moltissimo. Come al solito penso che tu, comunque, abbia dato spunti di riflessione ai colleghi esperti di questa "tecnica".draleo83. ha scritto:
Va be… è una maledizione. anche stavolta è andata male; ma d’altra parte sono più forti loro. Solo qualche fattore imponderabile poteva cambiare le cose. Ci riproveremo. Per la query Sarebbe molto semplice metterla in orizzontale con excel (un paio di clik del mouse) ma ,se i tuoi scopi sono quelli da te descritti, ti occorre una struttura a campi fissa; la mia attuale procedura invece visualizza i campi solo quando questi contengono dati e quindi i formati dei files finali di ciascun medico sarebbero tutti diversi tra loro; inoltre, per fare un’unica estrazione globale di tutti i medici del gruppo è indispensabile lavorare sugli archivi e non sulle viste. Tra l’altro in questa fase non ho ancora verificato la validità dei numeri che si ottengono. C'è sempre in agguato il solito problema dei risultati delle uricemie decimali , con la virgola e con il punto, che andrebbe visto meglio. Si potrebbe anche rimediare a questi problemi , ma penso che la formulazione classica ad una riga proposta da Sergio -pur essendo molto prolissa e laboriosa per lui che la scrive- è più adatta della mia ad un uso collettivo .
Ciao
Leonardo
Un abbraccio
Re: Sybase Vs PostgreSQL
Ciao Renato , varie sarebbero le soluzioni possibili ma in caso di utilizzo dell' Interfaccia MilleUtilità ( MU ) ormai desueta ed inadeguata in vece di strumenti piu' evoluti, comodi, pratici e flessibile come ad es. pgAdmin III le soluzioni sono solo le 2 classiche : estrazione in base alla tabella pazienti ( senza tuttavia poter utilizzare viste personalizzate permanenti o temporanee e neppure le WITH query ( ove è possibile riassortire i dati delle Tabelle come nelle Viste ) .drtulino ha scritto:Ciao Sergio, ho sostituito il numero precedente con il seguente 9999D99 e funziona. Il problema che mi si pone è che non mi seleziona i medici del gruppo, pur aggiungendo il codice identificativo di ciascun medico. Mi estrae sempre tutti i dati insieme per tutti i MMG della Medicina di Gruppo.
Grazie.
1° soluzione : prevede l' utilizzo della tabella pazienti MultiUtente ( in MU limitata a 2 Utenti x estrazione , dato che la lunghezza della query non puo' superare un certo limite di caratteri ; di conseguenza bisogna cambiare la clausola OffSet x estrarre i 2 utenti successivi e cosi via; tale limitazione non è ovviamente presente in pgAdmin III :
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' Group By u.userid )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_accert a ON a.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_accert a ON a.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 Between 40 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And
( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 ) _gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And
( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists
( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788'
And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid))
And a1.ac_val Is Not Null) ) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists
( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788'
And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid))
And a1.ac_val Is Not Null) ) >7 )
_gruppo3_65_99_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%'
And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'f' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%'
And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%'
And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )) )
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )) )
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ) )
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ) )
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ) )
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ) )
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ) )
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ) )
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ) )
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ) )
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ) )
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ) )
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ) )
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ) )
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' ) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ) )
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) < 6 )
_Uricemia_inf_6_F_
FROM v_utenti u Where u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
UNION
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' Group By u.userid )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_accert a ON a.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_accert a ON a.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And
a1.ac_val Is Not Null) ) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And
a1.ac_val Is Not Null) ) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 Between 40 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And
( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 ) _gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And
( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists
( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788'
And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid))
And a1.ac_val Is Not Null) ) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists
( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788'
And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid))
And a1.ac_val Is Not Null) ) >7 )
_gruppo3_65_99_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%'
And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'f' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'M' And Days( p.nascita , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%'
And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'F' And Days( p.nascita , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%'
And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From (( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And
Sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )) )
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )) )
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ) )
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ) )
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ) )
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ) )
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ) )
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ) )
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ) )
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ) )
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ) )
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ) )
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN
( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ) )
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ) )
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' ) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ) )
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'M' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Right Outer Join v_utenti u On n.pa_medi = u.userid Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 1 ) And p.pa_convenzione = 'S' And ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null And Sesso ILike 'F' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) < 6 )
_Uricemia_inf_6_F_
FROM v_utenti u Where u.nome IN ( Select u.nome From v_utenti u Limit 1 OffSet 1 )
ORDER BY 1
In attesa di una Tua eventuale conferma ( prove eseguite su un MillepS MonoUtente !!! )
Ti saluto Sergio
Ultima modifica di Cervino il Gio 11 Giu 2015 - 0:43 - modificato 1 volta.
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: Sybase Vs PostgreSQL
2° soluzione : utilizzo della classica vista : v_pazienti con dati MonoUtente con esclusione dei Pazienti a Termine (?) , oltretutto non disponibile in pgAdmin III ( ove tuttavia è possibile creare a piacere ogni tipo di Viste : in talo modo divente molto piu' semplice e facile elaborare queries ) :
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
' Uricemia > 7 => ' _Iperuricemici_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo3_65_99_F_ ,
' Iperuricemia_cronica => ' _Iperuricemia_cronica_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 )And p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 6 )
_Uricemia_inf_6_F_
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Un saluto agli Utenti del Forum , Sergio , Orzivecchi , BS
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
' Uricemia > 7 => ' _Iperuricemici_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo3_65_99_F_ ,
' Iperuricemia_cronica => ' _Iperuricemia_cronica_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 )And p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 6 )
_Uricemia_inf_6_F_
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Un saluto agli Utenti del Forum , 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: Sybase Vs PostgreSQL
Ciao Sergio, questa non mi dà errore, ma mi restituisce righe 0 (zero).Cervino ha scritto:2° soluzione : utilizzo della classica vista : v_pazienti con dati MonoUtente con esclusione dei Pazienti a Termine (?) , oltretutto non disponibile in pgAdmin III ( ove tuttavia è possibile creare a piacere ogni tipo di Viste : in talo modo divente molto piu' semplice e facile elaborare queries ) :
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
' Uricemia > 7 => ' _Iperuricemici_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo3_65_99_F_ ,
' Iperuricemia_cronica => ' _Iperuricemia_cronica_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where u.userid = ( Select u.userid From v_utenti u Limit 1 OffSet 0 )And p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 6 )
_Uricemia_inf_6_F_
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Un saluto agli Utenti del Forum , Sergio , Orzivecchi , BS
Quella con due utenti per volta non la posso prendere in considerazione perché non potrei trasferirla, per la complessità, a tutti gli altri colleghi che parteciperanno all'audit.
Grazie mille.
Re: Sybase Vs PostgreSQL
Ciao Renato , è stata una sorpresa anche per Me trovare la vecchia Vista v_pazienti in MU ( utilizzo MU ormai solo raramente ), non presente tuttavia nel mio MillePS ( v9.0.3 ); è vero che ho creato una vista v_pazienti personalizzata in MillePS ( con i pazienti a termine inclusi ma senza tuttavia cambiare i nomi alle colonne : in MU nascita diventa datanasc ); tuttavia le viste personalizzate create nel MillePS tramite pgAdmin III o phpPgAdmin non sono utilizzabili in MU ( peraltro strumento ormai desueto ) .
Comunque quando una query non funziona la procedure è sempre la stessa : procedere x gradi riducendo la query ai minimi termini e poi aggiungere subquery .
Inizia con queste interrogazioni :
Select * FROM v_utenti quanti Utenti restituisce ? Che posizione occupa Admin ( che va escuso ) ?
Select * FROM v_pazienti sono presente i pazienti del solo Medico Utente oppure anche quelli di tutti gli altri Medici
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
' '
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Se Non funziona togli le due subquery ( _Assisititi_M_ , _Assisititi_F_ , ) ; se funziona prova separatamente alcune subquery di diverso tipo , ad esempio :
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
Non resta che analizzare eventuali errori e cercare di correggerli in modo da poter procedere al riassemblaggio della query .
Comunque resta sempre utilizzabile la query classica e piu' completa, a partenza dalla tabella pazienti del MillePS : ogni Medico esegue l' interrogazione utilizzando il proprio nome Utente o la posizione di OffSet in v_utenti ottenibile con : Select * FROM v_utenti )
Ti Saluto , Sergio
Comunque quando una query non funziona la procedure è sempre la stessa : procedere x gradi riducendo la query ai minimi termini e poi aggiungere subquery .
Inizia con queste interrogazioni :
Select * FROM v_utenti quanti Utenti restituisce ? Che posizione occupa Admin ( che va escuso ) ?
Select * FROM v_pazienti sono presente i pazienti del solo Medico Utente oppure anche quelli di tutti gli altri Medici
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
' '
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Se Non funziona togli le due subquery ( _Assisititi_M_ , _Assisititi_F_ , ) ; se funziona prova separatamente alcune subquery di diverso tipo , ad esempio :
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
Non resta che analizzare eventuali errori e cercare di correggerli in modo da poter procedere al riassemblaggio della query .
Comunque resta sempre utilizzabile la query classica e piu' completa, a partenza dalla tabella pazienti del MillePS : ogni Medico esegue l' interrogazione utilizzando il proprio nome Utente o la posizione di OffSet in v_utenti ottenibile con : Select * FROM v_utenti )
Ti 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: Sybase Vs PostgreSQL
>Select * FROM v_utenti quanti Utenti restituisce ? Che posizione occupa Admin ( che va escuso ) ?
Restituisce tutti gli utenti presenti compresi i collaboratori ed i sostituti e l'Admin occupa la quarta posizione.
>Select * FROM v_pazienti
Restituisce i soli pazienti del Medico che ha lanciato la query
>ogni Medico esegue l' interrogazione utilizzando il proprio nome Utente o la posizione di OffSet in v_utenti ottenibile >con : Select * FROM v_utenti )
Sarebbe quello che si sta cercando
A questo punto attendo fiducioso la composizione dell'intera query.
Restituisce tutti gli utenti presenti compresi i collaboratori ed i sostituti e l'Admin occupa la quarta posizione.
>Select * FROM v_pazienti
Restituisce i soli pazienti del Medico che ha lanciato la query
>ogni Medico esegue l' interrogazione utilizzando il proprio nome Utente o la posizione di OffSet in v_utenti ottenibile >con : Select * FROM v_utenti )
Sarebbe quello che si sta cercando
A questo punto attendo fiducioso la composizione dell'intera query.
Ultima modifica di drtulino il Gio 11 Giu 2015 - 23:03 - modificato 2 volte.
Re: Sybase Vs PostgreSQL
Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
' '
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Questa non dà errore ma estrae 0 (zero) righe, anche levando le due subquery ( _Assisititi_M_ , _Assisititi_F_ , ).
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
' '
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Questa non dà errore ma estrae 0 (zero) righe, anche levando le due subquery ( _Assisititi_M_ , _Assisititi_F_ , ).
Re: Sybase Vs PostgreSQL
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
Mi dà un rigo con una colonna intestata "Count 6"
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
Mi dà un rigo con una colonna intestata "Count 6"
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
Mi dà un rigo con una colonna intestata "Count 1"
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
Mi dà un rigo con una colonna intestata "Count 42"
Spero di essere stato preciso nella descrizione delle estrazioni.
Mi dà un rigo con una colonna intestata "Count 6"
( Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
Mi dà un rigo con una colonna intestata "Count 6"
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
Mi dà un rigo con una colonna intestata "Count 1"
( Select Count( Distinct p.codice) From ( v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
Mi dà un rigo con una colonna intestata "Count 42"
Spero di essere stato preciso nella descrizione delle estrazioni.
Re: Sybase Vs PostgreSQL
drtulino ha scritto:Select InitCap( u.nome) As mmg , u.userid ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p RIGHT Outer JOIN v_utenti u ON p.medico = u.nome Where p.sesso ILike 'F' )
_Assisititi_F_ ,
' '
FROM v_utenti u RIGHT Outer JOIN v_pazienti p ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Questa non dà errore ma estrae 0 (zero) righe, anche levando le due subquery ( _Assisititi_M_ , _Assisititi_F_ , ).
Grazie , prova con :
Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Se restituisce sempre righe 0 , prova con :
Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
GROUP BY u.nome , u.userid
e le prove continuano ... purtroppo , ciao , 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: Sybase Vs PostgreSQL
Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Mi trova un utente, ma non è l'utente che ha lanciato la query.
Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
GROUP BY u.nome , u.userid
Questa mi estrae tutti gli utenti compresi collaboratori e sostituti. Il primo è l'utente che ha lanciato la query ed il secondo l'Admin.
Grazie a te.
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Mi trova un utente, ma non è l'utente che ha lanciato la query.
Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
GROUP BY u.nome , u.userid
Questa mi estrae tutti gli utenti compresi collaboratori e sostituti. Il primo è l'utente che ha lanciato la query ed il secondo l'Admin.
Grazie a te.
Re: Sybase Vs PostgreSQL
Ora prova con questa versione semplificata :drtulino ha scritto:Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
WHERE u.nome IN ( Select u.nome From v_utenti u Limit 1 Offset 0 )
GROUP BY u.nome , u.userid
Mi trova un utente, ma non è l'utente che ha lanciato la query.
Select InitCap( u.nome) As mmg , u.userid , ' '
FROM v_pazienti p RIGHT Outer JOIN v_utenti u ON u.nome = p.medico
GROUP BY u.nome , u.userid
Questa mi estrae tutti gli utenti compresi collaboratori e sostituti. Il primo è l'utente che ha lanciato la query ed il secondo l'Admin.
Grazie a te.
Select p.medico ,
(Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
' Uricemia > 7 => ' _Iperuricemici_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo3_65_99_F_ ,
' Iperuricemia_cronica => ' _Iperuricemia_cronica_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 6 )
_Uricemia_inf_6_F_
FROM v_pazienti p
GROUP BY p.medico
Grazie x l' infinita pazienza , 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: Sybase Vs PostgreSQL
FUNZIONAAAAAAAA!!!!
Grazie a te ed a Leonardo per il grande aiuto datomi.
Buon fine settimana.
Grazie a te ed a Leonardo per il grande aiuto datomi.
Buon fine settimana.
Re: Sybase Vs PostgreSQL
per curiosità mia (devo realizzare qualcosa di simile , ma con altri parametri). Puoi dirmi se la seguente query funziona con Postgres e/o se vengono visualizzati le poche colonne presenti per tutti medici del gruppo ?
select string( u.cognome, ' ', u.nome ) nome,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'M'
WHERE n.pa_medi = u.userid ) Assisititi_M,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'F'
WHERE n.pa_medi = u.userid ) Assisititi_F,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'M' and p.codice in (select codice from cart_accert a where a.ac_des like '%uricemia%' AND a.ac_val <>'')
WHERE n.pa_medi = u.userid) M_con_uricemia,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'F' and p.codice in (select codice from cart_accert a where a.ac_des like '%uricemia%' AND a.ac_val <>'')
WHERE n.pa_medi = u.userid) F_con_uricemia
from v_utenti u where tipo_utente = 'T'
grazie a te
leonardo
select string( u.cognome, ' ', u.nome ) nome,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'M'
WHERE n.pa_medi = u.userid ) Assisititi_M,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'F'
WHERE n.pa_medi = u.userid ) Assisititi_F,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'M' and p.codice in (select codice from cart_accert a where a.ac_des like '%uricemia%' AND a.ac_val <>'')
WHERE n.pa_medi = u.userid) M_con_uricemia,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'F' and p.codice in (select codice from cart_accert a where a.ac_des like '%uricemia%' AND a.ac_val <>'')
WHERE n.pa_medi = u.userid) F_con_uricemia
from v_utenti u where tipo_utente = 'T'
grazie a te
leonardo
draleo83- Membro Junior
- Messaggi : 225
Punti : 5307
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11
Re: Sybase Vs PostgreSQL
Ciao Leonardo,draleo83 ha scritto:per curiosità mia (devo realizzare qualcosa di simile , ma con altri parametri). Puoi dirmi se la seguente query funziona con Postgres e/o se vengono visualizzati le poche colonne presenti per tutti medici del gruppo ?
select string( u.cognome, ' ', u.nome ) nome,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'M'
WHERE n.pa_medi = u.userid ) Assisititi_M,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'F'
WHERE n.pa_medi = u.userid ) Assisititi_F,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'M' and p.codice in (select codice from cart_accert a where a.ac_des like '%uricemia%' AND a.ac_val <>'')
WHERE n.pa_medi = u.userid) M_con_uricemia,
(SELECT count(p.codice) FROM nos_002 n JOIN pazienti P ON p.codice = n.codice
AND (pa_drevoca IS NULL or pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND pa_convenzione ='S' and p.Sesso = 'F' and p.codice in (select codice from cart_accert a where a.ac_des like '%uricemia%' AND a.ac_val <>'')
WHERE n.pa_medi = u.userid) F_con_uricemia
from v_utenti u where tipo_utente = 'T'
grazie a te
leonardo
funziona ed estrae le uricemie divise per sesso e divise correttamente per medico di tutti gli utenti della Medicina di gruppo.
Per qualsiasi altra prova non esitare.
Re: Sybase Vs PostgreSQL
Ciao Renato, ho corretto alcune piccole difformità nelle clausole delle subquery , comunque verificale ed eventualmente modificale :drtulino ha scritto:FUNZIONAAAAAAAA!!!!
Grazie a te ed a Leonardo per il grande aiuto datomi.
Buon fine settimana.
Select p.medico ,
(Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' )
_Assisititi_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'M' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_M_con_uricemia_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_accert a On a.codice = p.codice Where p.sesso ILike 'F' And ( a.ac_code ILike ' 788' And a.ac_val Is Not Null ))
_F_con_uricemia_ ,
' Uricemia > 7 => ' _Iperuricemici_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null )) >7 )
_gruppo3_65_99_F_ ,
' Iperuricemia_cronica => ' _Iperuricemia_cronica_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 < 40.1 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 Between 40.1 And 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And Days( p.datanasc , Today())*24/8766 > 64.9 And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )))
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.sesso ILike 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From v_pazienti p Where p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From v_pazienti p Left Outer Join cart_pazpbl b On b.codice = p.codice Where p.sesso ILike 'F' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null)) < 6 )
_Uricemia_inf_6_F_
FROM v_pazienti p
GROUP BY p.medico
per favore potresti provare se l' estrazione funziona anche dalla tabella pazienti del MillePS , grazie :
Select InitCap( u.nome) As mmg ,
(Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' )
_Assisititi_M_ ,
(Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' )
_Assisititi_F_ ,
(Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select A.codice From cart_accert a Where a.ac_des Ilike '%uricemia%' And a.ac_val <>''))
_M_con_uricemia_ ,
(Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select A.codice From cart_accert a Where a.ac_des Ilike '%uricemia%' And a.ac_val <>''))
_F_con_uricemia_ ,
' Uricemia > 7 => ' _Iperuricemici_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And Days( p.nascita , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo1_0_40_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And Days( p.nascita , Today())*24/8766 < 40.1 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo1_0_40_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo2_41_64_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo2_41_64_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And Days( p.nascita , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo3_65_99_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And Days( p.nascita , Today())*24/8766 > 64.9 And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) >7 )
_gruppo3_65_99_F_ ,
' Iperuricemia_cronica => ' _Iperuricemia_cronica_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And Days( p.nascita , Today())*24/8766 <40.1 And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And Days( p.nascita , Today())*24/8766 <40.1 And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo4_0_40_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And Days( p.nascita , Today())*24/8766 Between 40.1 And 64.9 And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo5_41_64_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And Days( p.nascita , Today())*24/8766 > 64.9 And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And Days( p.nascita , Today())*24/8766 > 64.9 And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_gruppo6_M_65_99_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On n.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )))
_Iperuric_F_ ,
/* ( Select Count( Distinct p.codice) From ( pazienti p Left Outer Join nos_002 n On p.codice = n.codice ) Left Outer Join cart_pazpbl b On b.codice = p.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And ( b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) )
_Iperuric_M1_ , */
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )) )
_Iperuric_Ipertensione_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '401%' Or b.cp_code ILike '402%' Or b.cp_code ILike '403%' Or b.cp_code ILike '404%' Or b.cp_code ILike '405%' )) )
_Iperuric_Ipertensione_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '272%' ))
_Iperuric_DisLipidemia_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' ))
_Iperuric_Diabete_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '436%' ))
_Iperuric_Ictus_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '290%' ))
_Iperuric_Demenza_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '414%' ))
_Iperuric_Cardiopatia_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '428%' ))
_Iperuric_Scomp_Card_F_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA01' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Allopurinolo_cont_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And p.codice IN ( Select t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'M04AA03' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))
_Febuxostat_cont_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'M' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) < 7 )
_Uricemia_inf_7_M_ ,
( Select Count( Distinct p.codice) From pazienti p Left Outer Join nos_002 n On p.codice = n.codice Where n.pa_medi = u.userid And p.pa_convenzione = 'S' 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 p.decesso Is Null And p.sesso = 'F' And p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '274%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) And ( Select To_Number( a.ac_val , '9999D99' ) From cart_accert a Where a.codice = p.codice And ( a.ac_code ILike ' 788' And a.data_open < Today() And Ascii( a.ac_val ) Between 48 And 57 ) And Not Exists ( Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code ILike ' 788' And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a1.ac_val Is Not Null) ) < 6 )
_Uricemia_inf_6_F_
FROM v_utenti u
ORDER BY 1
Ma i dati estratti sono attendibili ? Tempi di estrazione ?
Ti 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: Sybase Vs PostgreSQL
Ciao Sergio, le query funzionano tutte e due.Cervino ha scritto:Ciao Renato, ho corretto alcune piccole difformità nelle clausole delle subquery , comunque verificale ed eventualmente modificale...
....per favore potresti provare se l' estrazione funziona anche dalla tabella pazienti del MillePS , grazie :
....Ma i dati estratti sono attendibili ? Tempi di estrazione ?
Ti saluto , Sergio
La prima fa l'estrazione in pochissimi secondi, la seconda in poco meno di un minuto, quindi molto veloci.
I dati estratti dalla prima query, confrontati con la query precedente di ieri, mi danno le seguenti differenze:
1) _gruppo2_41_64_m_ : la nuova estrae due pazienti in meno rispetto alla precedente (non capisco per quale motivo, poiché le subquery sono uguali);
2) le ultime due colonne della nuova query estraggono molto meno pazienti (uricemia_7_m = 7 vs 444 e uricemia_7_f = 8 vs 343). Considera che nella query originale (quella per Sybase, queste due colonne avrebbero dovuto estrarre i pazienti di differente sesso con acido urico inferiore a 6 (ho corretto la tua query per il sesso maschile che era inferiore a 7), così come te le riporto di seguito:
(Select COUNT(*) FROM cart_pazpbl a, pazienti p, NOS_002 n WHERE a.codice=p.codice AND p.codice=n.codice AND p.Sesso = 'M' AND p.decesso is null AND (n.Pa_drevoca is null OR n.Pa_drevoca >Today()) AND a.Cp_Code like '274%' AND a.Cp_Cod2 <> '01' AND n.Pa_medi like '%' AND exists (select c.codice FROM cart_accert c WHERE a.codice=c.codice AND c.ac_des like '%uricemia%' AND c.ac_val <6 AND c.data_Open >Today()-365)) Uricemia_inf_6_M,
(Select COUNT(*) FROM cart_pazpbl a, pazienti p, NOS_002 n WHERE a.codice=p.codice AND p.codice=n.codice AND p.Sesso = 'F' AND p.decesso is null AND (n.Pa_drevoca is null OR n.Pa_drevoca >Today()) AND a.Cp_Code like '274%' AND a.Cp_Cod2 <> '01' AND n.Pa_medi like '%' AND exists (select c.codice FROM cart_accert c WHERE a.codice=c.codice AND c.ac_des like '%uricemia%' AND c.ac_val <6 AND c.data_Open >Today()-365)) Uricemia_inf_6_F
Ad occhio, quindi, direi che è più corrispondente alla realtà la query di ieri.
Anche la query della "Tabella pazienti" mi estrae con qualche piccola differenza di 1-2 pazienti gli stessi dati.
Spero di essere stato chiaro.
Veramente complimenti e grazie.
Re: Sybase Vs PostgreSQL
Ciao Renato , grazie a Te x le prove : i risultato ottenuti sono invece quelli attesi : avendo corretto le marginali differenze presenti nelle subquery : _gruppo2_41_64_m_ ( eta Between 40.1 ( al posto di 40 ) And 64.9 ) quindi gli eventuali IperUricemici M di anni 40 venivano inclusi o esclusi .drtulino ha scritto:Ciao Sergio, le query funzionano tutte e due.Cervino ha scritto:Ciao Renato, ho corretto alcune piccole difformità nelle clausole delle subquery , comunque verificale ed eventualmente modificale...
....per favore potresti provare se l' estrazione funziona anche dalla tabella pazienti del MillePS , grazie :
....Ma i dati estratti sono attendibili ? Tempi di estrazione ?
Ti saluto , Sergio
La prima fa l'estrazione in pochissimi secondi, la seconda in poco meno di un minuto, quindi molto veloci.
I dati estratti dalla prima query, confrontati con la query precedente di ieri, mi danno le seguenti differenze:
1) _gruppo2_41_64_m_ : la nuova estrae due pazienti in meno rispetto alla precedente (non capisco per quale motivo, poiché le subquery sono uguali);
2) le ultime due colonne della nuova query estraggono molto meno pazienti (uricemia_7_m = 7 vs 444 e uricemia_7_f = 8 vs 343). Considera che nella query originale (quella per Sybase, queste due colonne avrebbero dovuto estrarre i pazienti di differente sesso con acido urico inferiore a 6 (ho corretto la tua query per il sesso maschile che era inferiore a 7), così come te le riporto di seguito:
(Select COUNT(*) FROM cart_pazpbl a, pazienti p, NOS_002 n WHERE a.codice=p.codice AND p.codice=n.codice AND p.Sesso = 'M' AND p.decesso is null AND (n.Pa_drevoca is null OR n.Pa_drevoca >Today()) AND a.Cp_Code like '274%' AND a.Cp_Cod2 <> '01' AND n.Pa_medi like '%' AND exists (select c.codice FROM cart_accert c WHERE a.codice=c.codice AND c.ac_des like '%uricemia%' AND c.ac_val <6 AND c.data_Open >Today()-365)) Uricemia_inf_6_M,
(Select COUNT(*) FROM cart_pazpbl a, pazienti p, NOS_002 n WHERE a.codice=p.codice AND p.codice=n.codice AND p.Sesso = 'F' AND p.decesso is null AND (n.Pa_drevoca is null OR n.Pa_drevoca >Today()) AND a.Cp_Code like '274%' AND a.Cp_Cod2 <> '01' AND n.Pa_medi like '%' AND exists (select c.codice FROM cart_accert c WHERE a.codice=c.codice AND c.ac_des like '%uricemia%' AND c.ac_val <6 AND c.data_Open >Today()-365)) Uricemia_inf_6_F
Ad occhio, quindi, direi che è più corrispondente alla realtà la query di ieri.
Anche la query della "Tabella pazienti" mi estrae con qualche piccola differenza di 1-2 pazienti gli stessi dati.
Spero di essere stato chiaro.
Veramente complimenti e grazie.
Per le ultime 2 subquery ( Uricemia_inf_6 ) : la condizione richiesta è il computo dei Pazienti con problema IperUricemia Attivo con ultimo valore di Acido Urico < 6 x Maschi e Femmine e non di Tutti i Pazienti con IperUricemia < 6 : comunque deciderai Tu quale opzione preferire ( Ho eliminato la clausola : AND a.Cp_Cod2 <> '01' in quanto dovrebbere avere un senso aggiungerla, solo con un codice ICD9 specifico e non generico (eliminando quindi '%' )
Ti 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: Sybase Vs PostgreSQL
Chiaro e condivido le tue osservazioni.Cervino ha scritto:Ciao Renato , grazie a Te x le prove : i risultato ottenuti sono invece quelli attesi : avendo corretto le marginali differenze presenti nelle subquery : _gruppo2_41_64_m_ ( eta Between 40.1 ( al posto di 40 ) And 64.9 ) quindi gli eventuali IperUricemici M di anni 40 venivano inclusi o esclusi .
Per le ultime 2 subquery ( Uricemia_inf_6 ) : la condizione richiesta è il computo dei Pazienti con problema IperUricemia Attivo con ultimo valore di Acido Urico < 6 x Maschi e Femmine e non di Tutti i Pazienti con IperUricemia < 6 : comunque deciderai Tu quale opzione preferire ( Ho eliminato la clausola : AND a.Cp_Cod2 <> '01' in quanto dovrebbere avere un senso aggiungerla, solo con un codice ICD9 specifico e non generico (eliminando quindi '%' )
Ti saluto , Sergio
Complimenti ancora per l'ottimo lavoro.
Pagina 2 di 2 • 1, 2
Argomenti simili
» query sybase per LAMA e glaucoma
» Passaggio a PostgreSQL
» ESTRAZIONE RCV - MODIFICA VECCHIA QUERY SYBASE
» sondaggio sybase postgres
» Postgresql: impressioni a caldo
» Passaggio a PostgreSQL
» ESTRAZIONE RCV - MODIFICA VECCHIA QUERY SYBASE
» sondaggio sybase postgres
» Postgresql: impressioni a caldo
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.