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

farmaci con piano terapeutico

Andare in basso

farmaci con piano terapeutico

Messaggio  nanci giacinto il Sab 19 Mar 2011 - 8:56

Salve. E' possibile estrarre il numero dei farmaci prescritti con piano terapeutico? Calcolare il numero dei pezzi e la spesa relativa? Il tutto però anche per quei farmaci peri quali non è stato registrato, per errore, su millewin il relativo piano terapeutico? grazie saluti nanci associazione MEDIASS otto medici in rete a Catanzaro.
nanci giacinto
nanci giacinto
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  aditroia il Sab 19 Mar 2011 - 15:05

Mi associo alla richiesta del collega Nanci Giacinto.
Avrei necessità di estrarre tutti i farmaci prescritti con piano terapeutico in un determinato periodo di tempo, numero di pezzi e relativa spesa.
aditroia
aditroia
Membro Junior
Membro Junior

Messaggi : 191
Punti : 3215
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  Cervino il Dom 20 Mar 2011 - 1:53

il quesito è articolato ; per iniziare proverei con una query del tipo :

Select Cast(p.cognome As Char(16)), p.nome, t.co_des As farmaco, t.data_open As in_data,
s.descr As piano_terap, Cast( Sum(te_npezzi) As integer) As numero_pezzi,
Cast(Sum(euro*te_npezzi) As Integer) As spesa,
te_fascia as Fascia, s.data_scad, Cast(co_atc As Char(11))
FROM pazienti p, cart_terap t, cart_scadenze s
Where p.codice = t.codice And t.codice = s.codice
And t.co_des = SubString(s.descr, CharIndex(':', descr)+2, 50)
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
And ( t.data_open Between Today()-365 And Today())
Group By cognome, nome, co_des, t.data_open, s.descr, te_fascia, s.data_scad, co_atc
Order By s.data_scad

alcune colonne sono eventualmente superflue ma servono di controllo e/o verifica del risultato ; ad esempio se si vuole escludere un Farmaco non piu' soggetto a Piano Terapeutico, bisogna aggiungere il relativo codice ATC nella clausola finale di esclusione :
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' , ... , ... ) ; ... adattare la query alle proprie esigenze.
Se il risultato è accettabile ( in alcune righe nel mio set estratto il campo €uro risulta nullo ) , si puo' optare per una query di riepilogo oppure fare i calcoli in un foglio di calcolo.
Un saluto da Sergio Tomasini , Orzivecchi , BS

Cervino
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  aditroia il Dom 20 Mar 2011 - 12:28

Cervino ha scritto:il quesito è articolato ; per iniziare proverei con una query del tipo :

Select Cast(p.cognome As Char(16)), p.nome, t.co_des As farmaco, t.data_open As in_data,
s.descr As piano_terap, Cast( Sum(te_npezzi) As integer) As numero_pezzi,
Cast(Sum(euro*te_npezzi) As Integer) As spesa,
te_fascia as Fascia, s.data_scad, Cast(co_atc As Char(11))
FROM pazienti p, cart_terap t, cart_scadenze s
Where p.codice = t.codice And t.codice = s.codice
And t.co_des = SubString(s.descr, CharIndex(':', descr)+2, 50)
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
And ( t.data_open Between Today()-365 And Today())
Group By cognome, nome, co_des, t.data_open, s.descr, te_fascia, s.data_scad, co_atc
Order By s.data_scad

alcune colonne sono eventualmente superflue ma servono di controllo e/o verifica del risultato ; ad esempio se si vuole escludere un Farmaco non piu' soggetto a Piano Terapeutico, bisogna aggiungere il relativo codice ATC nella clausola finale di esclusione :
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' , ... , ... ) ; ... adattare la query alle proprie esigenze.
Se il risultato è accettabile ( in alcune righe nel mio set estratto il campo €uro risulta nullo ) , si puo' optare per una query di riepilogo oppure fare i calcoli in un foglio di calcolo.
Un saluto da Sergio Tomasini , Orzivecchi , BS

Caro Sergio, anche a me in alcune righe il campo Euro risulta nullo, ma a questo si puà ovviare, però rimane il problema che anche scegliendo in Mille_Utilità un periodo da analizzare mi viene fuori l'elenco completo.
Ciao e buona Domenica.
aditroia
aditroia
Membro Junior
Membro Junior

Messaggi : 191
Punti : 3215
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  GiampiMaz il Dom 20 Mar 2011 - 16:53

Per aditroia, poichè vengono usate le tabelle, viene bypassata centrale statistiche e quello che si sceglie lì è ininfluente, l'intervallo temporale va indicato all'interno della query.

Ho rielaborato la query di cervino per fare le somme, e poter indicare con facilità l'intervallo di tempo voluto segnando la data in inizio e fine.
Inoltre ho introdotto la condizione

AND (t.indotto IS NULL OR t.indotto='' OR t.indotto LIKE 'S')

per escludere i farmaci direttamente forniti dall'ospedale o dati come campione ecc.

XXXXXXX

è il codice per la medicina di gruppo, eliminare la riga se non serve


SELECT distinct CAST ('2010-04-01' AS DATE) AS inizio, CAST ('2011-04-01' AS DATE) AS fine, Cast(co_des As Char(40)) as farmaco, Cast(descrizione As Char(40)) as farmaco, Cast(Sum(te_npezzi) As Dec(5,0)) as prescritti, Cast(Sum(te_npezzi*euro) As Dec(5,1)) as spesa

from nos_002 n, cart_terap t, cart_scadenze s, MN_V_TBL_GENERICA g
where n.codice=t.codice and n.codice=s.codice and t.te_attivo=g.codice

And t.co_des = SubString(s.descr, CharIndex(':', descr)+2, 50)
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
And ( t.data_open Between inizio And fine)

and n.pa_medi ='XXXXXXXX'

AND (t.indotto IS NULL OR t.indotto='' OR t.indotto LIKE 'S')

group by co_des, descrizione

order by 4

ho lasciato la condizione di Cervino
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
anche se non ne ho cercato la ragione.
Non ho testato la query a fondo che quindi va verificata.

Rimane un problema di fondo, la query cerca i farmaci in scadenze, e quindi saltano fuori ticlopidine o gli antiglaucoma che non necessitano più del PT ma che sono registrati in scadenze (come si fa pure ad eliminarli non uno alla volta?), quindi per soddisfare Nanci (che chiedeva anche farmaci di cui non si è registrato il PT e quindi non presenti in scadenze) occorrerebbe battere anche un'altra strada.
Io usavo per rintracciare i farmaci che necessitano di piano terapeutico della tabella MN_V_TBL_NOTE_PRESCRIZIONE che si interfacciava con CART_TERAP, purtroppo ho visto che millewin ha cambiato le sigle di riferimento per cui funziona solo coi famaci prescritti dal 2011, occorrerà studiarci sopra.

giampiero
GiampiMaz
GiampiMaz
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  aditroia il Dom 20 Mar 2011 - 19:07

GiampiMaz ha scritto:Per aditroia, poichè vengono usate le tabelle, viene bypassata centrale statistiche e quello che si sceglie lì è ininfluente, l'intervallo temporale va indicato all'interno della query.

Ho rielaborato la query di cervino per fare le somme, e poter indicare con facilità l'intervallo di tempo voluto segnando la data in inizio e fine.
Inoltre ho introdotto la condizione

AND (t.indotto IS NULL OR t.indotto='' OR t.indotto LIKE 'S')

per escludere i farmaci direttamente forniti dall'ospedale o dati come campione ecc.

XXXXXXX

è il codice per la medicina di gruppo, eliminare la riga se non serve


SELECT distinct CAST ('2010-04-01' AS DATE) AS inizio, CAST ('2011-04-01' AS DATE) AS fine, Cast(co_des As Char(40)) as farmaco, Cast(descrizione As Char(40)) as farmaco, Cast(Sum(te_npezzi) As Dec(5,0)) as prescritti, Cast(Sum(te_npezzi*euro) As Dec(5,1)) as spesa

from nos_002 n, cart_terap t, cart_scadenze s, MN_V_TBL_GENERICA g
where n.codice=t.codice and n.codice=s.codice and t.te_attivo=g.codice

And t.co_des = SubString(s.descr, CharIndex(':', descr)+2, 50)
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
And ( t.data_open Between inizio And fine)

and n.pa_medi ='XXXXXXXX'

AND (t.indotto IS NULL OR t.indotto='' OR t.indotto LIKE 'S')

group by co_des, descrizione

order by 4

ho lasciato la condizione di Cervino
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
anche se non ne ho cercato la ragione.
Non ho testato la query a fondo che quindi va verificata.

Rimane un problema di fondo, la query cerca i farmaci in scadenze, e quindi saltano fuori ticlopidine o gli antiglaucoma che non necessitano più del PT ma che sono registrati in scadenze (come si fa pure ad eliminarli non uno alla volta?), quindi per soddisfare Nanci (che chiedeva anche farmaci di cui non si è registrato il PT e quindi non presenti in scadenze) occorrerebbe battere anche un'altra strada.
Io usavo per rintracciare i farmaci che necessitano di piano terapeutico della tabella MN_V_TBL_NOTE_PRESCRIZIONE che si interfacciava con CART_TERAP, purtroppo ho visto che millewin ha cambiato le sigle di riferimento per cui funziona solo coi famaci prescritti dal 2011, occorrerà studiarci sopra.

giampiero

Giampiero, la tua query funziona, manca però soltanto il nome del paziente a cui è stato prescritto il farmaco. Non so come modificare la query per cui Ti chiedo un piccolo aiuto.
aditroia
aditroia
Membro Junior
Membro Junior

Messaggi : 191
Punti : 3215
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  GiampiMaz il Dom 20 Mar 2011 - 20:04

Naturalmente non vi erano i nomi poichè faceva la somma totale dei farmaci prescritti.
Se vuoi i nomi puoi utilizzare quella di Cervino o questa che suddivide le prescrizioni per paziente,
le avvertenze sono le stesse della mia prima.
giampiero

SELECT distinct CAST ('2010-04-01' AS DATE) AS inizio, CAST ('2011-04-01' AS DATE) AS fine, cognome, nome, nascita, Cast(co_des As Char(40)) as farmaco, Cast(descrizione As Char(40)) as farmaco, Cast(Sum(te_npezzi) As Dec(5,0)) as prescritti, Cast(Sum(te_npezzi*euro) As Dec(5,1)) as spesa

from pazienti p, nos_002 n, cart_terap t, cart_scadenze s, MN_V_TBL_GENERICA g
where p.codice=n.codice and n.codice=t.codice and n.codice=s.codice and t.te_attivo=g.codice

And t.co_des = SubString(s.descr, CharIndex(':', descr)+2, 50)
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
And ( t.data_open Between inizio And fine)

and n.pa_medi ='XXXXXXX'

AND (t.indotto IS NULL OR t.indotto='' OR t.indotto LIKE 'S')

group by cognome, nome, nascita, co_des, descrizione

order by 7,3,4,5
GiampiMaz
GiampiMaz
Membro Junior
Membro Junior

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

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  aditroia il Dom 20 Mar 2011 - 20:20

GiampiMaz ha scritto:Naturalmente non vi erano i nomi poichè faceva la somma totale dei farmaci prescritti.
Se vuoi i nomi puoi utilizzare quella di Cervino o questa che suddivide le prescrizioni per paziente,
le avvertenze sono le stesse della mia prima.
giampiero

SELECT distinct CAST ('2010-04-01' AS DATE) AS inizio, CAST ('2011-04-01' AS DATE) AS fine, cognome, nome, nascita, Cast(co_des As Char(40)) as farmaco, Cast(descrizione As Char(40)) as farmaco, Cast(Sum(te_npezzi) As Dec(5,0)) as prescritti, Cast(Sum(te_npezzi*euro) As Dec(5,1)) as spesa

from pazienti p, nos_002 n, cart_terap t, cart_scadenze s, MN_V_TBL_GENERICA g
where p.codice=n.codice and n.codice=t.codice and n.codice=s.codice and t.te_attivo=g.codice

And t.co_des = SubString(s.descr, CharIndex(':', descr)+2, 50)
And co_atc not In ( 'A10AE04' , 'S01ED04' , 'S01ED51' , 'S01EE04' )
And ( t.data_open Between inizio And fine)

and n.pa_medi ='XXXXXXX'

AND (t.indotto IS NULL OR t.indotto='' OR t.indotto LIKE 'S')

group by cognome, nome, nascita, co_des, descrizione

order by 7,3,4,5

Ok, grazie Giampiero.
aditroia
aditroia
Membro Junior
Membro Junior

Messaggi : 191
Punti : 3215
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11

Visualizza il profilo

Torna in alto Andare in basso

Re: farmaci con piano terapeutico

Messaggio  Contenuto sponsorizzato


Contenuto sponsorizzato


Torna in alto Andare in basso

Torna in alto


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