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.

telemedicina per pz in adi

3 partecipanti

Andare in basso

telemedicina per pz in adi  - Pagina 2 Empty Re: telemedicina per pz in adi

Messaggio  GiampiMaz Lun 23 Apr 2012 - 7:56

Auguri, Lucio Auguri
Con affetto
giampiero
GiampiMaz
GiampiMaz
Membro Junior
Membro Junior

Messaggi : 122
Punti : 4991
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11

Torna in alto Andare in basso

telemedicina per pz in adi  - Pagina 2 Empty Re: telemedicina per pz in adi

Messaggio  Lucio Mignone Lun 23 Apr 2012 - 12:50

GiampiMaz ha scritto:Auguri, Lucio Auguri
Con affetto
giampiero

Grazie Giampiero per il sostegno!
Vi rendero' edotti degli esiti.

Ho provato la query, ho fatto qualche minima modifica e mi pare che ci siamo.
Ho tentato di ordinare i dati in base la numero di eventi con Order By ma non ci sono riuscito.
Non ho ben chiara la differenza, inoltre, tra ORDER BY e GROUP BY.
Se puoi illuminarmi...?
Lucio Mignone
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 632
Punti : 5631
Voti per importanza dei messaggi : 37
Data d'iscrizione : 20.02.11
Età : 60
Località : CAVRIGLIA (AR)

http://comeva.altervista.org/

Torna in alto Andare in basso

telemedicina per pz in adi  - Pagina 2 Empty Re: telemedicina per pz in adi

Messaggio  GiampiMaz Lun 23 Apr 2012 - 21:38

Caro Lucio
penso tu possa trovare migliori descrizioni in un qualsiasi corso o file di sql.
Comunque l'istruzione per ordinare i risultati è ORDER BY
in teoria si possono usare i nomi dei campi ma è fonte di complicazioni.
ORDER BY N_Eventi, p.cognome, p.nome, eta

al posto dei nomi dei campi molto meglio mettere i numeri es
ORDER 14, 1, 2, 3 (se non hai modificato il numero dei campi, se ne hai aggiunti o tolti devi contare per arrivare ad N_Eventi.

così per default conta dal più piccolo al più grande (dall'1 al 100 o dall'a alla z) e si può trascurare il comando ASC (ascendente); se si vuole ordinare al contrario (dal più grande al più piccolo) bisogna aggiungere DESC (discendente)

ORDER BY 14 DESC, 1, 2, 3 (1,2,3 non avendo messo nulla restano ascendenti)


GROUP BY è un'istruzione concettualmente più complessa, serve a raggruppare i campi voluti, ad esempio per contarli.

L'esempio riportato dal Manuale SQL di millewin è

SELECT terapia, SUM(quantita) quanti, SUM (prezzo*quantita) spesa
FROM v_terapie
WHERE fascia = 'A'
GROUP BY terapia
ORDER BY terapia --------- (qui si può mettere 1 : vedi sopra)

cioè raggruppiamo tutti i vari record terapia della vista V_terapie (tutti i quinazil, tutti i torvast ecc) poi sommiamo il numero di pezzi ecc
In pratica se è richiesto GROUP BY viene chiesto perentoriamente dal programma Sad

Ancora Auguri
giampiero
GiampiMaz
GiampiMaz
Membro Junior
Membro Junior

Messaggi : 122
Punti : 4991
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11

Torna in alto Andare in basso

telemedicina per pz in adi  - Pagina 2 Empty Re: telemedicina per pz in adi

Messaggio  Lucio Mignone Mar 24 Apr 2012 - 23:29

GiampiMaz ha scritto:Caro Lucio
penso tu possa trovare migliori descrizioni in un qualsiasi corso o file di sql.
Comunque l'istruzione per ordinare i risultati è ORDER BY
in teoria si possono usare i nomi dei campi ma è fonte di complicazioni.
ORDER BY N_Eventi, p.cognome, p.nome, eta

al posto dei nomi dei campi molto meglio mettere i numeri es
ORDER 14, 1, 2, 3 (se non hai modificato il numero dei campi, se ne hai aggiunti o tolti devi contare per arrivare ad N_Eventi.

Ed avevo proprio fatto così come dici (Letto il manuale on line SQL, provato con i numeri e con i nomi dei campi) ma non riuscendo ad ottere un ordinamento corretto in base al numero di eventi pensavo mi fosse sfuggito qualcosa in merito ad Order By...
Riguardo il tutto (devo apportare ancora alcune modifiche Last Minutes) e ti faccio sapere.
Lucio Mignone
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 632
Punti : 5631
Voti per importanza dei messaggi : 37
Data d'iscrizione : 20.02.11
Età : 60
Località : CAVRIGLIA (AR)

http://comeva.altervista.org/

Torna in alto Andare in basso

telemedicina per pz in adi  - Pagina 2 Empty Re: telemedicina per pz in adi

Messaggio  Lucio Mignone Gio 3 Mag 2012 - 10:01

Questa è la versione definitiva della query con qualche modifica, come da richiesta della ASL (inserimento codice fiscale pz, codice regionale medico, evento ICTUS, qualche colonna vuota per inserire dati successivamente, etc.).
La pubblico se può essere utile ad altri e ringrazio moltissimo chi mi ha aiutato.



[COMMENTO]
ESTRAZIONE PZ CCM CON PIU' DI DUE PATOLOGIE A CUI DESTINARE SERVIZI TELEMEDICINA
[SQL]

SELECT distinct p.cognome+' '+p.nome AS Nome, p.codice_fiscale As Codice_Fiscale, p.nascita as Data_Nascita, Years(p.nascita, TODAY()) As Eta, p.sesso As _Sesso_, u.codice_regionale as Cod_Reg_Medico,

/* COLONNA VUOTA PER INSERIMENTO PUNTEGGIO EARLI */
' '_EARLI_,

if p.codice IN (select y.codice from cart_pazpbl y where y.cp_code like '250%') then 1 else 0 endif AS _Diabete_I_e_II,

if p.codice IN (select y.codice from cart_pazpbl y where y.cp_code like '496') then 1 else 0 endif AS _BPCO_,

IF p.codice IN (select y.codice from cart_pazpbl y where y.cp_code IN ('799.1' ,'518.81')) THEN 1 ELSE 0 ENDIF AS _Insufficienza_Respiratoria_Cronica_,

IF p.codice IN (select y.codice from cart_pazpbl y where y.cp_code IN ('415.1' ,'415.11' , '415.19')) THEN 1 ELSE 0 ENDIF AS _Embolia_,

if p.codice IN (select y.codice from cart_pazpbl y where y.cp_code like '427.3%') then 1 else 0 endif AS _Fibrillazione_Atriale_,

IF p.codice IN (select y.codice from cart_pazpbl y where y.cp_code like 'V43.3%') THEN 1 ELSE 0 ENDIF AS Protesi_Valvolare_Meccanica,

/* ESTRAE PROBLEMA SCOMPENSO E CODICI SIMILI APERTO DA QUALSIASI DATA */
IF p.codice IN (select y.codice from cart_pazpbl y where y.cp_code IN ('514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4')) THEN 1 ELSE 0 ENDIF AS Scompenso ,

/*ESTRAE PROBLEMA SCOMPENSO SE PIU DI UN EPISODIO NELL ULTIMO ANNO*/
/* IF (select count (y.codice) from cart_pazpbl y where y.codice=p.codice and y.cp_code IN ('514' , '518.4' , '428' , '428.0' , '428.1' , '428.9' , '429.4') AND y.data_open >= (Today() -365)) >1 then 1 else 0 endif AS Scompenso , */

IF p.codice IN (select y.codice from cart_pazpbl y where y.cp_code like '429.79%') THEN 1 ELSE 0 endif AS Trombosi_Edocavitaria,

IF p.codice IN (select y.codice from cart_pazpbl y where y.cp_code IN ('436' , '431')) THEN 1 ELSE 0 ENDIF AS _Ictus_,

/* INSERISCE SI SE ADP ATTIVA ALTRIMENTI LASCIA VUOTA LA CASELLA */
IF p.codice IN (select y.codice from cart_concessioni_pip y where y.incent_code LIKE '0000023' and y.data_fine_autorizz >= today()) THEN 'si' ELSE ' ' ENDIF AS ADP,

/* INSERISCE SI SE ADI ATTIVA ALTRIMENTI LASCIA VUOTA LA CASELLA */
IF p.codice IN (select y.codice from cart_concessioni_pip y where y.incent_code like '0000024' and y.data_fine_autorizz >= today()) THEN 'si' ELSE ' ' ENDIF AS ADI,

/* COLONNA VUOTA PER ISERIMENTO PAZIENTE RESIDENTE RSA */
' '_RSA_,

(_diabete_I_e_II + _BPCO_ + _Insufficienza_Respiratoria_Cronica_ + _Embolia_+ _Fibrillazione_Atriale_ + Protesi_Valvolare_Meccanica + Scompenso + Trombosi_Edocavitaria + _Ictus_) As N_Eventi

FROM pazienti p, nos_002 n, v_utenti u,
WHERE p.codice =n.codice AND u.userid = n.pa_medi

AND eta >= 65
And p.pa_convenzione = 'S'
And (n.pa_drevoca Is Null Or n.pa_drevoca > Today()) And p.decesso is null

/* ATTENZIONE - Per estrarre i dati di un SINGOLO MEDICO inserire fra le parentesi il proprio codice di medicina di gruppo al posto delle XXXXX*/
/* Per estrarre i dati di TUTTI I MEDICI presenti nel database eliminare tutta la riga seguente */
And n.pa_medi like 'XXXXX'

AND N_Eventi >=2

Order by 1, 2, 3

/* PER ORDINARE ELENCO IN BASE AL NUMERO DI EVENTI */
/* Order by 20 desc, 1, 2, 3 */
Lucio Mignone
Lucio Mignone
Membro Senior
Membro Senior

Messaggi : 632
Punti : 5631
Voti per importanza dei messaggi : 37
Data d'iscrizione : 20.02.11
Età : 60
Località : CAVRIGLIA (AR)

http://comeva.altervista.org/

Torna in alto Andare in basso

telemedicina per pz in adi  - Pagina 2 Empty Re: telemedicina per pz in adi

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto


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