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

Unisciti al forum, è facile e veloce

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
****************************************************
FORUM PER UTENTI MILLEWIN
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

i pazienti del Lunedì

3 partecipanti

Andare in basso

i pazienti del Lunedì  Empty i pazienti del Lunedì

Messaggio  LucaLeF Mar 16 Apr 2019 - 9:28

ricevo senza appuntamento. ho la sensazione che alcuni pazienti (impazienti) vengano abitualmente il Lunedì pomeriggio anche solo per ripetizione di ricette o controllo analisi. ovviamente il giorno postfestivo è più affollato. al dunque vorrei intervenire su questi abituè proponendo loro di procrastinare l'accesso ai giorni successiivi se non si tratta di visita per patologia.
a naso so chi sono MA le estrazioni che ci stanno a fare? a documentare , confermando o smentendo, delle intuizioni.

Al dunque , so di abusare e quindi di espormi a mancate risposte, ma come si può configurare una query che estragga per ogni paziente i giorni dei contatti. immagino un foglio excel con tante righe quanti sono i pazienti , una riga per ogni paziente e tante colonne , col giorno del contatto, per ogni riga.

a quel punto penso che con excel potrei individuare quali sono i pazienti che vengono più spesso di Lunedì. 

non so neanche se ne valga la pena rispetto ad un intervento "a naso" fatto sul singolo che venuto di Lunedì senza nessuna urgenza si vede proporre una frequentazione più collaborativa dello studio . 

in ogni caso ....

Luca Le Foche mMG Latina

LucaLeF
Membro Esperto
Membro Esperto

Messaggi : 473
Punti : 5709
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  Cervino Mer 24 Apr 2019 - 2:00

LucaLeF ha scritto:ricevo senza appuntamento. ho la sensazione che alcuni pazienti (impazienti) vengano abitualmente il Lunedì pomeriggio anche solo per ripetizione di ricette o controllo analisi. ovviamente il giorno postfestivo è più affollato. al dunque vorrei intervenire su questi abituè proponendo loro di procrastinare l'accesso ai giorni successiivi se non si tratta di visita per patologia.    a naso so chi sono MA le estrazioni che ci stanno a fare? a documentare , confermando o smentendo, delle intuizioni.    Al dunque , so di abusare e quindi di espormi a mancate risposte, ma come si può configurare una query che estragga per ogni paziente i giorni dei contatti. immagino un foglio excel con tante righe quanti sono i pazienti , una riga per ogni paziente e tante colonne , col giorno del contatto, per ogni riga.  
a quel punto penso che con excel potrei individuare quali sono i pazienti che vengono più spesso di Lunedì.  
non so neanche se ne valga la pena rispetto ad un intervento "a naso" fatto sul singolo che venuto di Lunedì senza nessuna urgenza si vede proporre una frequentazione più collaborativa dello studio .    in ogni caso ....
Luca Le Foche mMG Latina
Prova con ( verificare le varie clausole ) :  

WITH  vis AS ( SELECT codice , DoW( data_open) AS week_d , data_open AS vis_d , tipo FROM cart_visite WHERE  data_open> Today()-300 AND tipo = 'ad' GROUP BY codice ,  data_open , tipo ORDER BY codice , week_d )
SELECT p.cognome ,  p.nome ,  p.nascita ,  p.sesso ,  p.codice , Cast( CASE  WHEN  week_d  = 1  THEN  Count( week_d)  END  AS SmallInt ) AS mon , Cast( CASE  WHEN  week_d  = 2  THEN  Count( week_d)  END  AS SmallInt ) AS tues , Cast( CASE  WHEN  week_d  = 3  THEN  Count( week_d)  END  AS SmallInt ) AS wednes , Cast( CASE  WHEN  week_d  = 4  THEN  Count( week_d)  END  AS SmallInt ) AS thurs , Cast( CASE  WHEN  week_d  = 5  THEN  Count( week_d)  END  AS SmallInt ) AS fri ,  Cast( CASE  WHEN  week_d  = 6  THEN  Count( week_d)  END  AS SmallInt ) AS satur , Cast( CASE  WHEN  week_d  = 0  THEN  Count( week_d)  END  AS SmallInt )  AS sun ,    CASE  week_d  WHEN  1  THEN  ' Lun'   WHEN  2  THEN  ' Mart'   WHEN  3  THEN  ' Merc'  WHEN  4  THEN  ' Giov'   WHEN  5  THEN  ' Ven'   WHEN  6  THEN  ' Sab'  WHEN  0  THEN  ' Dom'  END
FROM  pazienti p  RIGHT JOIN  vis v  USING( codice)  GROUP BY  p.cognome , p.nome , p.nascita , p.sesso , week_d , p.codice  ORDER BY  p.cognome , p.nome , week_d


purtroppo con il  vecchio  schema classico SQL ( obsoleto ? ) , il set estratto non è altrettanto soddisfacente ( la funzione di aggregazione COUNT in pratica non risulta utile , probabilmente bisogna ottenere v.data_open tramite subquery ma … non sono un esperto )  :

SELECT p.cognome ,  p.nome ,  p.nascita ,  p.sesso ,  Cast( CASE  WHEN  DoW( v.data_open)  = 1  THEN  Count( DoW( v.data_open) )  ELSE 0 END  AS SmallInt ) AS mon ,
Cast( CASE  WHEN  DoW( v.data_open)  = 2  THEN  Count( DoW( v.data_open) )  END  AS SmallInt ) AS tues ,  
Cast( CASE  WHEN  DoW( v.data_open)  = 3  THEN  Count( DoW( v.data_open) )  END  AS SmallInt ) AS wednes , 
Cast( CASE  WHEN  DoW( v.data_open)  = 4  THEN  Count( DoW( v.data_open) )  END  AS SmallInt ) AS thurs ,  
Cast( CASE  WHEN  DoW( v.data_open)  = 5  THEN  Count( DoW( v.data_open) )  END  AS SmallInt ) AS fri ,
Cast( CASE  WHEN  DoW( v.data_open)  = 6  THEN  Count( DoW( v.data_open) )  END  AS SmallInt ) AS satur , 
Cast( CASE  WHEN  DoW( v.data_open)  = 0  THEN  Count( DoW( v.data_open) )  END  AS SmallInt ) AS sun ,
CASE  DoW( v.data_open)   WHEN  1  THEN  ' Lun'   WHEN  2  THEN  ' Mart'   WHEN  3  THEN  ' Merc'  WHEN  4  THEN  ' Giov'   WHEN  5  THEN  ' Ven'   WHEN  6  THEN  ' Sab'  WHEN  0  THEN  ' Dom'  END  AS  week_d
FROM  pazienti p  RIGHT JOIN   cart_visite v  USING( codice)
 WHERE   v.data_open> Today()-365   AND   tipo = 'ad'
GROUP BY  p.cognome , p.nome , p.nascita , p.sesso , v.data_open , p.codice  ORDER BY  p.cognome , p.nome , week_d


Ti saluto ,  Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 245
Punti : 5071
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 69
Località : Orzivecchi (BS)

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  LucaLeF Mer 24 Apr 2019 - 17:06

Caro Sergio, sei come al solito molto gentile e disponibile

il primo gruppo di istruzioni mi dà zero righe estratte 

il secondo gruppo il seguente messaggio di errore
ERRORE SQL:
SQLSTATE = 42P01
ERRORE: la relazione "vis" non esiste;
No query has been executed with that handle
SELECT p.cognome, p.nome, p.nascita , p.sesso , p.codice, Cast(
CASE WHEN week.d = 1 THEN Count( week.d) END AS Smalllnt
) AS mon , Cast( CASE WHEN we

ti confesso la mia ignoranza , non sono neanche consapevole di quello che ti sto comunicando, porta pazienza

ciao
Luca 

fammi sapere se ti va ancora di proseguire

LucaLeF
Membro Esperto
Membro Esperto

Messaggi : 473
Punti : 5709
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  Cervino Gio 25 Apr 2019 - 0:17

LucaLeF ha scritto:Caro Sergio, sei come al solito molto gentile e disponibile 
il primo gruppo di istruzioni mi dà zero righe estratte 
il secondo gruppo il seguente messaggio di errore    ERRORE SQL:   SQLSTATE = 42P01
ERRORE: la relazione "vis" non esiste;
No query has been executed with that handle
SELECT p.cognome, p.nome, p.nascita , p.sesso , p.codice, Cast(
CASE WHEN week.d = 1 THEN Count( week.d) END AS Smalllnt
) AS mon , Cast( CASE WHEN we
ti confesso la mia ignoranza , non sono neanche consapevole di quello che ti sto comunicando, porta pazienza
 ciao   Luca        fammi sapere se ti va ancora di proseguire
Come già piu' volte sottolineato , incredibilmente .. ma no troppo, nell' attuale versione di MW  le  WITH query ( in pratica le PreEstrazioni a cascata , Requisito fondamentale x semplificare e/o eseguire Interrogazioni complesse e sofisticate di un database ) non funzionano con MU v13.39 ( e oltre ? ) ;
di conseguenza bisogna, come gia piu' volte ribadito bisogna utilizzare PgAdmin III o 4 o web , una versione a piacere, comunque fornita di default quando è stato installato PostGres .
 la Prima query funziona in modo ottimale con MU v 13.38 , la Seconda invece non raggruppa le righe x data ma è comunque utile x identificare visivamente i Frequent Visitors di un determinato giorno della settimana .
l' Errore SQL: SQLSTATE = 42P01  indica ovviamente che la query cerca una vista temporanea che ovviamente non esiste ( probabilmente hai rimosso la vista temporanea creata con la WITH query ) ; in MU utilizza la Seconda query .
Ti saluto , Sergio

Cervino
Membro Junior
Membro Junior

Messaggi : 245
Punti : 5071
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 69
Località : Orzivecchi (BS)

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  LucaLeF Ven 26 Apr 2019 - 9:29

Caro Sergio , mi accorgo di aver abusato della tua disponibilità e pazienza. Ti assicuro che "sottolineare o ribadire più volte" concetti che l'interlocutore dimostra di non comprendere non è proficuo in termini di comunicazione. Come ti sarai accorto nella pratica medica della relazione col paziente e come ti confermo io in questo scambio di messaggi. Io infatti non so proprio cosa sia PgAdmin, e come utilizzarlo. L'ho cercato tra i programmi istallati non trovandolo . Sono stato sul sito del software ma mi perdo tra le tante opzioni di download.
In conclusione penso che come medico che usa MilleWin con dovizia di inserimento dati possa cercare di soddisfare la mia curiosità nell'estrarre quello che mi serve, d'altra parte non mi sento in colpa per non avere adeguate conoscenze che mi permettano di formulare query in autonomia, oltre ad un uso basilare di MilleUtilità. 
Ti ringrazio sinceramente e comunque, ancora una volta per il tempo che mi hai voluto altruisticamente dedicare
Luca

LucaLeF
Membro Esperto
Membro Esperto

Messaggi : 473
Punti : 5709
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  draleo83 Ven 17 Mag 2019 - 10:36

Ho visto il post per caso e ho ritrovato una vecchia query di una decina di anni fa. Per funzionare funziona  ancora (almeno nel mio PC). Ma  si ripropone il quesito : quali accessi considerare ? solo quelli dal medico? Anche quelli effettuati presso la segretaria ? Questa query li comprende tutti ; di conseguenza , se il paz  fa un primo accesso dalla segretaria per prescrivere farmaci e mezz’ora dopo  si presenta dal medico per un problema clinico, l’accesso viene contato 2 volte. Quindi la query ha una validità solo indicativa ; ma credo possa essere un buon punto di partenza, da migliorare
select p.cognome, p.nome,
(select count(*)  from V_contatti v where p.codice = v.codice )as totali_acc,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=2) as Lun,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=3) as Mart,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=4) as Merc,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=5) as Giov,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=6) as ven,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=7) as sab,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=1) as dom
From v_pazienti p , V_contatti v
where p.codice = v.codice
group by p.cognome,p.nome,p.codice
order by 4 desc
draleo83
draleo83
Membro Junior
Membro Junior

Messaggi : 225
Punti : 5097
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  draleo83 Ven 17 Mag 2019 - 10:57

Pardon; c'era un errore nell'identificazione del giorno della settimana. L'ho corretta
select p.cognome, p.nome,
(select count(*)  from V_contatti v where p.codice = v.codice )as totali_acc,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=1) as Lun,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=2) as Mart,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=3) as Merc,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=4) as Giov,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=5) as ven,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=6) as sab,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=7) as dom
From v_pazienti p , V_contatti v
where p.codice = v.codice
group by p.cognome,p.nome,p.codice
order by 4 desc
draleo83
draleo83
Membro Junior
Membro Junior

Messaggi : 225
Punti : 5097
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  draleo83 Ven 17 Mag 2019 - 11:17

Pardon; c'era un errore nell'identificazione del giorno della settimana. L'ho corretta
select p.cognome, p.nome,
(select count(*)  from V_contatti v where p.codice = v.codice )as totali_acc,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=1) as Lun,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=2) as Mart,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=3) as Merc,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=4) as Giov,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=5) as ven,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=6) as sab,
(select count(*) from V_contatti v where p.codice = v.codice AND DOW(v.data_contatto)=7) as dom
From v_pazienti p , V_contatti v
where p.codice = v.codice
group by p.cognome,p.nome,p.codice
order by 4 desc
draleo83
draleo83
Membro Junior
Membro Junior

Messaggi : 225
Punti : 5097
Voti per importanza dei messaggi : 25
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  LucaLeF Lun 20 Mag 2019 - 10:04

grazie mille. certo che il forum contiene TANTISSIME interrogazioni. chissà se qualche collega del corso triennale di formazione volesse farci una tesi

LucaLeF
Membro Esperto
Membro Esperto

Messaggi : 473
Punti : 5709
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11

Torna in alto Andare in basso

i pazienti del Lunedì  Empty Re: i pazienti del Lunedì

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto

- Argomenti simili

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