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

scheda pain

Andare in basso

scheda pain

Messaggio  mario shirt il Sab 18 Mar 2017 - 10:07

Grazie a tutti in particolare a Sergio per il grande aiuto datomi per il progetto dono, per completare il tutto senza essere costretto ad aprire tutte le schede pain manualmente domando : e' possibile estrarre i dati della scheda pain? la scheda pain va sotto EO e nelle ricerche che chiedono il risultato compare  --->

Grazie Mario
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3207
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  Cervino il Dom 19 Mar 2017 - 23:43

mario shirt ha scritto:Grazie a tutti in particolare a Sergio per il grande aiuto datomi per il progetto dono, per completare il tutto senza essere costretto ad aprire tutte le schede pain manualmente domando : e' possibile estrarre i dati della scheda pain? la scheda pain va sotto EO e nelle ricerche che chiedono il risultato compare  --->   Grazie Mario
Ho provato a compilare 3 schede di Pain Valutazione : innanzitutto nel campo ac_val dovrebbe comparire il dato principale rilevato ( VAS = 5  ad es. ) al posto di un freccia insignificante    --->   ; inoltre  nella relativa tabella ho trovato 3 righe con Pain Massima Intensità = 2 anche quando ho inserito altri valori ( VAS = 8 - VAS = 7 - VAS = 5 ) mentre invece aprendo la relativa scheda , viene visualizzato correttamente il valore selezionato .
Compilando la relativa scheda , MW inserisce in tabella Accertamenti almeno 10 righe / Items :      PAIN  Valutazione - Durata - Num. Durata - Intensità - Frequenza - Remissione - Tipologia - PAIN  Massima  Intensità - Soggettività - Giudizio - Chiusura

con  ac_code  4000  ...  4010  o  ac_nt_code  MW 4000  ...  MW 4010  
che possono essere estratti, non so quanto facilmente ; il problema è che il valore inserito in ac_val x alcuni Items puo' essere non semplice da interpretare : es.   Soggettività = [1312]  -  Tipologia = [11]  -  Durata = [G12]  ...  ma forse facilmente comprensibili a Chi ha già compilato oltre 400 schede  Pain Valutazione   ( complimenti un bel lavoro ! )
Saluti ,  Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 222
Punti : 3082
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  mario shirt il Lun 20 Mar 2017 - 11:52

Cervino ha scritto:
mario shirt ha scritto:Grazie a tutti in particolare a Sergio per il grande aiuto datomi per il progetto dono, per completare il tutto senza essere costretto ad aprire tutte le schede pain manualmente domando : e' possibile estrarre i dati della scheda pain? la scheda pain va sotto EO e nelle ricerche che chiedono il risultato compare  --->   Grazie Mario
Ho provato a compilare 3 schede di Pain Valutazione : innanzitutto nel campo ac_val dovrebbe comparire il dato principale rilevato ( VAS = 5  ad es. ) al posto di un freccia insignificante    --->   ; inoltre  nella relativa tabella ho trovato 3 righe con Pain Massima Intensità = 2 anche quando ho inserito altri valori ( VAS = 8 - VAS = 7 - VAS = 5 ) mentre invece aprendo la relativa scheda , viene visualizzato correttamente il valore selezionato .
Compilando la relativa scheda , MW inserisce in tabella Accertamenti almeno 10 righe / Items :      PAIN  Valutazione - Durata - Num. Durata - Intensità - Frequenza - Remissione - Tipologia - PAIN  Massima  Intensità - Soggettività - Giudizio - Chiusura

con  ac_code  4000  ...  4010  o  ac_nt_code  MW 4000  ...  MW 4010  
che possono essere estratti, non so quanto facilmente ; il problema è che il valore inserito in ac_val x alcuni Items puo' essere non semplice da interpretare : es.   Soggettività = [1312]  -  Tipologia = [11]  -  Durata = [G12]  ...  ma forse facilmente comprensibili a Chi ha già compilato oltre 400 schede  Pain Valutazione   ( complimenti un bel lavoro ! )
Saluti ,  Sergio
Ciao Sergio, per favore puoi aprire un problema nuovo ortopedico (p.e. lombalgia) aggiungendo dono e collegato a questo compilare la scheda pain.
lancia questa semplice query

SELECT  a.cognome, a.nome, a.sesso, (year(today())-year(a.datanasc)) AS eta, a.datavisita, a.accertamento, a.icd9, pro.dataopen, pro.icd9, pro.problema
FROM V_ACCERTAMENTI a inner join v_problemi_attivi pro on a.codice = pro.codice and a.icd9= pro.icd9

where  a.problema ilike '%dono%'

vengono le varie voci della scheda pain ma non i risultati . Puoi sistemarla..?
Buona settimana
Mario
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3207
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  Cervino il Lun 20 Mar 2017 - 23:21

Umario shirt
Ciao Sergio, per favore puoi aprire un problema nuovo ortopedico (p.e. lombalgia) aggiungendo dono e collegato a questo compilare la scheda pain.
lancia questa semplice query

SELECT  a.cognome, a.nome, a.sesso, (year(today())-year(a.datanasc)) AS eta, a.datavisita, a.accertamento, a.icd9, pro.dataopen, pro.icd9, pro.problema
FROM V_ACCERTAMENTI a inner join v_problemi_attivi pro on a.codice = pro.codice AND a.icd9= pro.icd9 WHERE  a.problema ILIKE '%dono%'

vengono le varie voci della scheda pain ma non i risultati . Puoi sistemarla..?
Buona settimana       Mario
Purtroppo sul mio Old MillePS - MW - MU ( v 13.38 ) l' estrazione dalle Viste non Funziona ( ho provato con la query elementare :
SELECT  * FROM  v_....   solo dalle 2 viste :  v_pazienti  e  v_utenti  ottengo  dati; da tutte le altre Viste dopo tempi biblici di attesa , sempre 0 e a volte il blocco e/o la chiusura di MU ) .
Unico suggerimento , provare eventualmente ad aggiungere il campo  risults  alla query :

SELECT a.cognome, a.nome, a.sesso, (Year( Today())-Year( a.datanasc)) AS eta, a.datavisita, a.accertamento, a.risults , a.icd9, pro.dataopen, pro.icd9, pro.problema
FROM v_accertamenti a INNER JOIN v_problemi_attivi pro ON a.codice = pro.codice

WHERE a.problema ILIKE '%dono%' AND a.icd9= pro.icd9

In alternativa alla estrazione dalle Viste , in Teoria si dovrebbero ottenere gli Items della Scheda PAIN con  :


SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','', Cast( a.data_open AS Char(10)) , a.ac_des As esame , a.ac_val AS esito, a.ac_tipo AS ac_tipo, '','','','','','3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND a.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = a.pb_code AND a.ac_code BETWEEN '4000' AND '4010' /*AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */ AND a.data_open IS NOT Null

ORDER BY 1, 2 , 3



 per avere il Riepilogo dei dati dalle 4 tabelle :


SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , Cast( l.data_open AS Char(10)) AS pbl_inizio , pr_descr ||' , '|| Addenda As pbl , cp_code As icd9 , '' AS descr_d ,'' AS descriz , '' AS accert_d ,'' As esame , '' AS esito ,'' AS ac_tipo , '' As Terap_d , '' As Terapia , '' As n_pezzi , '' As posologia , '' As act , Cast( '1' AS SmallInt) As n_ord
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice )
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND l.data_open IS NOT Null
UNION
SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','', Cast( d.data_open AS Char(10)) , d.de_descr ,'','','','','','','','','', '2'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_descriz d ON p.codice = d.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND d.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = d.pb_code AND d.data_open IS NOT Null
UNION
SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','', Cast( a.data_open AS Char(10)) , a.ac_des As esame , a.ac_val AS esito, a.ac_tipo AS ac_tipo, '','','','','','3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND a.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = a.pb_code /* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */ AND a.data_open IS NOT Null
UNION
SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','','','','','', Cast( t.data_open AS Char(10)) , t.co_des , t.te_npezzi , t.po_des , t.co_atc , '4'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_terap t ON p.codice = t.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND t.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = t.pb_code AND t.data_open IS NOT Null
ORDER BY 1, 2 , 3 , 8 desc , 7 , 10 desc , 11 , 15 desc , 16 , 19 , 20
LIMIT 1500 OFFSET 0






Ti saluto ,  Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 222
Punti : 3082
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  mario shirt il Dom 2 Apr 2017 - 12:41

Cervino ha scritto:

 per avere il Riepilogo dei dati dalle 4 tabelle :


SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , Cast( l.data_open AS Char(10)) AS pbl_inizio , pr_descr ||' , '|| Addenda As pbl , cp_code As icd9 , '' AS descr_d ,'' AS descriz , '' AS accert_d ,'' As esame , '' AS esito ,'' AS ac_tipo , '' As Terap_d , '' As Terapia , '' As n_pezzi , '' As posologia , '' As act , Cast( '1' AS SmallInt) As n_ord
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice )
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND l.data_open IS NOT Null
UNION
SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','', Cast( d.data_open AS Char(10)) , d.de_descr ,'','','','','','','','','', '2'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_descriz d ON p.codice = d.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND d.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = d.pb_code AND d.data_open IS NOT Null
UNION
SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','', Cast( a.data_open AS Char(10)) , a.ac_des As esame , a.ac_val AS esito, a.ac_tipo AS ac_tipo, '','','','','','3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND a.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = a.pb_code /* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */ AND a.data_open IS NOT Null
UNION
SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','','','','','', Cast( t.data_open AS Char(10)) , t.co_des , t.te_npezzi , t.po_des , t.co_atc , '4'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_terap t ON p.codice = t.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND ( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' ) AND t.data_open Between '2015-01-01' And '2016-03-31'
AND l.pb_code = t.pb_code AND t.data_open IS NOT Null
ORDER BY 1, 2 , 3 , 8 desc , 7 , 10 desc , 11 , 15 desc , 16 , 19 , 20
LIMIT 1500 OFFSET 0






Ti saluto ,  Sergio

Ciao Sergio, come mai la query sotto postata mi estrae tutti i pazienti con "dono" e quella su postata (perfetta anche nell'estrazione dei campi di pain che in quella sotto mi da solo --->) non estrae tutti i pazienti?  Mi puoi dare spiegazioni su dove intervenire. Grazie  Mario


SELECT p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , l.data_open As ev_d , pr_descr As descriz , cp_code As icd9_referto , '' As posologia , '' As act , Cast( '1' AS SmallInt) As n_ord
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice )
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( l.addenda ILIKE '%dono%' OR l.addenda ILIKE '%dono%' ) AND l.data_open > Today()-365 ) AND l.data_open IS NOT Null
UNION
SELECT p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , t.data_open , t.co_des , t.te_npezzi , t.po_des , t.co_atc , '2'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_terap t ON p.codice = t.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( l.addenda ILIKE '%dono%' OR l.addenda ILIKE '%DONO%' ) AND l.data_open > Today()-365 )
AND l.pb_code = t.pb_code AND t.data_open IS NOT Null
UNION
SELECT p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , a.data_open , a.ac_des , a.ac_val , a.ac_tipo , '' , '3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( l.addenda ILIKE '%dono%' OR l.addenda ILIKE '%dono%' ) AND l.data_open > Today()-365 )
AND l.pb_code = a.pb_code AND a.ac_tipo NOT IN ( '00' , 'STI' ,  '_SG' ) AND a.data_open IS NOT Null
UNION
SELECT p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , d.data_open , d.de_descr , '' , '' , '' , '4'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_descriz d ON p.codice = d.codice
WHERE u.nome ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( l.addenda ILIKE '%dono%' OR l.addenda ILIKE '%dono%' ) AND l.data_open > Today()-365 )
AND l.pb_code = d.pb_code AND d.data_open IS NOT Null
ORDER BY 1 , 2 , 11
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3207
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  Cervino il Lun 3 Apr 2017 - 2:36

Ovviamente , dato che le 2 query cercano  i dati nelle relative Tabelle , in diversi periodi :

( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' )
AND ( l.addenda ILIKE '%dono%' AND l.data_open > Today()-365 )

inoltre le clausola limitative :

/* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */

vengono ignorate in quanto inglobate in /* ...  */  a titolo esemplificativo ( ev. spostarli secondo necessità );
trattandosi di query successive unificate in un unico set tramite  UNION,  è necessario uniformare le clausole relative al periodo di riferimento, in tutte le query .

Ti saluto ,  Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 222
Punti : 3082
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  mario shirt il Sab 8 Apr 2017 - 13:18

Cervino ha scritto:Ovviamente , dato che le 2 query cercano  i dati nelle relative Tabelle , in diversi periodi :

( addenda ILIKE '%dono%' AND l.data_open Between '2015-01-01' And '2016-03-31' )
AND ( l.addenda ILIKE '%dono%' AND l.data_open > Today()-365 )

inoltre le clausola limitative :

/* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */

vengono ignorate in quanto inglobate in /* ...  */  a titolo esemplificativo ( ev. spostarli secondo necessità );
trattandosi di query successive unificate in un unico set tramite  UNION,  è necessario uniformare le clausole relative al periodo di riferimento, in tutte le query .

Ti saluto ,  Sergio

grazie Sergio, purtroppo avevo intuito il problema delle diverse date e cambiato senza ottenere nulla. Ora confrontando i relativi risultati mi sono accorto che il problema dovrebbe essere legato al fatto che chi ha piu' volte aperta la scheda pain non viene estratto. In conclusione chi ha la scheda pain aperta in periodi successivi ( quello che si doveva fare, anzi l'ultima scheda pain compilata si doveva "chiudere") risulta estratto dalla query che fa vedere solo ---> nel risultato di pain, mentre nella ottimma query che riporta i vari campi di pain non c'e' traccia dei pazienti che hanno piu' schede pain compilate.
Ci puoi mettere mano e spiegare? Grazie e buon fine settimana
Mario
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3207
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  Cervino il Dom 9 Apr 2017 - 22:52

mario shirt ha scritto:
grazie Sergio, purtroppo avevo intuito il problema delle diverse date e cambiato senza ottenere nulla. Ora confrontando i relativi risultati mi sono accorto che il problema dovrebbe essere legato al fatto che chi ha piu' volte aperta la scheda pain non viene estratto. In conclusione chi ha la scheda pain aperta in periodi successivi ( quello che si doveva fare, anzi l'ultima scheda pain compilata si doveva "chiudere") risulta estratto dalla query che fa vedere solo ---> nel risultato di pain, mentre nella ottimma query che riporta i vari campi di pain non c'e' traccia dei pazienti che hanno piu' schede pain compilate.
Ci puoi mettere mano e spiegare? Grazie e buon fine settimana
Mario
Strano ma sul mio  old MillePS MonoUtente , l' anomalia da Te riscontrata non si verifica ( ovviamente la situazione è diversa trattandosi di estrarre ad es. l' Emocromo completo x i Donatori di Sangue ) con la query :

SELECT p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , a.data_open , a.ac_des , a.ac_val , a.ac_tipo , '' , '3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE n.pa_medi ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( addenda ILIKE '%dono%' AND addenda NOT ILIKE '%pseudodono%' ) AND l.data_open Between '2015-01-01' And '2017-03-31' )

AND a.data_open Between '2015-01-01' And '2016-03-31' AND l.pb_code = a.pb_code
/* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */
ORDER BY 1, 2 , 7 , 6
LIMIT 10000 OFFSET 0


                                         stesso set estratto con :

SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','', Cast( a.data_open AS Char(10)) , a.ac_des As esame , a.ac_val AS esito, a.ac_tipo AS ac_tipo, '','','','','','3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE n.pa_medi ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( addenda ILIKE '%dono%' AND addenda NOT ILIKE '%pseudodono%' ) AND l.data_open Between '2015-01-01' And '2017-03-31' )
 AND a.data_open Between '2015-01-01' And '2016-03-31' AND l.pb_code = a.pb_code
 /* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */
ORDER BY 1, 2 , 3 , 8 desc , 7 , 10 desc , 11 , 15 desc , 16 , 19 , 20
LIMIT 10000 OFFSET 0


Verifica accuratamente le varie clausole
Ti saluto ,  Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 222
Punti : 3082
Voti per importanza dei messaggi : 16
Data d'iscrizione : 03.03.11
Età : 64
Località : Orzivecchi (BS)

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  mario shirt il Dom 9 Apr 2017 - 23:15

Cervino ha scritto:
mario shirt ha scritto:
grazie Sergio, purtroppo avevo intuito il problema delle diverse date e cambiato senza ottenere nulla. Ora confrontando i relativi risultati mi sono accorto che il problema dovrebbe essere legato al fatto che chi ha piu' volte aperta la scheda pain non viene estratto. In conclusione chi ha la scheda pain aperta in periodi successivi ( quello che si doveva fare, anzi l'ultima scheda pain compilata si doveva "chiudere") risulta estratto dalla query che fa vedere solo ---> nel risultato di pain, mentre nella ottimma query che riporta i vari campi di pain non c'e' traccia dei pazienti che hanno piu' schede pain compilate.
Ci puoi mettere mano e spiegare? Grazie e buon fine settimana
Mario
Strano ma sul mio  old MillePS MonoUtente , l' anomalia da Te riscontrata non si verifica ( ovviamente la situazione è diversa trattandosi di estrarre ad es. l' Emocromo completo x i Donatori di Sangue ) con la query :

SELECT p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta , a.data_open , a.ac_des , a.ac_val , a.ac_tipo , '' , '3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE n.pa_medi ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( addenda ILIKE '%dono%' AND addenda NOT ILIKE '%pseudodono%' ) AND l.data_open Between '2015-01-01' And '2017-03-31' )

AND a.data_open Between '2015-01-01' And '2016-03-31' AND l.pb_code = a.pb_code
/* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */
ORDER BY 1, 2 , 7 , 6
LIMIT 10000 OFFSET 0


                                         stesso set estratto con :

SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','', Cast( a.data_open AS Char(10)) , a.ac_des As esame , a.ac_val AS esito, a.ac_tipo AS ac_tipo, '','','','','','3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE n.pa_medi ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( addenda ILIKE '%dono%' AND addenda NOT ILIKE '%pseudodono%' ) AND l.data_open Between '2015-01-01' And '2017-03-31' )
 AND a.data_open Between '2015-01-01' And '2016-03-31' AND l.pb_code = a.pb_code
 /* AND a.ac_code BETWEEN '4000' AND '4010' AND a.ac_tipo NOT IN ( '00' , 'STI' , 'EO' , '_SG' ) */
ORDER BY 1, 2 , 3 , 8 desc , 7 , 10 desc , 11 , 15 desc , 16 , 19 , 20
LIMIT 10000 OFFSET 0


Verifica accuratamente le varie clausole
Ti saluto ,  Sergio
 vanno benissimo tutte, estraggono anche i pazienti con doppio pain compilato.  Bisogna vedere con Union se estraggono anche terapia e accertamenti legati al problema a tutti i paz. Provo domani spero.
Grazie cmq.
Mario
avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3207
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

Messaggio  mario shirt il Mar 11 Apr 2017 - 10:10

mario shirt ha scritto:



 
 vanno benissimo tutte, estraggono anche i pazienti con doppio pain compilato.  Bisogna vedere con Union se estraggono anche terapia e accertamenti legati al problema a tutti i paz. Provo domani spero.
Grazie cmq.
Mario
Ciao Sergio,
ho inserito



SELECT InitCap( u.cognome||' '||u.nome) As mmg , p.cognome , p.nome , p.nascita , p.sesso , Cast( Days( p.nascita , Today()+1)*24/8766 As SmallInt ) As eta ,'','','','','', Cast( a.data_open AS Char(10)) , a.ac_des As esame , a.ac_val AS esito, a.ac_tipo AS ac_tipo, '','','','','','3'
FROM ((( pazienti p LEFT Outer JOIN nos_002 n ON p.codice = n.codice ) LEFT Outer JOIN v_utenti u ON u.userid = n.pa_medi )
LEFT Outer JOIN cart_problemi l ON p.codice = l.codice ) LEFT Outer JOIN cart_accert a ON p.codice = a.codice
WHERE n.pa_medi ILIKE '%' AND p.pa_convenzione = 'S' AND ( n.pa_drevoca Is Null Or n.pa_drevoca > Today() Or ( n.pa_drevoca Between Date( Today())-365 And Today() And n.motivo_revoca = 'S')) And p.decesso Is Null
AND (( addenda ILIKE '%dono%' AND addenda NOT ILIKE '%pseudodono%' ) AND l.data_open Between '2015-01-01' And '2017-03-31' )
 AND a.data_open Between '2015-01-01' And '2016-03-31' AND l.pb_code = a.pb_code

questa query al posto di quella inserita in quella che mi avevi mandato completa delle  tabelle problemi, accertamenti, terapie unite con union, ed ora mi estrae tutto....
misteri dell'informatica per uno che non ha capito dove era l'errore !!

Grazie ancora Mario

avatar
mario shirt
Membro Junior
Membro Junior

Messaggi : 246
Punti : 3207
Voti per importanza dei messaggi : 4
Data d'iscrizione : 21.02.11
Età : 63

Visualizza il profilo

Torna in alto Andare in basso

Re: scheda pain

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