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

dove sbagli?

Andare in basso

dove sbagli?

Messaggio  mario shirt il Sab 11 Mag 2013 - 23:13

Ai maestri:

Ho cercato di adattare un pezzo di una query complessa elaborata tempo fa per ottenere numero di pazienti diabetici con prescrizione di anticoagulanti non eparina.
Parte della query funzionante che ho cercato di modificare:

(Select ' 01-Alcool 2011' As Esame, Count( Distinct a.codice) As N_pazienti From V_Pazienti p, cart_accert a Where p.codice=a.codice AND a.ac_Code Like '2904' And a.ac_val Is Not Null And Year( a.data_open) = 2011)
Union

(Select ' 05-Fumo 2011' As Esame, Count( Distinct a.codice) From V_Pazienti p, cart_accert a
Where p.codice=a.codice AND a.ac_Code Like '2832' And a.ac_val Is Not Null And Year( a.data_open) = 2011)

Union
(Select ' 07-DM con ASA 2011' As Esame, Count( Distinct t.codice) From V_Pazienti p, cart_pazpbl b, cart_terap t WHERE p.codice = b.codice AND p.codice=t.codice AND b.cp_code Like '250%' AND Years(p.datanasc, Today())>16 And t.co_atc Like 'B01AC06' And Year( t.data_open) = 2011)
Union
(Select ' 11-DM con Microalbuminuria 2011' As Esame, Count( Distinct b.codice) As pazienti From V_Pazienti p, cart_pazpbl b, cart_accert a WHERE p.codice = b.codice AND p.codice=a.codice AND b.cp_code Like '250%' AND Years(p.datanasc, Today())>16 And a.ac_nt_code IN ('90.33.4') And Year( a.data_open) = 2011)
Union

(Select ' 16-BPCO con BroncoDilatatori 2011' As Esame, Count( Distinct b.codice) As pazienti From V_Pazienti p, cart_pazpbl b, cart_terap t WHERE p.codice = b.codice AND p.codice=t.codice AND b.cp_code Like '496%' And ( t.co_atc Like 'R03AC%' Or t.co_atc Like 'R03AK%' ) And Year( t.data_open) = 2011)

ORDER BY 1


ho cercato di variare x ottenere anticoagulanti (B01AC) segnati nel 2012 in tutti i diabetici. ma mi torna 0... come mai?

(Select ' 07-DM con anticoagulanti 2012' As Esame, Count( Distinct t.codice) From V_Pazienti p, cart_pazpbl b, cart_terap t WHERE p.codice = b.codice AND p.codice=t.codice AND b.cp_code Like '250%' And t.co_atc Like 'B01AC' And Year( t.data_open) = 2012)


se volessi indicare un preciso lasso di tempo e non tutto l'anno come imposto e con quale comando? (AND t.data_open BETWEEN '2012/01/01' AND '2013/12/31' ???)

altro da trovare: diabetici che hanno il calcolo di rischio cardiovascolare in cartella ( calcolo ultimi 10
anni),%diabetici con dato cockroft rilevato
(ultimi 15 MESI) che hanno valore
< 60


Buona domenica

Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: dove sbagli?

Messaggio  mario shirt il Mar 14 Mag 2013 - 10:32

mario shirt ha scritto:Ai maestri:
ho cercato di variare x ottenere anticoagulanti (B01AC) segnati nel 2012 in tutti i diabetici. ma mi torna 0... come mai?

(Select ' 07-DM con anticoagulanti 2012' As Esame, Count( Distinct t.codice) From V_Pazienti p, cart_pazpbl b, cart_terap t WHERE p.codice = b.codice AND p.codice=t.codice AND b.cp_code Like '250%' And t.co_atc Like 'B01AC' And Year( t.data_open) = 2012)

Una l'ho capita !!! non avevo messo %% a completare il codice ATC..

Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: dove sbagli?

Messaggio  Admin il Mer 15 Mag 2013 - 17:48

Prova questa:

(Select ' 01-DM+anticoagulanti ultimo anno' As Terapia_o_Esame, Count( Distinct t.codice) As N_Pazienti From V_Pazienti p, cart_pazpbl b, cart_terap t WHERE p.codice = b.codice AND p.codice=t.codice AND b.cp_code Like '250%' And t.co_atc Like 'B01AC%' And t.data_open BETWEEN Today()-365 AND Today())
Union
(Select ' 02-DM+RCV ultimi 10 anni' As Esame, Count( Distinct b.codice) As pazienti From V_Pazienti p, cart_pazpbl b, cart_accert a WHERE p.codice = b.codice AND p.codice=a.codice AND b.cp_code Like '250%' And a.ac_code = '3951' And a.data_open BETWEEN Today()-3650 AND Today())
Union
(Select ' 03-DM+Cockroft ultimi 15 mesi' As Esame, Count( Distinct b.codice) As pazienti From V_Pazienti p, cart_pazpbl b, cart_accert a WHERE p.codice = b.codice AND p.codice=a.codice AND b.cp_code Like '250%' And a.ac_code = '3952' And a.ac_val < '60' And a.data_open BETWEEN Today()-456 AND Today())


ORDER BY 1
Per indicare un periodo preciso va bene la formula che hai indicato (data_open BETWEEN 'data inizio' AND 'data fine') . La data va indicata come AAAA/MM/GG.

_________________
L'Amministratore
Giuseppe Blasio
Admin
Admin
Admin
Admin

Messaggi : 525
Punti : 3608
Voti per importanza dei messaggi : 85
Data d'iscrizione : 20.02.11
Località : CASERTA

Visualizza il profilo http://utentimillewin.forumattivo.it

Torna in alto Andare in basso

Re: dove sbagli?

Messaggio  mario shirt il Gio 16 Mag 2013 - 22:48

Admin ha scritto:Prova questa:

(Select ' 01-DM+anticoagulanti ultimo anno' As Terapia_o_Esame, Count( Distinct t.codice) As N_Pazienti From V_Pazienti p, cart_pazpbl b, cart_terap t WHERE p.codice = b.codice AND p.codice=t.codice AND b.cp_code Like '250%' And t.co_atc Like 'B01AC%' And t.data_open BETWEEN Today()-365 AND Today())
Union
(Select ' 02-DM+RCV ultimi 10 anni' As Esame, Count( Distinct b.codice) As pazienti From V_Pazienti p, cart_pazpbl b, cart_accert a WHERE p.codice = b.codice AND p.codice=a.codice AND b.cp_code Like '250%' And a.ac_code = '3951' And a.data_open BETWEEN Today()-3650 AND Today())
Union
(Select ' 03-DM+Cockroft ultimi 15 mesi' As Esame, Count( Distinct b.codice) As pazienti From V_Pazienti p, cart_pazpbl b, cart_accert a WHERE p.codice = b.codice AND p.codice=a.codice AND b.cp_code Like '250%' And a.ac_code = '3952' And a.ac_val < '60' And a.data_open BETWEEN Today()-456 AND Today())


ORDER BY 1
Per indicare un periodo preciso va bene la formula che hai indicato (data_open BETWEEN 'data inizio' AND 'data fine') . La data va indicata come AAAA/MM/GG.

Ok va bene, grazie

Mario
mario shirt
mario shirt
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: dove sbagli?

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto


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