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

SCREENING E MONITORAGGIO PZ DIABETICI

Andare in basso

SCREENING E MONITORAGGIO PZ DIABETICI

Messaggio  nanci giacinto il Mer 30 Mag 2012 - 19:47

Salve con le viste non riesco a mettere insieme in una sola query A) per una lista di screening di soggetti a rischio di diabete mellito i seguenti dati: "cognome, nome, datansacita, dataesame, valore esame, eventuale carico di glucosio 75 gr, valore curva da carico, diagnosi", e in un'altra query B) per una lista di monitoraggio dei soggetti con IFG/IGT i seguenti dati: cognome, nome, colesterolo tot 12° mese, trigliceridi 12° mese, hba1c 12° mese, proteinuria 12° mese, glicemia a digiuno 12° mese, data prelievo, peso corporeo 12° mese, PAS 12° mese, PAD 12° mese, glicemia a due ore con carico glucosio a due anni. GRAZIE saluti dott. nanci associazione MEDIASS otto emdici in rete a Catanzaro.
nanci giacinto
nanci giacinto
Membro Junior
Membro Junior

Messaggi : 126
Punti : 3133
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11

Visualizza il profilo

Torna in alto Andare in basso

Re: SCREENING E MONITORAGGIO PZ DIABETICI

Messaggio  Cervino il Gio 31 Mag 2012 - 0:35

nanci giacinto ha scritto:Salve con le viste non riesco a mettere insieme in una sola query A) per una lista di screening di soggetti a rischio di diabete mellito i seguenti dati: "cognome, nome, datansacita, dataesame, valore esame, eventuale carico di glucosio 75 gr, valore curva da carico, diagnosi", e in un'altra query B) per una lista di monitoraggio dei soggetti con IFG/IGT i seguenti dati: cognome, nome, colesterolo tot 12° mese, trigliceridi 12° mese, hba1c 12° mese, proteinuria 12° mese, glicemia a digiuno 12° mese, data prelievo, peso corporeo 12° mese, PAS 12° mese, PAD 12° mese, glicemia a due ore con carico glucosio a due anni. GRAZIE saluti dott. nanci associazione MEDIASS otto emdici in rete a Catanzaro.

Per un primo test , per il secondo quesito, proverei con :

Select Distinct Cast(cognome As Char (15)), Cast(nome As Char (15)), p.nascita, p.sesso,
(Select Max( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code Like '790.2' And Not ( b.pb_status = 'I' And b.modalita = 'A' ))
_IFG_IGT_onset_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice=p.codice And ( a.ac_code Like ' 697' 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_code Like ' 697' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ) )
_glicemia_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And ( a.ac_code Like ' 697' 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_code Like ' 697' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ) )
_glicemia_d_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice=p.codice And a.ac_des Like 'Emoglobina%Glicata%' 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 'Emoglobina%Glicata%' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open=a.data_open And a1.rowid>a.rowid)) And a.data_open > Today()-365 ))
_HbA1c_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And a.ac_des Like 'Emoglobina%Glicata%' 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 'Emoglobina%Glicata%' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open=a.data_open And a1.rowid>a.rowid)) And a.data_open > Today()-365 ))
_HbA1c_d_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice=p.codice And (a.ac_des Like 'Glucosio%Carico%Due%Determinaz%' 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 'Glucosio%Carico%Due%Determinaz%' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ) )
_OGTT_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And ( a.ac_des Like 'Glucosio%Carico%Due%Determinaz%' 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 'Glucosio%Carico%Due%Determinaz%' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ) )
_OGTT_d_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice=p.codice And a.ac_code Like ' 618' 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_code Like ' 618' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ))
_Col_Tot_,
(Select Max( a.data_open) From cart_accert a Where a.codice = p.codice And a.ac_code Like ' 618' 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_code Like ' 618' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ))
_Col_Tot_d_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice = p.codice And a.ac_code Like ' 616' 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_code Like ' 616' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ))
_HDL_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And a.ac_code Like ' 616' 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_code Like ' 616' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ))
_HDL_d_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice=p.codice And ( a.ac_des Like 'Trigliceridi' 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 'Trigliceridi' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ))
_trigliceridi_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And ( a.ac_des Like 'Trigliceridi' 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 'Trigliceridi' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open = a.data_open And a1.rowid > a.rowid)) And a.data_open > Today()-365 ))
_Trigliceridi_d_,
(Select Cast( Max( a.ac_val) As Int) From cart_accert a Where a.codice=p.codice And a.ac_des Like 'MicroAlbumin%' 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 'MicroAlbumin%' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open=a.data_open And a1.rowid>a.rowid))
And a.data_open > Today()-365 ))
_mAlb_Ur_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And a.ac_des Like 'MicroAlbumin%' 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 'MicroAlbumin%' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open=a.data_open And a1.rowid>a.rowid))
And a.data_open > Today()-365 ))
_mAlb_Ur_d_,
(Select Cast( Max( e.p_max) As Int) From cart_press e Where e.codice = p.codice And e.p_max Is Not Null And Not Exists (Select e1.codice From cart_press e1 Where e1.codice = e.codice And e1.p_max Is Not Null And (e1.data_open > e.data_open Or (e1.data_open = e.data_open And e1.rowid > e.rowid)) And e.data_open > Today()-365 ))
_PAS_,
(Select Cast( Max( e.p_min) As Int) From cart_press e Where e.codice = p.codice And e.p_min Is Not Null And Not Exists (Select e1.codice From cart_press e1 Where e1.codice = e.codice And e1.p_min Is Not Null And (e1.data_open > e.data_open Or (e1.data_open = e.data_open And e1.rowid > e.rowid)) And e.data_open > Today()-365 ))
_PAD_,
(Select Max( e.data_open) From cart_press e Where e.codice = p.codice And e.p_max Is Not Null And e.p_min Is Not Null And e.data_open >Today() - 365 )
_PAO_d_,
(Select Cast( Max( a.ac_val) As Dec(4,1)) From cart_accert a Where a.codice = p.codice And ac_des Like 'Peso' 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 'Peso' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open=a.data_open And a1.rowid>a.rowid)) And a.data_open > Today()-365 ))
_Peso_,
(Select Max( a.data_open) From cart_accert a Where a.codice=p.codice And a.ac_des Like 'Peso' 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 'Peso' And a1.ac_val Is Not Null ) And (a1.data_open > a.data_open Or (a1.data_open=a.data_open And a1.rowid>a.rowid)) And a.data_open > Today()-365 ))
_Peso_d_, ' '
FROM pazienti p Left Outer Join nos_002 n ON p.codice = n.codice
Where DateDiff ( hh, nascita, Today())/8766 Between 0 And 110
And n.pa_medi Like '%' And p.pa_convenzione = 'S'
And p.codice IN (Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code Like '790.2' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or (n.pa_drevoca > Today()-365 And motivo_revoca ='S' ))
Order By 1, 2


L' ho ottenuta tramite copia ed incolla da quella che uso per l' invio report annuale sul Diabete nell' ASL 302 di Brescia:
a parte errori nell' assemblamento, è necessario adattare le varie condizioni di ricerca, in primis al nomenclatore regionale degli Accertamenti in uso ( ad esempio in Lombardia : MicroAlbuminuria Urine del Mattino e delle 24 ore hanno due codici diversi ed andrebbero separati; sorprendentemente nel report annuale che invio all' ASL sono invece estratti in un' unica colonna) .
La prima query andrebbe forse estrapolata dalla seconda (anche se la differenza sostanziale mi sfugge … )

Un saluto da Sergio Tomasini , Orzivecchi

Cervino
Membro Junior
Membro Junior

Messaggi : 234
Punti : 3195
Voti per importanza dei messaggi : 19
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Torna in alto


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