OBIETTIVI DI SALUTE
3 partecipanti
Pagina 1 di 1
OBIETTIVI DI SALUTE
Nell'ambito degli accordi aziendali dovrei trasmettere alla ASL i seguenti dati :
-assistiti fumatori nati dal 1981 al 1995
-assistiti ipertesi nati dal 1942 al 1976
-assistiti diabetici con il dato fumo se presente.
Grazie a chi mi potrà aiutare.
-assistiti fumatori nati dal 1981 al 1995
-assistiti ipertesi nati dal 1942 al 1976
-assistiti diabetici con il dato fumo se presente.
Grazie a chi mi potrà aiutare.
Dott.Hiram- Membro Senior
- Messaggi : 648
Punti : 5867
Voti per importanza dei messaggi : 15
Data d'iscrizione : 21.02.11
Re: OBIETTIVI DI SALUTE
Spero ancora nella risposta di qualche collega generoso, comunque la vera difficoltà per me è questa :
-Come si estrae il dato "fumo" ?
-Come si estrae il dato "fumo" ?
Dott.Hiram- Membro Senior
- Messaggi : 648
Punti : 5867
Voti per importanza dei messaggi : 15
Data d'iscrizione : 21.02.11
Re: OBIETTIVI DI SALUTE
Forse una delle seguenti query potrebbe esserTi utile, almeno come base di partenza :
Fumo
Select distinct Cast(p.cognome As Char(16)), p.nome, p.nascita As nato_il, p.comune_di_nascita As nato_a, p.provincia_nascita As prov_nasc, Days(p.nascita, Today())/365 As eta,
(Select Distinct Cast(' fumo Occ ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like 'O' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_Occas_,
(Select Distinct Cast(' fumo Pass ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like 'V' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_Pass_,
(Select Distinct Cast(' fumo SI ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And (a.ac_val Like 'P' Or a.ac_val Like 'S' Or a.ac_val Like '1' Or a.ac_val Like '2' Or a.ac_val Like '3') And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_Si_,
(Select Distinct Cast(' fumo < 10 ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like '1' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_meno10die_,
(Select Distinct Cast(' fumo 11_20 ' As Char(14)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like '2' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_11_20die_,
(Select Distinct Cast(' fumo > 20 ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like '3' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_oltre20die_,
(Select a.ac_val From cart_accert a Where ( a.codice=p.codice And a.ac_des Like '%fumo%inizio%' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like '%fumo%inizio%' 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))
_Fumo_inizio_,
Today() As dataquery
From pazienti p , nos_002 n
Where p.codice = n.codice
And n.pa_medi Like '%' And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Today()-365 And Today() And motivo_revoca = 'S'))
And p.pa_convenzione = 'S' And p.nascita Between '1981-01-01' And '1995-12-31'
And ( _Fumo_Occas_ Is Not Null Or _Fumo_Pass_ Is Not Null Or _Fumo_Si_ Is Not Null )
Order By 1, 2
Ipertensione
Select Distinct Cast(cognome As Char(20)), nome, sesso, nascita, pa_uslcode As cod_reg,
Days(p.nascita, Today())/365 eta, p.sesso, Cast(codice_fiscale As Char(26)),
n.pa_medi as codice_medico,
Today() data_query
FROM pazienti p , nos_002 n, cart_pazpbl b
Where p.codice = n.codice And b.codice = p.codice
And (( b.cp_code Like '401%' Or b.cp_code Like '402%' Or b.cp_code Like '403%' Or b.cp_code Like '404%' Or b.cp_code Like '405%') And Not ( b.pb_status = 'I' And b.modalita = 'A' ) And b.certezza Not Like 'S' )
And p.nascita Between '1942-01-01' And '1976-12-31'
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or (n.pa_drevoca > Today()-365 And motivo_revoca ='S' )) And p.pa_convenzione = 'S' And n.pa_medi Like '%'
Order By 1, 2, 3
Diabete
Select Distinct Cast(cognome As Char(20)), nome, sesso, nascita, pa_uslcode As cod_reg,
Days(p.nascita, Today())/365 eta, p.sesso, Cast(codice_fiscale As Char(26)),
n.pa_medi as codice_medico,
(Select a.ac_val From cart_accert a Where a.codice=p.codice And a.ac_des Like 'Fumo'
And Not Exists (Select a1.codice From cart_accert a1 Where a.codice=a1.codice And a1.ac_des Like 'Fumo' 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))
_Fumo_,
Today() data_query
FROM pazienti p , nos_002 n, cart_pazpbl b
Where p.codice = n.codice And b.codice = p.codice
And ( b.cp_code Like '250%' And Not ( b.pb_status = 'I' And modalita = 'A' ) And b.certezza Not Like 'S' ) And n.pa_medi ''
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or (n.pa_drevoca > Today()-365 And motivo_revoca ='S' )) And p.pa_convenzione = 'S' And n.pa_medi Like '%'
And _Fumo_ ' '
Order By 1, 2 , 3
Adatta le varie condizioni di ricerca alle tue necessità ; spero di non aver commesso errori nei vari copi ed incolla ;
inoltre il fatto che varie query testate con succcesso negli anni precedenti, richiedano vari adattamenti per restituire nuovamente dei dati, rappresenta quantomeno un fastidioso inconveniente.
un saluto da Sergio , Orzivecchi (BS)
Fumo
Select distinct Cast(p.cognome As Char(16)), p.nome, p.nascita As nato_il, p.comune_di_nascita As nato_a, p.provincia_nascita As prov_nasc, Days(p.nascita, Today())/365 As eta,
(Select Distinct Cast(' fumo Occ ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like 'O' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_Occas_,
(Select Distinct Cast(' fumo Pass ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like 'V' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_Pass_,
(Select Distinct Cast(' fumo SI ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And (a.ac_val Like 'P' Or a.ac_val Like 'S' Or a.ac_val Like '1' Or a.ac_val Like '2' Or a.ac_val Like '3') And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_Si_,
(Select Distinct Cast(' fumo < 10 ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like '1' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_meno10die_,
(Select Distinct Cast(' fumo 11_20 ' As Char(14)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like '2' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_11_20die_,
(Select Distinct Cast(' fumo > 20 ' As Char(11)) From cart_accert a Where ( a.codice=p.codice And a.ac_des Like 'fumo' And a.ac_val Like '3' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like 'fumo' 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))
_Fumo_oltre20die_,
(Select a.ac_val From cart_accert a Where ( a.codice=p.codice And a.ac_des Like '%fumo%inizio%' And a.ac_val Is Not Null) And Not Exists (Select a1.codice From cart_accert a1 Where a.codice = a1.codice And a1.ac_des Like '%fumo%inizio%' 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))
_Fumo_inizio_,
Today() As dataquery
From pazienti p , nos_002 n
Where p.codice = n.codice
And n.pa_medi Like '%' And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Today()-365 And Today() And motivo_revoca = 'S'))
And p.pa_convenzione = 'S' And p.nascita Between '1981-01-01' And '1995-12-31'
And ( _Fumo_Occas_ Is Not Null Or _Fumo_Pass_ Is Not Null Or _Fumo_Si_ Is Not Null )
Order By 1, 2
Ipertensione
Select Distinct Cast(cognome As Char(20)), nome, sesso, nascita, pa_uslcode As cod_reg,
Days(p.nascita, Today())/365 eta, p.sesso, Cast(codice_fiscale As Char(26)),
n.pa_medi as codice_medico,
Today() data_query
FROM pazienti p , nos_002 n, cart_pazpbl b
Where p.codice = n.codice And b.codice = p.codice
And (( b.cp_code Like '401%' Or b.cp_code Like '402%' Or b.cp_code Like '403%' Or b.cp_code Like '404%' Or b.cp_code Like '405%') And Not ( b.pb_status = 'I' And b.modalita = 'A' ) And b.certezza Not Like 'S' )
And p.nascita Between '1942-01-01' And '1976-12-31'
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or (n.pa_drevoca > Today()-365 And motivo_revoca ='S' )) And p.pa_convenzione = 'S' And n.pa_medi Like '%'
Order By 1, 2, 3
Diabete
Select Distinct Cast(cognome As Char(20)), nome, sesso, nascita, pa_uslcode As cod_reg,
Days(p.nascita, Today())/365 eta, p.sesso, Cast(codice_fiscale As Char(26)),
n.pa_medi as codice_medico,
(Select a.ac_val From cart_accert a Where a.codice=p.codice And a.ac_des Like 'Fumo'
And Not Exists (Select a1.codice From cart_accert a1 Where a.codice=a1.codice And a1.ac_des Like 'Fumo' 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))
_Fumo_,
Today() data_query
FROM pazienti p , nos_002 n, cart_pazpbl b
Where p.codice = n.codice And b.codice = p.codice
And ( b.cp_code Like '250%' And Not ( b.pb_status = 'I' And modalita = 'A' ) And b.certezza Not Like 'S' ) And n.pa_medi ''
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or (n.pa_drevoca > Today()-365 And motivo_revoca ='S' )) And p.pa_convenzione = 'S' And n.pa_medi Like '%'
And _Fumo_ ' '
Order By 1, 2 , 3
Adatta le varie condizioni di ricerca alle tue necessità ; spero di non aver commesso errori nei vari copi ed incolla ;
inoltre il fatto che varie query testate con succcesso negli anni precedenti, richiedano vari adattamenti per restituire nuovamente dei dati, rappresenta quantomeno un fastidioso inconveniente.
un saluto da Sergio , Orzivecchi (BS)
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: OBIETTIVI DI SALUTE
Grazie, Sergio.
Dott.Hiram- Membro Senior
- Messaggi : 648
Punti : 5867
Voti per importanza dei messaggi : 15
Data d'iscrizione : 21.02.11
Re: OBIETTIVI DI SALUTE
Prova anche le seguenti:
-assistiti fumatori nati dal 1981 al 1995
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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'
END) as char(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND year(p.nascita) Between '1981' and '1995'
Order by 6,1,2
-assistiti ipertesi nati dal 1942 al 1976
Select Distinct p.cognome, p.nome, p.nascita, Years(p.nascita, Today()) eta, p.sesso
FROM pazienti p , nos_002 n, cart_pazpbl b
Where p.codice = n.codice And b.codice = p.codice
And (b.cp_code Between '401%' AND '405%')
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today())
And Year(p.nascita) Between '1942' And '1976'
Order By 1, 2
-assistiti diabetici con il dato fumo se presente
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, Today()) eta, p.sesso,a.ac_val valore_fumo,
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'
END) as char(31)) Tipo_fumatore
FROM pazienti p , cart_pazpbl b, cart_accert a, nos_002 n
Where p.codice = b.codice And b.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND b.cp_code like '250%'
AND decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
-assistiti fumatori nati dal 1981 al 1995
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, today()) eta, p.sesso, a.ac_val valore_fumo,
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'
END) as char(31)) Tipo_fumatore
FROM pazienti p , cart_accert a, nos_002 n
Where p.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND p.decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
AND year(p.nascita) Between '1981' and '1995'
Order by 6,1,2
-assistiti ipertesi nati dal 1942 al 1976
Select Distinct p.cognome, p.nome, p.nascita, Years(p.nascita, Today()) eta, p.sesso
FROM pazienti p , nos_002 n, cart_pazpbl b
Where p.codice = n.codice And b.codice = p.codice
And (b.cp_code Between '401%' AND '405%')
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today())
And Year(p.nascita) Between '1942' And '1976'
Order By 1, 2
-assistiti diabetici con il dato fumo se presente
Select distinct p.cognome, p.nome, p.nascita, Years(p.nascita, Today()) eta, p.sesso,a.ac_val valore_fumo,
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'
END) as char(31)) Tipo_fumatore
FROM pazienti p , cart_pazpbl b, cart_accert a, nos_002 n
Where p.codice = b.codice And b.codice = a.codice And a.codice=n.codice
AND a.ac_des like 'FUMO'
AND b.cp_code like '250%'
AND decesso is null
AND( n.Pa_Drevoca is null OR n.Pa_Drevoca>TODAY())
Order by 6,1,2
Re: OBIETTIVI DI SALUTE
Grazie anche a te, Giuseppe.
Comunque, penso proprio che i sindacalisti che "trattano" con le aziende questi obiettivi, dovrebbero pretendere che l'azienda fornisca anche le estrazioni, almeno per i SW più diffusi.
Meno male che c'è il forum....
Comunque, penso proprio che i sindacalisti che "trattano" con le aziende questi obiettivi, dovrebbero pretendere che l'azienda fornisca anche le estrazioni, almeno per i SW più diffusi.
Meno male che c'è il forum....
Dott.Hiram- Membro Senior
- Messaggi : 648
Punti : 5867
Voti per importanza dei messaggi : 15
Data d'iscrizione : 21.02.11
Argomenti simili
» Obiettivi di salute
» Bilanci di salute (PLS)
» obbiettivi di salute
» OBBIETTIVI DI SALUTE
» case della salute
» Bilanci di salute (PLS)
» obbiettivi di salute
» OBBIETTIVI DI SALUTE
» case della salute
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.