farmaci con piano terapeutico
4 partecipanti
Pagina 1 di 1
farmaci con piano terapeutico
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- Membro Junior
- Messaggi : 128
Punti : 5208
Voti per importanza dei messaggi : -1
Data d'iscrizione : 02.03.11
Re: farmaci con piano terapeutico
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.
Avrei necessità di estrarre tutti i farmaci prescritti con piano terapeutico in un determinato periodo di tempo, numero di pezzi e relativa spesa.
aditroia- Membro Junior
- Messaggi : 191
Punti : 5284
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11
Re: farmaci con piano terapeutico
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
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
- Messaggi : 245
Punti : 5280
Voti per importanza dei messaggi : 22
Data d'iscrizione : 03.03.11
Età : 70
Località : Orzivecchi (BS)
Re: farmaci con piano terapeutico
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- Membro Junior
- Messaggi : 191
Punti : 5284
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11
Re: farmaci con piano terapeutico
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
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- Membro Junior
- Messaggi : 122
Punti : 5186
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11
Re: farmaci con piano terapeutico
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- Membro Junior
- Messaggi : 191
Punti : 5284
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11
Re: farmaci con piano terapeutico
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
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- Membro Junior
- Messaggi : 122
Punti : 5186
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11
Re: farmaci con piano terapeutico
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- Membro Junior
- Messaggi : 191
Punti : 5284
Voti per importanza dei messaggi : 4
Data d'iscrizione : 24.02.11
Argomenti simili
» Zyprexa e piano terapeutico
» Prozac Piano Terapeutico
» LEVEMIR: piano terapeutico si o no?
» piano terapeutico per topiramato?
» ranolaziona piano terapeutico
» Prozac Piano Terapeutico
» LEVEMIR: piano terapeutico si o no?
» piano terapeutico per topiramato?
» ranolaziona piano terapeutico
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.