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

Query per pazienti con problemi di prostata

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Query per pazienti con problemi di prostata

Messaggio  drtulino il Ven 20 Nov 2015 - 19:01

Come al solito mi rivolgo ai colleghi esperti di sql per postgresql. Mi servirebbe una query con la seguente impostazione:

  1. Pazienti di sesso maschile con età superiore a 50 anni (numero complessivo)
  2. Che hanno attivato un problema di: IPB e/o prostatite (ICD9 da 600 a 602) e/o K in situ (ICD9: 233.4) e/o k prostata (ICD9: 185)
  3. Che hanno in terapia almeno una confezione di farmaci appartenenti alla categoria G04C% 

Ringrazio anticipatamente chi potrà darmi una mano.

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

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

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

Tornare in alto Andare in basso

Re: Query per pazienti con problemi di prostata

Messaggio  Cervino il Dom 22 Nov 2015 - 0:02

Prova con :

Select  InitCap( u.nome)  As  mmg ,
(Select Cast( Count( Distinct p.codice) As SmallInt ) 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 > 49.9 )
                      _Assisititi_M_over_50  ,
(Select Cast( Count( Distinct p.codice) As SmallInt ) 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 '600%' And Not ( b.pb_status = 'I' And b.modalita = 'A' )))
                      _BPH_ ,
(Select Cast( Count( Distinct p.codice) As SmallInt ) 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 '601%' And Not ( b.pb_status = 'I' And b.modalita = 'A' )))
                      _Prostatite_ ,
(Select Cast( Count( Distinct p.codice) As SmallInt ) 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 '602%' And Not ( b.pb_status = 'I' And b.modalita = 'A' )))
                      _Prost_altre_Patologie_ ,
(Select Cast( Count( Distinct p.codice) As SmallInt ) 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 '233.4%' And Not ( b.pb_status = 'I' And b.modalita = 'A' )))
                       _Prost_K_in_situ_ ,
(Select Cast( Count( Distinct p.codice) As SmallInt ) 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 '185%' And Not ( b.pb_status = 'I' And b.modalita = 'A' )))
                      _Prost_K_ ,
( Select Cast( Count( Distinct p.codice) As SmallInt ) 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 '600%' Or b.cp_code ILike '601%' Or b.cp_code ILike '602%' Or b.cp_code ILike '233.4%' Or b.cp_code ILike '185%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )))
                        _BPH_Prost_K_ ,
Case  WHEN  ( Select Cast( Count( Distinct p.codice) As SmallInt ) 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 t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'G04C%' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))      > 0              THEN  
( Select Cast( Count( Distinct p.codice) As SmallInt ) 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 t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'G04C%' And t.te_c_flag = 'C' And Left( te_tipo, 1) = 'C' ))                         ELSE
( Select Cast( Count( Distinct p.codice) As SmallInt ) 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 t.codice From cart_terap t Where t.codice = p.codice And t.co_atc ILike 'G04C%' And t.data_open Between Date( Today())-250 And Today()))     END
                           _Prost_Therapy_
FROM   v_utenti u  
ORDER BY  1

                    

                     

                     

                     

 

      


       





 


Verifica e adattala alle Tue esigenze ( eliminando o disattivando con /* ....  */  le colonne superflue )


Ti saluto ,  Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 201
Punti : 2732
Voti per importanza dei messaggi : 13
Data d'iscrizione : 03.03.11
Età : 63
Località : Orzivecchi (BS)

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Query per pazienti con problemi di prostata

Messaggio  drtulino il Dom 22 Nov 2015 - 10:34

Grazie Sergio.
Funziona benissimo.

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

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

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

Tornare in alto Andare in basso

Re: Query per pazienti con problemi di prostata

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto

- Argomenti simili

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