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

Unisciti al forum, è facile e veloce

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
****************************************************
FORUM PER UTENTI MILLEWIN
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

dove sbagli?

2 partecipanti

Andare in basso

dove sbagli? Empty dove sbagli?

Messaggio  mario shirt 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 : 254
Punti : 5179
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 68

Torna in alto Andare in basso

dove sbagli? Empty Re: dove sbagli?

Messaggio  mario shirt 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 : 254
Punti : 5179
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 68

Torna in alto Andare in basso

dove sbagli? Empty Re: dove sbagli?

Messaggio  Admin 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.
Admin
Admin
Admin
Admin

Messaggi : 537
Punti : 5482
Voti per importanza dei messaggi : 89
Data d'iscrizione : 20.02.11
Località : CASERTA

https://utentimillewin.forumattivo.it

Torna in alto Andare in basso

dove sbagli? Empty Re: dove sbagli?

Messaggio  mario shirt 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 : 254
Punti : 5179
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 68

Torna in alto Andare in basso

dove sbagli? Empty Re: dove sbagli?

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto


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