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

L'Amministratore

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

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

Sybase Vs PostgreSQL

Pagina 2 di 2 Precedente  1, 2

Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Sab 6 Giu 2015 - 17:53

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

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.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  draleo83 il Sab 6 Giu 2015 - 23:55

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

Messaggi : 214
Punti : 2891
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Dom 7 Giu 2015 - 10:00

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
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".
Un abbraccio

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Gio 11 Giu 2015 - 0:21

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.
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 ) .

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

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Gio 11 Giu 2015 - 0:42

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

Cervino
Membro Junior
Membro Junior

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Gio 11 Giu 2015 - 13:08

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
Ciao Sergio, questa non mi dà errore, ma mi restituisce righe 0 (zero).
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.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Gio 11 Giu 2015 - 22:31

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

Cervino
Membro Junior
Membro Junior

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Gio 11 Giu 2015 - 22:42

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

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Gio 11 Giu 2015 - 22:45

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_  , ).

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Gio 11 Giu 2015 - 23:01

( 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.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Ven 12 Giu 2015 - 13:07

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

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Ven 12 Giu 2015 - 14:15

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.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Ven 12 Giu 2015 - 16:34

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.
Ora prova con questa versione semplificata :

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

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Ven 12 Giu 2015 - 19:15

FUNZIONAAAAAAAA!!!!
Grazie a te ed a Leonardo per il grande aiuto datomi.
Buon fine settimana.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  draleo83 il Ven 12 Giu 2015 - 19:40

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

Messaggi : 214
Punti : 2891
Voti per importanza dei messaggi : 24
Data d'iscrizione : 21.02.11

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Ven 12 Giu 2015 - 19:53

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
Ciao 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.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Sab 13 Giu 2015 - 22:58

drtulino ha scritto:FUNZIONAAAAAAAA!!!!
Grazie a te ed a Leonardo per il grande aiuto datomi.
Buon fine settimana.
Ciao Renato, ho corretto alcune piccole difformità nelle clausole delle subquery , comunque verificale ed eventualmente modificale :

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

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Dom 14 Giu 2015 - 10:14

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
Ciao Sergio, le query funzionano tutte e due.
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.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Cervino il Dom 14 Giu 2015 - 12:10

drtulino ha scritto:
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
Ciao Sergio, le query funzionano tutte e due.
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.
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

Cervino
Membro Junior
Membro Junior

Messaggi : 219
Punti : 2847
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Visualizza il profilo dell'utente

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  drtulino il Dom 14 Giu 2015 - 12:17

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
Chiaro e condivido le tue osservazioni.
Complimenti ancora per l'ottimo lavoro.

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

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

Visualizza il profilo dell'utente http://www.facebook.com/groups/utentimillewin/

Tornare in alto Andare in basso

Re: Sybase Vs PostgreSQL

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Tornare in alto Andare in basso

Pagina 2 di 2 Precedente  1, 2

Tornare in alto

- Argomenti simili

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