calcolo CHADS2-VASc
3 partecipanti
calcolo CHADS2-VASc
SALVE DOVREI ELABORARE UNA QUERY PER IL CALCOLO DEL punteggio CHA2DS2 –VASc ai fini di uno studio di prevenzione primaria verso l’ ICTUS .
DOVE SCOMPENSO CARDIACO PUNTI 1, IPERTENSIONE ARTERIOSA PUNTI 1, ETA > 75 ANNI PUNTI 2, DIABETE MELLITO PUNTI 1, STROKE(PREGRESSO ICTUS, TIA O EMBOLIA PERIFERICA) PUNTI 2, MALATTIE VASCOLARI PUNTI 1, ETA TRA 65 E 75 ANNI PUNTI 1 SOLO SESSO FEMMINILE, SESSO FEMMINILE PUNTI 1.
Ho elaborato questa query con le viste ma le viste non permettono di fare la somma del punteggio ed inoltre con il commando dataopen la query estrae tutte le patologie e non solo quelle previste per il CHADS2-VASc e la data di apertura del problema è importante ai fini del calcolo della probabilità di avere un ictus in rapporto al punteggio raggiunto. Grazie a chi puo’ darmi una mano.
P.S. siamo otto medici che lavoriamo in postgres con rrserver
SELECT cognome, nome, sesso, datanasc, (days (datanasc, today())/365) as eta, dataopen, icd9
FROM v_problemi
WHERE icd9 like '401.9%' or icd9 like '250.0%%' or icd9 like '436%%' or icd9 like '443.9%%' or icd9 like '428.9%%' or icd9 like '435.9%%' or icd9 like '444.22%%'
DOVE SCOMPENSO CARDIACO PUNTI 1, IPERTENSIONE ARTERIOSA PUNTI 1, ETA > 75 ANNI PUNTI 2, DIABETE MELLITO PUNTI 1, STROKE(PREGRESSO ICTUS, TIA O EMBOLIA PERIFERICA) PUNTI 2, MALATTIE VASCOLARI PUNTI 1, ETA TRA 65 E 75 ANNI PUNTI 1 SOLO SESSO FEMMINILE, SESSO FEMMINILE PUNTI 1.
SIGLA | PATOLOGIA | PUNTEGGIO |
C | Scompenso cardiaco | 1 |
H | Ipertensione arteriosa | 1 |
A | Età maggiore 75 anni | 2 |
D | Diabete mellito | 1 |
S | Stroke(pregresso ictus, tia o embolia periferica | 2 |
V | Malattie vascolari | 1 |
A | Età tra 65 e 75 anni | 1 solo per sesso femminile |
Sc | Sesso femminile | 1 |
Ho elaborato questa query con le viste ma le viste non permettono di fare la somma del punteggio ed inoltre con il commando dataopen la query estrae tutte le patologie e non solo quelle previste per il CHADS2-VASc e la data di apertura del problema è importante ai fini del calcolo della probabilità di avere un ictus in rapporto al punteggio raggiunto. Grazie a chi puo’ darmi una mano.
P.S. siamo otto medici che lavoriamo in postgres con rrserver
SELECT cognome, nome, sesso, datanasc, (days (datanasc, today())/365) as eta, dataopen, icd9
FROM v_problemi
WHERE icd9 like '401.9%' or icd9 like '250.0%%' or icd9 like '436%%' or icd9 like '443.9%%' or icd9 like '428.9%%' or icd9 like '435.9%%' or icd9 like '444.22%%'
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: calcolo CHADS2-VASc
Varie sono le opzioni possibili ed assai problematico inserire almeno i principali codici ICD9 ; comunque come riferimento di partenza, ho utilizzato il link : http://chadsvasc.org/ .nanci giacinto ha scritto:SALVE DOVREI ELABORARE UNA QUERY PER IL CALCOLO DEL punteggio CHA2DS2 –VASc ai fini di uno studio di prevenzione primaria verso l’ ICTUS .
DOVE SCOMPENSO CARDIACO PUNTI 1, IPERTENSIONE ARTERIOSA PUNTI 1, ETA > 75 ANNI PUNTI 2, DIABETE MELLITO PUNTI 1, STROKE(PREGRESSO ICTUS, TIA O EMBOLIA PERIFERICA) PUNTI 2, MALATTIE VASCOLARI PUNTI 1, ETA TRA 65 E 75 ANNI PUNTI 1 SOLO SESSO FEMMINILE, SESSO FEMMINILE PUNTI 1.
SIGLA PATOLOGIA PUNTEGGIO C Scompenso cardiaco 1 H Ipertensione arteriosa 1 A Età maggiore 75 anni 2 D Diabete mellito 1 S Stroke(pregresso ictus, tia o embolia periferica 2 V Malattie vascolari 1 A Età tra 65 e 75 anni 1 solo per sesso femminile Sc Sesso femminile 1
Ho elaborato questa query con le viste ma le viste non permettono di fare la somma del punteggio ed inoltre con il commando dataopen la query estrae tutte le patologie e non solo quelle previste per il CHADS2-VASc e la data di apertura del problema è importante ai fini del calcolo della probabilità di avere un ictus in rapporto al punteggio raggiunto. Grazie a chi puo’ darmi una mano.
P.S. siamo otto medici che lavoriamo in postgres con rrserver
SELECT cognome, nome, sesso, datanasc, (days (datanasc, today())/365) as eta, dataopen, icd9
FROM v_problemi
WHERE icd9 like '401.9%' or icd9 like '250.0%%' or icd9 like '436%%' or icd9 like '443.9%%' or icd9 like '428.9%%' or icd9 like '435.9%%' or icd9 like '444.22%%'
Per iniziare proverei con :
Select Distinct p.cognome , p.nome , Days( p.nascita, Today()+1)*24/8766 As eta ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_NVAF_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_CHF_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_AHT_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_Ictus_TIA_Embolia_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_DM_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_CVD_ ,
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.9 Then 1 Else 0 End _Age_ ,
Case When p.sesso ILike 'F' Then 1 Else 0 End _Sex_ ,
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%'
Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End +
Case When p.sesso ILike 'F' Then 1 Else 0 End
_CHA2DS2_VASc_
FROM ( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u ON n.pa_medi = u.userid
WHERE u.codice_regionale Like '%' AND u.nome Like '%'
AND p.pa_convenzione = 'S' AND Year( nascita) Between 1920 And 1960
AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between
Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null
AND p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
AND p.codice NOT IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '394%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
/* AND Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '431%' Or b.cp_code ILike '436%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 75 Then 1 Else 0 End +
Case When p.sesso ILike 'F' AND Days( p.nascita, Today()+1)*24/8766 Between 65 And 75 Then 1 Else 0 End +
Case When p.sesso ILike 'F' Then 1 Else 0 End > 0 */
ORDER BY 12 desc , 1 ,2
Verificare attentamente le varie clausole, condizioni di ricerca ed i codici ICD9 , specie nelle subquery ; per escludere parti della query e/o subquery, utilizzare /* */ ; le date sono estratte ... per quale scopo ?
Ti saluto , Sergio Tomasini , 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)
calcolo CHADS2-VASc
BUON POMERIGGIO. La query funziona perfettamente ottimo lavoro. Le date dovrebbero servire per valutare il tempo intercorso tra l'evento ictus e l'insorgenza dei fattori di rischio e pensare ad uno studio di prevenzione primaria dell'ictus che sembra attualmente non esistere ancora. Ultima richiesta, ma è possibile che non esiste un manuale (non quello delle viste) per poter pensare di imparare a comporre una query (quasi una poesia) come questa che hai fatto? grazie
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: calcolo CHADS2-VASc
Nella query precedente non veniva attribuito correttamente il punteggio a : Stroke/TIA/Trombo-Embolia ( 1 anzichè 2 ) :nanci giacinto ha scritto:BUON POMERIGGIO. La query funziona perfettamente ottimo lavoro. Le date dovrebbero servire per valutare il tempo intercorso tra l'evento ictus e l'insorgenza dei fattori di rischio e pensare ad uno studio di prevenzione primaria dell'ictus che sembra attualmente non esistere ancora. Ultima richiesta, ma è possibile che non esiste un manuale (non quello delle viste) per poter pensare di imparare a comporre una query (quasi una poesia) come questa che hai fatto? grazie
Select Distinct p.cognome , p.nome , Days( p.nascita, Today()+1)*24/8766 As eta , ' ' As s ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_NVAF_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_CHF_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_AHT_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_Ictus_TIA_Embolia_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_DM_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_CVD_ , /*
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.9 Then 1 Else 0 End _Age_ ,
Case When p.sesso ILike 'F' Then 1 Else 0 End _Sex_ , */
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End +
Case When p.sesso ILike 'F' Then 1 Else 0 End
_CHA2DS2_VASc_
FROM ( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u ON n.pa_medi = u.userid
WHERE u.codice_regionale Like '%' AND u.nome Like '%'
AND p.pa_convenzione = 'S' AND Year( nascita) Between 1915 And 1970
AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between
Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null
AND p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
AND p.codice NOT IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '394%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) /*
AND ( Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End
+ Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End +
Case When p.sesso ILike 'F' Then 1 Else 0 End ) > 0 */
ORDER BY 13 desc , 1 , 2
La Documentazione è facilmente reperibile sulla Rete : innanzitutto consultanto il manuale ufficiale al link : https://www.postgresql.org/docs/9.5/static/index.html a Noi interessano principalmente i Capitoli I e II
oppure inserendo un quesito specifico ( preferibilmente in inglese ) in un Motore di Ricerca ma alla fine con un po' di buona volontà e molta pazienza, partendo dalle query già presenti su questo forum, si puo' abbastanza facilmente arrivare ad elaborare una query di tal genere, in fondo relativamente semplice .
Ti saluto , Sergio
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
calcolo CHADS2-VASc
Grazie funziona benissimo bisogna solo sostituire il numero 11 invece di 13 dopo "ORDER BY". Grazie anche per l'indicazione del manuale.
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
calcolo CHADS2-VASc
BUONA SERA UN PICCOLO PROBLEMA C'E'. DOPO AVER SALVATO IL FILE DELLA ESTRAZIONE LA COLONNA DENOMINATA S DEL FOGLIO EXCELL NON DA NESSUNA ESTRAZIONE E LE DIMENSIONI DELLA CELLA-EXCELL E' SPROPORZIONATA RISPETTO ALLE ALTRE. CON LA QUERY PRECEDENTE CIO' NON AVVENIVA. NON MI PARE CHE LA COLONNA S CORRISPONDA AD UNA SUBQUERY. COSA E' SUCCESSO?
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: calcolo CHADS2-VASc
Non so se va bene questa con piccole variazioni rispetto a quanto fatto da Sergio:nanci giacinto ha scritto:BUONA SERA UN PICCOLO PROBLEMA C'E'. DOPO AVER SALVATO IL FILE DELLA ESTRAZIONE LA COLONNA DENOMINATA S DEL FOGLIO EXCELL NON DA NESSUNA ESTRAZIONE E LE DIMENSIONI DELLA CELLA-EXCELL E' SPROPORZIONATA RISPETTO ALLE ALTRE. CON LA QUERY PRECEDENTE CIO' NON AVVENIVA. NON MI PARE CHE LA COLONNA S CORRISPONDA AD UNA SUBQUERY. COSA E' SUCCESSO?
Select Distinct p.cognome , p.nome , Days( p.nascita, Today()+1)*24/8766 As eta ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_NVAF_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_CHF_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_AHT_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_Ictus_TIA_Embolia_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_DM_ ,
( Select Min( b.data_open) From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' ))
_CVD_ , /*
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.9 Then 1 Else 0 End _Age_ ,
Case When p.sesso ILike 'F' Then 1 Else 0 End _Sex_ , */
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End +
Case When p.sesso ILike 'F' Then 1 Else 0 End
_CHA2DS2_VASc_
FROM ( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u ON n.pa_medi = u.userid
WHERE u.codice_regionale Like '436931' AND u.nome Like '%'
AND p.pa_convenzione = 'S' AND Year( nascita) Between 1915 And 1970
AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between
Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null
AND p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
AND p.codice NOT IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '394%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) /*
AND ( Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End
+ Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '401.9%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '444%' Or b.cp_code ILike '436%' Or b.cp_code ILike '435%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '250%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_pazpbl b Where b.codice = p.codice And ( b.cp_code ILike '443.9%' Or b.cp_code ILike '428.9%' Or b.cp_code ILike '435.9%' Or b.cp_code ILike 'V45.8%' Or b.cp_code ILike '444.22%' ) And Not ( b.pb_status = 'I' And b.modalita ='A' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End +
Case When p.sesso ILike 'F' Then 1 Else 0 End ) > 0 */
ORDER BY 10 desc , 1 , 2
calcolo CHADS2-VASc
BUONA SERA GRAZIE PER IL TU AIUTO MA LA QUERY MI DA INESORABILMENTE ZERO COME RISULTATO. ALTRA INFORMAZIONE GLI ASSISTITI ESTRATTI NON DEVONO ESSERE OBBLIGATORIAMENTE ULTRASESSANTACINQUENNI. GRAZIE ANCORA PER L'AIUTO
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
calcolo CHADS2-VASc
BUONA SERA HO TROVATO DOVEVO CAMBIARE IL CODICE REGIONALE. RIMANE IL SECONDO QUESITO IL CALCOLO VA FATTO PER TUTTI GLI ASISTITI CHE HANNO FATTORI DI RISCHIO E NON PER GLI ULTRASESSANTACINQUENNI
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: calcolo CHADS2-VASc
Una query complessa va testata piu' volte e quindi vengono introdotte varie condizioni di ricerca restrittive x velocizzare le varie prove come ad es. : AND Year( nascita) Between 1910 And 1970 , come pure spazi fra le colonne reali ( ' ' As s , ' ' As s1 , ) al fine di valutare meglio e piu' rapidamente i risultati ottenuti ;nanci giacinto ha scritto:BUONA SERA HO TROVATO DOVEVO CAMBIARE IL CODICE REGIONALE. RIMANE IL SECONDO QUESITO IL CALCOLO VA FATTO PER TUTTI GLI ASISTITI CHE HANNO FATTORI DI RISCHIO E NON PER GLI ULTRASESSANTACINQUENNI
quindi alla fine delle varie prove e/o test , bisogna verificare le condizioni di ricerca, adattarle alle proprie esigenze ed eliminare il superfluo oppure disattivarlo inserendo : /* */
Una query di tal genere richiede una non semplice impostazione / verifica dei codici ICD9 .
Forse è meglio ricercare la presenza delle patologie in modo piu' esteso , in quanto non infrequentemente in MW e nella realtà, un problema evolve in un altro e quindi nella precedente formulazione poteva non essere rilevato :
sicuramente la query è diventata piu' pesante per il motore di ricerca ... piu' esaustiva ... forse :
Select Distinct p.cognome , p.nome , Days( p.nascita, Today()+1)*24/8766 As eta , /* ' ' As s , */
( Select Cast( DateFormat( Max( b.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '427.3%' And l.cp_code NOT ILike '394%' )
And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And b.modalita = 'A' And b.certezza <> 'S' ))
_NVAF_ , /* ' ' As s1 , */
( Select Cast( DateFormat( Max( b.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_CHF_ ,
( Select Cast( DateFormat( Max( b.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '401.9%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_AHT_ ,
( Select Cast( DateFormat( Max( b.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '444%' Or l.cp_code ILike '436%' Or l.cp_code ILike '435%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_Ictus_TIA_Embolia_ ,
( Select Cast( DateFormat( Max( b.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '250%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_DM_ ,
( Select Cast( DateFormat( Max( b.data_open) ,'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '443.9%' Or l.cp_code ILike '428.9%' Or l.cp_code ILike '435.9%' Or l.cp_code ILike 'V45.8%' Or l.cp_code ILike '444.22%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_CVD_ ,
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.9 Then 1 Else 0 End + Case When p.sesso ILike 'F' Then 1 Else 0 End _Age_Sex_ ,
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '401.9%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '444%' Or l.cp_code ILike '436%' Or l.cp_code ILike '435%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '250%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '443.9%' Or l.cp_code ILike '428.9%' Or l.cp_code ILike '435.9%' Or l.cp_code ILike 'V45.8%' Or l.cp_code ILike '444.22%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End + Case When p.sesso ILike 'F' Then 1 Else 0 End
_CHA2DS2_VASc_
FROM ( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u ON n.pa_medi = u.userid
WHERE u.codice_regionale Like '%' AND u.nome Like '%'
AND p.pa_convenzione = 'S' AND Year( nascita) Between 1910 And 2016
AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between
Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null /*
AND p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
AND p.codice NOT IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '394%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) */
AND ( Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '401.9%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '444%' Or l.cp_code ILike '436%' Or l.cp_code ILike '435%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '250%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '443.9%' Or l.cp_code ILike '428.9%' Or l.cp_code ILike '435.9%' Or l.cp_code ILike 'V45.8%' Or l.cp_code ILike '444.22%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End + Case When p.sesso ILike 'F' Then 1 Else 0 End ) > 0
ORDER BY _CHA2DS2_VASc_ desc , p.cognome , p.nome
La query dovrebbe estrarre tutti i Pazienti con punteggio _CHA2DS2_VASc_ > 0 ( quindi tutte le donne da 0 a 110 anni )
Saluti , Sergio
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
CALCOLO CHADVASC
BUON GIORNO GRAZIE SERGIO FUNZIONA PERFETTAMENTE. SI POTREBBE AGGIUNGERE IL CODICE FISCALE IN CASO DI RARISSIMA PROBABILITA' DI OMONIMIA. GRAZIE ANCORA
nanci giacinto- Membro Junior
- Messaggi : 128
Punti : 5209
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: calcolo CHADS2-VASc
Prego , ho introdotto una piccola modifica nell' estrazione della data di esordio delle patologie, dato non semplice da ottenere per alcune Patologie : la FA spesso esordisce come Parossistica o sporadica od episodica, poi diventa stabile o cronica, poi a volte viene convertita in RS con Cardioversione infine recidiva ... ; Alterata Glicemia a Digiuno che evolve in Diabete . in MW viene sempre indicata la data di esordio di un problema, anche se evolve nel tempo, talora la discrepanza fra la data di esordio ed il problema evidenziato è francamente disturbante ed inappropriata :nanci giacinto ha scritto:BUON GIORNO GRAZIE SERGIO FUNZIONA PERFETTAMENTE. SI POTREBBE AGGIUNGERE IL CODICE FISCALE IN CASO DI RARISSIMA PROBABILITA' DI OMONIMIA. GRAZIE ANCORA
Select Distinct p.cognome , p.nome , Days( p.nascita, Today()+1)*24/8766 As eta , p.codice_fiscale , /* ' ' As s , */
( Select Cast( DateFormat( Min( l.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '427.3%' And l.cp_code NOT ILike '394%' )
And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And b.modalita = 'A' And b.certezza <> 'S' ))
_NVAF_ ,
( Select Cast( DateFormat( Min( l.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_CHF_ ,
( Select Cast( DateFormat( Min( l.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '401.9%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_AHT_ ,
( Select Cast( DateFormat( Min( l.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '444%' Or l.cp_code ILike '436%' Or l.cp_code ILike '435%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_Ictus_TIA_Embolia_ ,
( Select Cast( DateFormat( Min( l.data_open) , 'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '250%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_DM_ ,
( Select Cast( DateFormat( Min( l.data_open) ,'yyyy-mm-dd' ) As Date ) From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '443.9%' Or l.cp_code ILike '428.9%' Or l.cp_code ILike '435.9%' Or l.cp_code ILike 'V45.8%' Or l.cp_code ILike '444.22%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' ))
_CVD_ ,
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.9 Then 1 Else 0 End + Case When p.sesso ILike 'F' Then 1 Else 0 End _Age_Sex_ ,
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '401.9%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '444%' Or l.cp_code ILike '436%' Or l.cp_code ILike '435%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '250%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '443.9%' Or l.cp_code ILike '428.9%' Or l.cp_code ILike '435.9%' Or l.cp_code ILike 'V45.8%' Or l.cp_code ILike '444.22%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End + Case When p.sesso ILike 'F' Then 1 Else 0 End
_CHA2DS2_VASc_
FROM ( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice )
LEFT Outer JOIN v_utenti u ON n.pa_medi = u.userid
WHERE u.codice_regionale Like '%' AND u.nome Like '%'
AND p.pa_convenzione = 'S' AND Year( nascita) Between 1910 And 2016
AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between
Date( Today())-365 And Today() And motivo_revoca = 'S')) And p.decesso Is Null /*
AND p.codice IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '427.3%' And Not ( b.pb_status = 'I' And b.modalita ='A' ))
AND p.codice NOT IN ( Select b.codice From cart_pazpbl b Where b.codice = p.codice And b.cp_code ILike '394%' And Not ( b.pb_status = 'I' And b.modalita ='A' )) */
AND ( Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code IN ( '514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '401.9%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '444%' Or l.cp_code ILike '436%' Or l.cp_code ILike '435%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 2 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And l.cp_code ILike '250%' And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When ( Select Distinct 1 From cart_problemi l , cart_pazpbl b Where l.codice = p.codice And ( l.cp_code ILike '443.9%' Or l.cp_code ILike '428.9%' Or l.cp_code ILike '435.9%' Or l.cp_code ILike 'V45.8%' Or l.cp_code ILike '444.22%' ) And l.pb_code = b.pb_code And Not ( b.pb_status = 'I' And modalita = 'A' And b.certezza <> 'S' )) > 0 Then 1 Else 0 End +
Case When Days( p.nascita, Today()+1)*24/8766 > 74.99 Then 2 When Days( p.nascita, Today()+1)*24/8766 Between 65 And 74.99 Then 1 Else 0 End + Case When p.sesso ILike 'F' Then 1 Else 0 End ) > 0
ORDER BY 5 , 6 , _CHA2DS2_VASc_ desc , p.cognome , p.nome
Ti saluto , Sergio
Cervino- Membro Junior
- Messaggi : 245
Punti : 5281
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Argomenti simili
» Millewin - Unofficial utilities
» Estrazione BMI e calcolo FraHS
» CALCOLO RISCHIO CARDIOVASCOLARE
» Calcolo automatico GFR_CKD-EPI
» Calcolo spesa farmaceutica.....
» Estrazione BMI e calcolo FraHS
» CALCOLO RISCHIO CARDIOVASCOLARE
» Calcolo automatico GFR_CKD-EPI
» Calcolo spesa farmaceutica.....
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.