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 con codice regionale

Andare in basso

Query con codice regionale

Messaggio  Don il Mer 25 Apr 2012 - 11:59

Devo preparare una query per il governo clinico che serve a molti colleghi della provincia.
Ho adattato una query dei Maestri ma ho un problema:
1. come inserire il codice regionale (tabella users > codice_regionale)
Se qualcuno mi può aiutare gli faccio un monumento.
Questa è la query:

Select distinct p.cognome, p.nome, n.pa_uslcode as Codice_Assistito,

(Select Max(a.data_open) From cart_accert a Where (a.codice = p.codice And ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice 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)) _Data_,

(Select a.ac_val From cart_accert a Where a.ac_des like '%LDL%' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des like '%LDL%' 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)) _Colesterolo_LDL_,

(Select
CAST((case a.ac_val
WHEN 'O' THEN 'fumatore occasionale'
WHEN 'V' THEN 'fumatore passivo'
WHEN '1' THEN 'meno di 10 sigarette al giorno'
WHEN '2' THEN 'tra 10 e 20 sigarette al giorno'
WHEN '3' THEN 'oltre 20 sigarette al giorno'
WHEN 'X' THEN 'mai fumato e mai fumerà'
WHEN 'N' THEN 'mai fumato'
WHEN 'E' THEN 'ex fumatore da oltre 1 anno'
WHEN 'M' THEN 'ex fumatore'
WHEN 'F' THEN 'ex forte fumatore da oltre 10 anni'
WHEN 'Z' THEN 'ex forte fumatore da oltre 1 anno'
WHEN 'U' THEN 'ex forte fumatore'
WHEN 'P' THEN 'fumatore di pipa'
WHEN 'S' THEN 'fumatore di sigaro'
ELSE 'Non_Registrato' END) as char(31)) Tipo_fumatore
FROM cart_accert a
WHERE a.codice=p.codice AND a.ac_code like '2832' and not exists (select b.codice from cart_accert b where a.codice = b.codice and b.ac_code Like '2832' and (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.ac_val is not null)) _Fumo_,

(Select a.ac_val From cart_accert a Where a.ac_des like 'bmi%' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des like 'bmi%' 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)) _BMI_,

(Select a.ac_val From cart_accert a Where a.ac_des = 'calcolo rischio cardiovascolare (iss)' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des = 'calcolo rischio cardiovascolare (iss)' 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)) _RCCV_,

(Select a.ac_val From cart_accert a Where a.ac_des = 'EMOGLOBINA GLICATA' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des = 'EMOGLOBINA GLICATA' 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)) _HbA1c_,

(Select a.p_max From cart_press a Where (a.codice = p.codice And a.p_max is Not Null) And Not Exists (Select b.codice From cart_press b Where a.codice = b.codice And (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.p_max Is Not Null) ) AS pas,
(Select a.p_min From cart_press a Where (a.codice = p.codice And a.p_min is Not Null) And Not Exists (Select b.codice From cart_press b Where a.codice = b.codice And (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.p_min Is Not Null) ) AS pad

FROM PAZIENTI p, NOS_002 n
WHERE p.codice=n.codice
AND (n.pa_drevoca IS NULL or n.pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND p.pa_convenzione='S'
AND n.pa_medi like '%'
AND _Data_ BETWEEN '2011/03/31' AND '2012/03/31'
order by 1,2

Grazie, ciao,
avatar
Don
Membro Junior
Membro Junior

Messaggi : 161
Punti : 3025
Voti per importanza dei messaggi : 17
Data d'iscrizione : 23.02.11

Visualizza il profilo http://softwaremedico.xoom.it/

Torna in alto Andare in basso

Re: Query con codice regionale

Messaggio  Admin il Mer 25 Apr 2012 - 13:05

Vedi se va bene questa:

Select distinct p.cognome, p.nome, n.pa_uslcode as Codice_Assistito, u.codice_regionale as Cod_Reg_Medico,

(select cast(a.ac_val+0 as dec(4,1)) from cart_accert a where a.codice=p.codice and a.ac_code like '2609' and a.data_open = _Data_) _BMI_, ' '_,

(Select Max(a.data_open) From cart_accert a Where (a.codice = p.codice And a.ac_code Like '2609' And ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_code Like '2609' 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)) _Data_,

(Select
CAST((case a.ac_val
WHEN 'O' THEN 'fumatore occasionale'
WHEN 'V' THEN 'fumatore passivo'
WHEN '1' THEN 'meno di 10 sigarette al giorno'
WHEN '2' THEN 'tra 10 e 20 sigarette al giorno'
WHEN '3' THEN 'oltre 20 sigarette al giorno'
WHEN 'X' THEN 'mai fumato e mai fumerà'
WHEN 'N' THEN 'mai fumato'
WHEN 'E' THEN 'ex fumatore da oltre 1 anno'
WHEN 'M' THEN 'ex fumatore'
WHEN 'F' THEN 'ex forte fumatore da oltre 10 anni'
WHEN 'Z' THEN 'ex forte fumatore da oltre 1 anno'
WHEN 'U' THEN 'ex forte fumatore'
WHEN 'P' THEN 'fumatore di pipa'
WHEN 'S' THEN 'fumatore di sigaro'
ELSE 'Non_Registrato' END) as char(31)) Tipo_fumatore
FROM cart_accert a
WHERE a.codice=p.codice AND a.ac_code like '2832' and not exists (select b.codice from cart_accert b where a.codice = b.codice and b.ac_code Like '2832' and (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.ac_val is not null)) _Fumo_,


(Select a.p_max From cart_press a Where (a.codice = p.codice And a.p_max is Not Null) And Not Exists (Select b.codice From cart_press b Where a.codice = b.codice And (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.p_max Is Not Null) ) AS pas,
(Select a.p_min From cart_press a Where (a.codice = p.codice And a.p_min is Not Null) And Not Exists (Select b.codice From cart_press b Where a.codice = b.codice And (b.data_open>a.data_open or (b.data_open=a.data_open and b.rowid>a.rowid)) and b.p_min Is Not Null) ) AS pad,


(Select a.ac_val From cart_accert a Where a.ac_des like '%LDL%' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des like '%LDL%' 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)) _Colesterolo_LDL_,

(Select a.ac_val From cart_accert a Where a.ac_des = 'EMOGLOBINA GLICATA' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des = 'EMOGLOBINA GLICATA' 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)) _HbA1c_,

(Select a.ac_val From cart_accert a Where a.ac_des = 'calcolo rischio cardiovascolare (iss)' AND a.codice=p.codice And a.ac_val Is Not Null And Not Exists (Select a1.codice From cart_accert a1 Where a1.codice = a.codice And a1.ac_des = 'calcolo rischio cardiovascolare (iss)' 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)) _RCCV_

FROM PAZIENTI p, NOS_002 n, V_utenti u
WHERE p.codice=n.codice AND u.userid = n.pa_medi
AND _bmi_ is not null
AND (n.pa_drevoca IS NULL or n.pa_drevoca >TODAY()) AND (p.decesso IS NULL)
AND p.pa_convenzione='S'
AND n.pa_medi like '%'
AND _Data_ BETWEEN '2011/04/30' AND '2012/04/30'
order by 1,2

_________________
L'Amministratore
Giuseppe Blasio
avatar
Admin
Admin
Admin

Messaggi : 521
Punti : 3444
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

Query con codice regionale

Messaggio  Don il Mer 25 Apr 2012 - 13:57

Grande, come sempre.
Ti devo un monumento.
Grazie,
avatar
Don
Membro Junior
Membro Junior

Messaggi : 161
Punti : 3025
Voti per importanza dei messaggi : 17
Data d'iscrizione : 23.02.11

Visualizza il profilo http://softwaremedico.xoom.it/

Torna in alto Andare in basso

Re: Query con codice regionale

Messaggio  Lucio Mignone il Gio 26 Apr 2012 - 23:12

Qualche tempo fa avevo necessità anch'io di estrarre il codice regionale del medico titolare di ogni paziente.
Avevo provato con la cartella users campo codice _regionale ma ottenevo sistematicamente errore ogni volta che lanciavo la query.
Ero riuscito, invece, utilizzando le viste così come ha fatto Giuseppe.
Ci sono arrivato molto più lentamente di Giuseppe, poiché è noto che riesco a malapena a scrivere una query decente essendomi avvicinato da non molto all'sql.

Qualcuno è riuscito ad utilizzare la cartella users campo codice_regionale?
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3584
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Re: Query con codice regionale

Messaggio  Admin il Sab 28 Apr 2012 - 10:34

Lucio Mignone ha scritto:Qualche tempo fa avevo necessità anch'io di estrarre il codice regionale del medico titolare di ogni paziente.
Avevo provato con la cartella users campo codice _regionale ma ottenevo sistematicamente errore ogni volta che lanciavo la query.
Ero riuscito, invece, utilizzando le viste così come ha fatto Giuseppe.
Ci sono arrivato molto più lentamente di Giuseppe, poiché è noto che riesco a malapena a scrivere una query decente essendomi avvicinato da non molto all'sql.

Qualcuno è riuscito ad utilizzare la cartella users campo codice_regionale?

Purtroppo la tabella Users è inaccessibile ai comuni mortali.

_________________
L'Amministratore
Giuseppe Blasio
avatar
Admin
Admin
Admin

Messaggi : 521
Punti : 3444
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: Query con codice regionale

Messaggio  Lucio Mignone il Sab 28 Apr 2012 - 12:45

Admin ha scritto:
Lucio Mignone ha scritto:Qualche tempo fa avevo necessità anch'io di estrarre il codice regionale del medico titolare di ogni paziente.
Avevo provato con la cartella users campo codice _regionale ma ottenevo sistematicamente errore ogni volta che lanciavo la query.
Ero riuscito, invece, utilizzando le viste così come ha fatto Giuseppe.
Ci sono arrivato molto più lentamente di Giuseppe, poiché è noto che riesco a malapena a scrivere una query decente essendomi avvicinato da non molto all'sql.

Qualcuno è riuscito ad utilizzare la cartella users campo codice_regionale?

Purtroppo la tabella Users è inaccessibile ai comuni mortali.

Grazie Beppe perr l'informazione, mi consola, come al solito pensavo d'essere imbranato io con l'sql...
avatar
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 626
Punti : 3584
Voti per importanza dei messaggi : 34
Data d'iscrizione : 20.02.11
Età : 54
Località : CAVRIGLIA (AR)

Visualizza il profilo http://comeva.altervista.org/

Torna in alto Andare in basso

Query con codice regionale

Messaggio  Don il Mar 8 Mag 2012 - 18:41

Un'ultima domanda agli esperti per essere sicuro di non fare cavolate.
Se io modifico queste righe così:

FROM PAZIENTI p, NOS_002 n, V_utenti u, cart_concessioni_pip pip
WHERE p.codice=n.codice AND u.userid = n.pa_medi AND p.codice=pip.codice
AND pip.Incent_Code like 'REG0025'

la query, che funziona benissimo, è concettualmente corretta per estrarre i dati solo da un registro ?
Grazie, ciao,
avatar
Don
Membro Junior
Membro Junior

Messaggi : 161
Punti : 3025
Voti per importanza dei messaggi : 17
Data d'iscrizione : 23.02.11

Visualizza il profilo http://softwaremedico.xoom.it/

Torna in alto Andare in basso

Re: Query con codice regionale

Messaggio  Admin il Mer 9 Mag 2012 - 17:16

Don ha scritto:Un'ultima domanda agli esperti per essere sicuro di non fare cavolate.
Se io modifico queste righe così:

FROM PAZIENTI p, NOS_002 n, V_utenti u, cart_concessioni_pip pip
WHERE p.codice=n.codice AND u.userid = n.pa_medi AND p.codice=pip.codice
AND pip.Incent_Code like 'REG0025'

la query, che funziona benissimo, è concettualmente corretta per estrarre i dati solo da un registro ?
Grazie, ciao,

Non sono un esperto. ma la query mi sembra del tutto corretta, la riprova è che funziona benissimo.

_________________
L'Amministratore
Giuseppe Blasio
avatar
Admin
Admin
Admin

Messaggi : 521
Punti : 3444
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: Query con codice regionale

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto

- Argomenti simili

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