Query con codice regionale
3 partecipanti
Pagina 1 di 1
Query con codice regionale
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,
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,
Re: Query con codice regionale
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
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
Re: Query con codice regionale
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?
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?
Re: Query con codice regionale
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.
Re: Query con codice regionale
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...
Query con codice regionale
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,
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,
Re: Query con codice regionale
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.
Argomenti simili
» Catalogo Regionale Prestazioni
» codice fiscale
» Invalidità di guerra (G02) e soprattassa regionale in CampaSia....
» Nuova Piattaforma Informatica Regionale - Diabete
» NEWBIE - Utilizzo Carta Regionale con Millewin
» codice fiscale
» Invalidità di guerra (G02) e soprattassa regionale in CampaSia....
» Nuova Piattaforma Informatica Regionale - Diabete
» NEWBIE - Utilizzo Carta Regionale con Millewin
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.