creare un modelllo standard per somministrare test ai pz
4 partecipanti
Pagina 1 di 1
creare un modelllo standard per somministrare test ai pz
L'idea, inizialmente esposta da Luca in un precedente post, è quella di creare un modello di certificato standard per somministrare dei test al paziente (lo so è improprio inserirlo tra i certificati, ma per ora non ci sono alternative), da personalizzare di volta in volta, che apra una finestra, ponga delle domande e memorizzi una risposta, faccia la somma di tutte le risposte e generi il punteggiio totale.
Qualcuno ha già fatto cose simili per evitare di partire da zero?
Qualcuno ha già fatto cose simili per evitare di partire da zero?
Re: creare un modelllo standard per somministrare test ai pz
forza colleghi, un centesimo di competenza informatica di respiquick e il problema è risolto.... :-)
beata ignoranza (la mia!)
Luca
beata ignoranza (la mia!)
Luca
LucaLeF- Membro Esperto
- Messaggi : 473
Punti : 5918
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11
Re: creare un modelllo standard per somministrare test ai pz
Ho provato ad impostare in Certificati di MilleUtilità , un testo per il Calcolo dell' Indice Internazionale dei Sintomi Prostatici ( IPSS ) :
Lo rendo disponibile , in modo che possa essere testato e/o migliorato , prima dell' elaborazione definitiva , eventuali suggerimenti o modifiche sono gradite
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\froman\fcharset0 Tms Rmn;}{\f2\fswiss\fcharset0 Verdana;}{\f3\froman\fcharset0 Times New Roman;}{\f4\froman\fcharset0 Baskerville;}{\f5\froman\fcharset0 Nimrod;}{\f6\fswiss\fcharset0 News Gothic;}{\f7\fswiss\fcharset0 Arial;}{\f8\fswiss\fcharset0 Trebuchet MS;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\version1}{\vern262367}}\paperw11903\paperh16833\margl224\margr0\margt224\margb0\deftab720\pard\ql\li0\fi0\ri1{\f2\fs18\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx2267\tx6803\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f7\fs21\cf0\up0\dn0 sig.or }{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 XPA_NOME}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ASSIRELLI MARIA}}}{\f2\fs22\cf0\up0\dn0 ,}{\f7\fs21\cf0\up0\dn0 di anni }{\f2\fs22\cf0\up0\dn0 ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM2}}{\fldrslt{\f2\fs22\cf0\up0\dn0 G G / M M / A A}}}{\par}\pard\ql\li0\fi0\ri1{\f2\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\li0\fi0\tx566\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = }{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\f2\fs22\cf0\up0\dn0 0}}}{\par}\pard\ql\li0\fi0\tx566\ri1{\f2\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\li0\fi0\tx1700\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Indice di Qualità della Vita = }{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 1)}{\f8\fs22\cf0\up0\dn0 nell' Ultimo Mese , Quante Volte ha avuto la Sensazione di NON}{\par}\pard\ql\li0\fi0\tx566\tx7795\ri1{\f8\fs22\cf0\up0\dn0\tab}{\f8\fs22\cf0\up0\dn0 aver Svuotato completamente la Vescia , dopo aver Urinato ?}{\f0\fs20\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM10}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\tx7370\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 2) nell' Ultimo Mese , Quante Volte ha dovuto Urinare una}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Seconda Volta dopo Meno di Due Ore ?}{\f0\fs28\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM11}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 3) nell' Ultimo Mese , Quante Volte ha dovuto Interrompersi , }{\par}\pard\ql\li0\fi0\tx566\tx7653\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 mentre Urinava , per poi Ricominciare ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM12}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 4) nell' Ultimo Mese , Quante Volte ha avuto Difficoltà a}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 trattenere l' Urina ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM13}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 5) nell' Ultimo Mese , Quante Volte ha avuto un Getto }{\par}\pard\ql\li0\fi0\tx566\tx7653\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 debole mentre Urinava ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM14}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 6) nell' Ultimo Mese, quante Volte ha dovuto Premere o}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Sforzarsi per Iniziare ad Urinare ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM15}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs32\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 7) nell' Ultimo Mese , Quante Volte di Notte , mentre}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Riposava , si è Alzato per Urinare ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM16}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx566\tx7370\ri1{\f2\fs36\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) = }{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\f2\fs22\cf0\up0\dn0 0}}}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx2267\ri1{\f2\fs36\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Scala di Qualità della Vita}{\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs10\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx283\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 a) come si sentirebbe se i Sintomi che accusa mentre}{\par}\pard\ql\li0\fi0\tx566\tx7086\ri1{\f2\fs22\cf0\up0\dn0\tab}{\f2\fs22\cf0\up0\dn0 Urina , in futuro NON dovessero piu' cambiare ?}{\f2\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f2\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f2\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx7086\ri1{\f2\fs20\cf0\up0\dn0 }{\field{\*\fldinst{\f2\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f2\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}}
[CUSTOM10]
cIu := PbGetText( "Nell’ ultimo mese, Quante Volte ha avuto la Sensazione di non aver svuotato completamente la Vescica dopo aver Urinato ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 35, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Uno : Digitare un numero fra 0 e 5")
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := PbGetText( "Nell’ ultimo mese, Quante Volte ha avuto la Sensazione di non aver svuotato completamente la Vescica dopo aver Urinato ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 35, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIu
Endif
If cIu = "0"
cIu := "0) Mai"
Else
IF cIu = "1"
cIu := "1) In Meno di 1 Caso su 5"
Else
IF cIu = "2"
cIu := "2) In Meno della Metà dei Casi"
Else
IF cIu = "3"
cIu := "3) In circa la Metà dei Casi"
Else
IF cIu = "4"
cIu := "4) In Piu' della Metà dei Casi"
Else
IF cIu = "5"
cIu := "5) Quasi Sempre"
Else
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIu
[D_CUSTOM10]
DescrizioneIPSS Item Uno
[CUSTOM11]
cId := PbGetText( "nell’ ultimo Mese, Quante Volte ha dovuto Urinare una Seconda Volta dopo Meno di Due Ore ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Due : Digitare un numero fra 0 e 5")
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := PbGetText( "nell’ ultimo Mese, Quante Volte ha dovuto Urinare una Seconda Volta dopo Meno di Due Ore ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Risposta Non Corretta : Digitare un numero fra 0 e 5")
Else
cId
Endif
If cId = "0"
cId := "0) Mai"
Else
IF cId = "1"
cId := "1) In Meno di 1 Caso su 5"
Else
IF cId = "2"
cId := "2) In Meno della Metà dei Casi"
Else
IF cId = "3"
cId := "3) In circa la Metà dei Casi"
Else
IF cId = "4"
cId := "4) In Piu' della Metà dei Casi"
Else
IF cId = "5"
cId := "5) Quasi Sempre"
Else
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cId
[D_CUSTOM11]
DescrizioneIPSS Item Due
[CUSTOM12]
cIt := PbGetText( "nell’ ultimo Mese , Quante Volte ha dovuto Interrompersi mentre Urinava , per poi Ricominciare ? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Tre : Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := PbGetText( "nell’ ultimo Mese , Quante Volte ha dovuto Interrompersi mentre Urinava , per poi Ricominciare ? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Piu' della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM12]
DescrizioneIPSS Item Tre
[CUSTOM13]
cIq := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Quattro : Digitare un numero fra 0 e 5")
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIq = "0"
cIq := "0) Mai"
Else
IF cIq = "1"
cIq := "1) In Meno di 1 Caso su 5"
Else
IF cIq = "2"
cIq := "2) In Meno della Metà dei Casi"
Else
IF cIq = "3"
cIq := "3) In circa la Metà dei Casi"
Else
IF cIq = "4"
cIq := "4) In Piu' della Metà dei Casi"
Else
IF cIq = "5"
cIq := "5) Quasi Sempre"
Else
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIq
[D_CUSTOM13]
DescrizioneIPSS Item Quattro
[CUSTOM14]
cIc := PbGetText( " Quante volte ha avuto un Getto Debole mentre Urinava ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Cinque : Digitare un numero fra 0 e 5")
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIc = "0"
cIc := "0) Mai"
Else
IF cIc = "1"
cIc := "1) In Meno di 1 Caso su 5"
Else
IF cIc = "2"
cIc := "2) In Meno della Metà dei Casi"
Else
IF cIc = "3"
cIc := "3) In circa la Metà dei Casi"
Else
IF cIc = "4"
cIc := "4) In Piu' della Metà dei Casi"
Else
IF cIc = "5"
cIc := "5) Quasi Sempre"
Else
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIc
[D_CUSTOM14]
DescrizioneIPSS Item Cinque
[CUSTOM15]
cIs := PbGetText( "nell’ Ultimo Mese , Quante Volte ha dovuto Premere o Sforzarsi per Iniziare ad Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 35, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Sei : Digitare un numero fra 0 e 5")
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := PbGetText( "nell’ Ultimo Mese , Quante Volte ha dovuto Premere o Sforzarsi per Iniziare ad Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 35, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIs
Endif
IF cIs = "0"
cIs := "0) Mai"
Else
IF cIs = "1"
cIs := "1) In Meno di 1 Caso su 5"
Else
IF cIs = "2"
cIs := "2) In Meno della Metà dei Casi"
Else
IF cIs = "3"
cIs := "3) In circa la Metà dei Casi"
Else
IF cIs = "4"
cIs := "4) In Piu' della Metà dei Casi"
Else
IF cIs = "5"
cIs := "5) Quasi Sempre"
Else
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIs
[D_CUSTOM15]
DescrizioneIPSS Item Sei
[CUSTOM16]
cIv := PbGetText( "nell’ Ultimo Mese, Quante Volte, di norma, si è Alzato di Notte, mentre riposava, per Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " IPSS Item Sette : Digitare un numero fra 0 e 5")
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := PbGetText( "nell’ Ultimo Mese, Quante Volte, di norma, si è Alzato di Notte, mentre riposava, per Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIv
Endif
If cIv = "0"
cIv := "0) Mai"
Else
IF cIv = "1"
cIv := "1) In Meno di 1 Caso su 5"
Else
IF cIv = "2"
cIv := "2) In Meno della Metà dei Casi"
Else
IF cIv = "3"
cIv := "3) In circa la Metà dei Casi"
Else
IF cIv = "4"
cIv := "4) In Piu' della Metà dei Casi"
Else
IF cIv = "5"
cIv := "5) Quasi Sempre"
Else
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIv
[D_CUSTOM16]
DescrizioneIPSS Item Sette
[CUSTOM17]
cIo := PbGetText( "Come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro non dovessero più cambiare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Scala di Qualità della Vita : Digitare un numero fra 0 e 5")
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := PbGetText( "Come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro non dovessero più cambiare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei Casi 3) circa nella Metà dei casi 4) in Piu' della metà dei Casi 5) quasi Sempre", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIo
Endif
If cIo = "0"
cIo := "0) Molto Bene"
Else
IF cIo = "1"
cIo := "1) Soddisfatto"
Else
IF cIo = "2"
cIo := "2) Prevalentemente Soddisfatto"
Else
IF cIo = "3"
cIo := "3) In parte Soddisfatto , In parte Insoddisfatto"
Else
IF cIo = "4"
cIo := "4) Insoddisfatto"
Else
IF cIo = "5"
cIo := "5) Molto Male"
Else
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIo
[D_CUSTOM17]
DescrizioneQoLS
[CUSTOM2]
cDtF := Left(Ricetta.VI_DATA, 3) + " / " + SubStr(Ricetta.VI_DATA, 5, 3) + " / " + SubStr(Ricetta.VI_DATA, 9, 3)
return cDtF
[D_CUSTOM2]
DescrizioneData Test
[CUSTOM3]
c
[D_CUSTOM3]
DescrizioneFree 1
[CUSTOM4]
IIF( Ricetta.XPA_SEX = "F", c := "sig.ra" , c := "sig.or" )
return c
[D_CUSTOM4]
DescrizionePaz : sig.or o sig.ra
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
Return s
[D_CUSTOM5]
DescrizioneIPSS Totale
[CUSTOM7]
cLt := "________________________________________________________________________________________"
return cLt
[D_CUSTOM7]
DescrizioneLinea Orizzontale
[Opzioni]
Un saluto da Sergio Tomasini , Orzivecchi ( BS)
Ultima modifica di Cervino il Gio 14 Apr 2011 - 11:51 - modificato 1 volta.
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: creare un modelllo standard per somministrare test ai pz
finalmente si vede la luce!
complimenti vivissimi a Sergio!
forse c'è da fare qualche piccola modifica. spero di capire il senso dei comandi formulati nel testo per appropriarmene e utilizzarlo per altre scale di valutazione da condividere.
la pratica dirà se verranno utilizzate ma per adesso mi pare che si realizzi quanto da tempo alcuni di noi auspicavano.
a presto
Luca
complimenti vivissimi a Sergio!
forse c'è da fare qualche piccola modifica. spero di capire il senso dei comandi formulati nel testo per appropriarmene e utilizzarlo per altre scale di valutazione da condividere.
la pratica dirà se verranno utilizzate ma per adesso mi pare che si realizzi quanto da tempo alcuni di noi auspicavano.
a presto
Luca
LucaLeF- Membro Esperto
- Messaggi : 473
Punti : 5918
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11
Re: creare un modelllo standard per somministrare test ai pz
ho corretto il campo relativo alla qualità della vita relativa ai sintomi urinari.ho eliminato, a mio gusto, qualche abbellimento grafico.ho accorciato a 1 lo spazio relativo alla risposta ai singoli quesiti (che riportava pressochè per intero la domanda). spero tutto ciò non dispiaccia all'AUTORE
chiedo a Sergio, come ultimo sforzo, se può inserire , anche per l'utilizzo del modello per future scale di valutazione, l'automatica interpretazione del punteggio totale.
in questo caso :0-7 paziente paucisintomatico 8-19 sintomatologia moderata 20-35 sintomatologia intensa
Lucio! provalo e di' la tua
Luca
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\fswiss\fcharset0 Verdana;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\creatim\yr2011\mo4\dy13\hr11\min42\sec24}{\version1}{\vern262367}}\paperw11906\paperh16838\margl0\margr0\margt0\margb0\deftab720\pard\qc\tx33749\li0\fi0\ri227{\b\f1\fs32\cf0\up0\dn0 IPSS TEST}{\par}\pard\ql\tx33749\li0\fi0\ri227{\f1\fs21\cf0\up0\dn0 di sig.or }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 XPA_NOME}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ASSIRELLI MARIA}}}{\f1\fs22\cf0\up0\dn0 ,}{\f1\fs21\cf0\up0\dn0 di anni }{\field{\*\fldinst{\f1\fs21\cf0\up0\dn0 XPA_ETA}}{\fldrslt{\f1\fs21\cf0\up0\dn0 EEE}}}{\f1\fs21\cf0\up0\dn0 effettuato }{\field{\*\fldinst{\f1\fs21\cf0\up0\dn0 XVI_DATA}}{\fldrslt{\f1\fs21\cf0\up0\dn0 GG.MM.AA}}}{\par}\pard\ql\li0\fi0\ri227{\f1\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\tx34032\li0\fi0\ri227{\b\f1\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = }{\field{\*\fldinst{\b\f1\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\b\f1\fs22\cf0\up0\dn0 0}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\b\f1\fs22\cf0\up0\dn0 Indice di Qualità Vita = }{\field{\*\fldinst{\b\f1\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\b\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\tx34032\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 1)nell' Ultimo Mese , Quante Volte ha avuto la Sensazione di NON aver Svuotato }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 completamente la Vescia , dopo aver Urinato ?}{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM10}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 2) nell' Ultimo Mese , Quante Volte ha dovuto Urinare una Seconda Volta }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 dopo Meno di Due Ore ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM11}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 3) nell' Ultimo Mese , Quante Volte ha dovuto Interrompersi , mentre }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 Urinava , per poi Ricominciare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM12}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\tx33749\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 4) nell' Ultimo Mese , Quante Volte ha avuto Difficoltà a trattenere l' Urina ?}{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM13}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 5) nell' Ultimo Mese , Quante Volte ha avuto un Getto debole mentre Urinava ?}{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM14}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\tx33891\tx34032\li0\fi0\ri227{\f1\fs22\cf0\up0\dn0 6) nell' Ultimo Mese, quante Volte ha dovuto Premere o Sforzarsi per Iniziare }{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs22\cf0\up0\dn0 ad Urinare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM15}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx283\tx7653\ri227{\f1\fs22\cf0\up0\dn0 7) nell' Ultimo Mese , Quante Volte di Notte , mentre Riposava , si è Alzato }{\par}\pard\ql\li0\fi0\tqdec\tx283\tx566\ri227{\f1\fs22\cf0\up0\dn0 per Urinare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM16}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro NON }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 dovessero piu' cambiare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\ri227}
[CUSTOM10]
cIu := PbGetText( "Nell’ ultimo mese, Quante Volte ha avuto la Sensazione di non aver svuotato completamente la Vescica dopo aver Urinato ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Uno : Digitare un numero fra 0 e 5")
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := PbGetText( "Nell’ ultimo mese, Quante Volte ha avuto la Sensazione di non aver svuotato completamente la Vescica dopo aver Urinato ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "", " Attenzione Risposta NON Corretta Digitare un numero fra 0 e 5")
Else
cIu
Endif
If cIu = "0"
cIu := "0) Mai"
Else
IF cIu = "1"
cIu := "1) In Meno di 1 Caso su 5"
Else
IF cIu = "2"
cIu := "2) In Meno della Metà dei Casi"
Else
IF cIu = "3"
cIu := "3) In circa la Metà dei Casi"
Else
IF cIu = "4"
cIu := "4) In Piu' della Metà dei Casi"
Else
IF cIu = "5"
cIu := "5) Quasi Sempre"
Else
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIu
[D_CUSTOM10]
DescrizioneIPSS Item Uno
[CUSTOM11]
cId := PbGetText( "nell’ ultimo Mese, Quante Volte ha dovuto Urinare una Seconda Volta dopo Meno di Due Ore ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Due : Digitare un numero fra 0 e 5")
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := PbGetText( "nell’ ultimo Mese, Quante Volte ha dovuto Urinare una Seconda Volta dopo Meno di Due Ore ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Risposta Non Corretta : Digitare un numero fra 0 e 5")
Else
cId
Endif
If cId = "0"
cId := "0) Mai"
Else
IF cId = "1"
cId := "1) In Meno di 1 Caso su 5"
Else
IF cId = "2"
cId := "2) In Meno della Metà dei Casi"
Else
IF cId = "3"
cId := "3) In circa la Metà dei Casi"
Else
IF cId = "4"
cId := "4) In Piu' della Metà dei Casi"
Else
IF cId = "5"
cId := "5) Quasi Sempre"
Else
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cId
[D_CUSTOM11]
DescrizioneIPSS Item Due
[CUSTOM12]
cIt := PbGetText( "nell’ ultimo Mese , Quante Volte ha dovuto Interrompersi mentre Urinava , per poi Ricominciare ? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Tre : Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := PbGetText( "nell’ ultimo Mese , Quante Volte ha dovuto Interrompersi mentre Urinava , per poi Ricominciare ? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Piu' della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM12]
DescrizioneIPSS Item Tre
[CUSTOM13]
cIq := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Quattro : Digitare un numero fra 0 e 5")
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIq = "0"
cIq := "0) Mai"
Else
IF cIq = "1"
cIq := "1) In Meno di 1 Caso su 5"
Else
IF cIq = "2"
cIq := "2) In Meno della Metà dei Casi"
Else
IF cIq = "3"
cIq := "3) In circa la Metà dei Casi"
Else
IF cIq = "4"
cIq := "4) In Piu' della Metà dei Casi"
Else
IF cIq = "5"
cIq := "5) Quasi Sempre"
Else
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIq
[D_CUSTOM13]
DescrizioneIPSS Item Quattro
[CUSTOM14]
cIc := PbGetText( " Quante volte ha avuto un Getto Debole mentre Urinava ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Cinque : Digitare un numero fra 0 e 5")
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIc = "0"
cIc := "0) Mai"
Else
IF cIc = "1"
cIc := "1) In Meno di 1 Caso su 5"
Else
IF cIc = "2"
cIc := "2) In Meno della Metà dei Casi"
Else
IF cIc = "3"
cIc := "3) In circa la Metà dei Casi"
Else
IF cIc = "4"
cIc := "4) In Piu' della Metà dei Casi"
Else
IF cIc = "5"
cIc := "5) Quasi Sempre"
Else
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIc
[D_CUSTOM14]
DescrizioneIPSS Item Cinque
[CUSTOM15]
cIs := PbGetText( "nell’ Ultimo Mese , Quante Volte ha dovuto Premere o Sforzarsi per Iniziare ad Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Sei : Digitare un numero fra 0 e 5")
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := PbGetText( "nell’ Ultimo Mese , Quante Volte ha dovuto Premere o Sforzarsi per Iniziare ad Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIs
Endif
IF cIs = "0"
cIs := "0) Mai"
Else
IF cIs = "1"
cIs := "1) In Meno di 1 Caso su 5"
Else
IF cIs = "2"
cIs := "2) In Meno della Metà dei Casi"
Else
IF cIs = "3"
cIs := "3) In circa la Metà dei Casi"
Else
IF cIs = "4"
cIs := "4) In Piu' della Metà dei Casi"
Else
IF cIs = "5"
cIs := "5) Quasi Sempre"
Else
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIs
[D_CUSTOM15]
DescrizioneIPSS Item Sei
[CUSTOM16]
cIv := PbGetText( "nell’ Ultimo Mese, Quante Volte, di norma, si è Alzato di Notte, mentre riposava, per Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Sette : Digitare un numero fra 0 e 5")
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := PbGetText( "nell’ Ultimo Mese, Quante Volte, di norma, si è Alzato di Notte, mentre riposava, per Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIv
Endif
If cIv = "0"
cIv := "0) Mai"
Else
IF cIv = "1"
cIv := "1) In Meno di 1 Caso su 5"
Else
IF cIv = "2"
cIv := "2) In Meno della Metà dei Casi"
Else
IF cIv = "3"
cIv := "3) In circa la Metà dei Casi"
Else
IF cIv = "4"
cIv := "4) In Piu' della Metà dei Casi"
Else
IF cIv = "5"
cIv := "5) Quasi Sempre"
Else
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIv
[D_CUSTOM16]
DescrizioneIPSS Item Sette
[CUSTOM17]
cIo := PbGetText( "Come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro non dovessero più cambiare ? 0 )molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) cosi' cosi' ne' soddisfatto ne' disturbato 4)piuttosto disturbato 5) disturbato", 1, " ", " Scala di Qualità della Vita : Digitare un numero fra 0 e 5")
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := PbGetText( "Come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro non dovessero più cambiare ? 0 )molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) cosi' cosi' ne' soddisfatto ne' disturbato 4)piuttosto disturbato 5) disturbato ", 1, " 0 )molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) cosi' cosi' ne' soddisfatto ne' disturbato 4)piuttosto disturbato 5) disturbato", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIo
Endif
If cIo = "0"
cIo := "0) Molto Bene"
Else
IF cIo = "1"
cIo := "1) Soddisfatto"
Else
IF cIo = "2"
cIo := "2) Prevalentemente Soddisfatto"
Else
IF cIo = "3"
cIo := "3) In parte Soddisfatto , In parte Insoddisfatto"
Else
IF cIo = "4"
cIo := "4) Insoddisfatto"
Else
IF cIo = "5"
cIo := "5) Molto Male"
Else
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIo
[D_CUSTOM17]
DescrizioneQoLS
[CUSTOM2]
cDtF := Left(Ricetta.VI_DATA, 3) + " / " + SubStr(Ricetta.VI_DATA, 5, 3) + " / " + SubStr(Ricetta.VI_DATA, 9, 3)
return cDtF
[D_CUSTOM2]
DescrizioneData Test
[CUSTOM3]
c
[D_CUSTOM3]
DescrizioneFree 1
[CUSTOM4]
IIF( Ricetta.XPA_SEX = "F", c := "sig.ra" , c := "sig.or" )
return c
[D_CUSTOM4]
DescrizionePaz : sig.or o sig.ra
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
Return s
[D_CUSTOM5]
DescrizioneIPSS Totale
[CUSTOM7]
cLt := "________________________________________________________________________________________"
return cLt
[D_CUSTOM7]
DescrizioneLinea Orizzontale
[Opzioni]
chiedo a Sergio, come ultimo sforzo, se può inserire , anche per l'utilizzo del modello per future scale di valutazione, l'automatica interpretazione del punteggio totale.
in questo caso :0-7 paziente paucisintomatico 8-19 sintomatologia moderata 20-35 sintomatologia intensa
Lucio! provalo e di' la tua
Luca
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\fswiss\fcharset0 Verdana;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\creatim\yr2011\mo4\dy13\hr11\min42\sec24}{\version1}{\vern262367}}\paperw11906\paperh16838\margl0\margr0\margt0\margb0\deftab720\pard\qc\tx33749\li0\fi0\ri227{\b\f1\fs32\cf0\up0\dn0 IPSS TEST}{\par}\pard\ql\tx33749\li0\fi0\ri227{\f1\fs21\cf0\up0\dn0 di sig.or }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 XPA_NOME}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ASSIRELLI MARIA}}}{\f1\fs22\cf0\up0\dn0 ,}{\f1\fs21\cf0\up0\dn0 di anni }{\field{\*\fldinst{\f1\fs21\cf0\up0\dn0 XPA_ETA}}{\fldrslt{\f1\fs21\cf0\up0\dn0 EEE}}}{\f1\fs21\cf0\up0\dn0 effettuato }{\field{\*\fldinst{\f1\fs21\cf0\up0\dn0 XVI_DATA}}{\fldrslt{\f1\fs21\cf0\up0\dn0 GG.MM.AA}}}{\par}\pard\ql\li0\fi0\ri227{\f1\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\tx34032\li0\fi0\ri227{\b\f1\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = }{\field{\*\fldinst{\b\f1\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\b\f1\fs22\cf0\up0\dn0 0}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\b\f1\fs22\cf0\up0\dn0 Indice di Qualità Vita = }{\field{\*\fldinst{\b\f1\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\b\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\tx34032\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 1)nell' Ultimo Mese , Quante Volte ha avuto la Sensazione di NON aver Svuotato }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 completamente la Vescia , dopo aver Urinato ?}{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM10}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 2) nell' Ultimo Mese , Quante Volte ha dovuto Urinare una Seconda Volta }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 dopo Meno di Due Ore ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM11}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 3) nell' Ultimo Mese , Quante Volte ha dovuto Interrompersi , mentre }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 Urinava , per poi Ricominciare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM12}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\tx33749\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 4) nell' Ultimo Mese , Quante Volte ha avuto Difficoltà a trattenere l' Urina ?}{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM13}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 5) nell' Ultimo Mese , Quante Volte ha avuto un Getto debole mentre Urinava ?}{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM14}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\tx33891\tx34032\li0\fi0\ri227{\f1\fs22\cf0\up0\dn0 6) nell' Ultimo Mese, quante Volte ha dovuto Premere o Sforzarsi per Iniziare }{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs22\cf0\up0\dn0 ad Urinare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM15}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx283\tx7653\ri227{\f1\fs22\cf0\up0\dn0 7) nell' Ultimo Mese , Quante Volte di Notte , mentre Riposava , si è Alzato }{\par}\pard\ql\li0\fi0\tqdec\tx283\tx566\ri227{\f1\fs22\cf0\up0\dn0 per Urinare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM16}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri227{\f1\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro NON }{\par}\pard\ql\li0\fi0\tx566\ri227{\f1\fs22\cf0\up0\dn0 dovessero piu' cambiare ? }{\field{\*\fldinst{\f1\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f1\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\ri227}
[CUSTOM10]
cIu := PbGetText( "Nell’ ultimo mese, Quante Volte ha avuto la Sensazione di non aver svuotato completamente la Vescica dopo aver Urinato ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Uno : Digitare un numero fra 0 e 5")
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := PbGetText( "Nell’ ultimo mese, Quante Volte ha avuto la Sensazione di non aver svuotato completamente la Vescica dopo aver Urinato ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "", " Attenzione Risposta NON Corretta Digitare un numero fra 0 e 5")
Else
cIu
Endif
If cIu = "0"
cIu := "0) Mai"
Else
IF cIu = "1"
cIu := "1) In Meno di 1 Caso su 5"
Else
IF cIu = "2"
cIu := "2) In Meno della Metà dei Casi"
Else
IF cIu = "3"
cIu := "3) In circa la Metà dei Casi"
Else
IF cIu = "4"
cIu := "4) In Piu' della Metà dei Casi"
Else
IF cIu = "5"
cIu := "5) Quasi Sempre"
Else
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIu
[D_CUSTOM10]
DescrizioneIPSS Item Uno
[CUSTOM11]
cId := PbGetText( "nell’ ultimo Mese, Quante Volte ha dovuto Urinare una Seconda Volta dopo Meno di Due Ore ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Due : Digitare un numero fra 0 e 5")
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := PbGetText( "nell’ ultimo Mese, Quante Volte ha dovuto Urinare una Seconda Volta dopo Meno di Due Ore ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Risposta Non Corretta : Digitare un numero fra 0 e 5")
Else
cId
Endif
If cId = "0"
cId := "0) Mai"
Else
IF cId = "1"
cId := "1) In Meno di 1 Caso su 5"
Else
IF cId = "2"
cId := "2) In Meno della Metà dei Casi"
Else
IF cId = "3"
cId := "3) In circa la Metà dei Casi"
Else
IF cId = "4"
cId := "4) In Piu' della Metà dei Casi"
Else
IF cId = "5"
cId := "5) Quasi Sempre"
Else
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cId
[D_CUSTOM11]
DescrizioneIPSS Item Due
[CUSTOM12]
cIt := PbGetText( "nell’ ultimo Mese , Quante Volte ha dovuto Interrompersi mentre Urinava , per poi Ricominciare ? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Tre : Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := PbGetText( "nell’ ultimo Mese , Quante Volte ha dovuto Interrompersi mentre Urinava , per poi Ricominciare ? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Piu' della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM12]
DescrizioneIPSS Item Tre
[CUSTOM13]
cIq := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Quattro : Digitare un numero fra 0 e 5")
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIq = "0"
cIq := "0) Mai"
Else
IF cIq = "1"
cIq := "1) In Meno di 1 Caso su 5"
Else
IF cIq = "2"
cIq := "2) In Meno della Metà dei Casi"
Else
IF cIq = "3"
cIq := "3) In circa la Metà dei Casi"
Else
IF cIq = "4"
cIq := "4) In Piu' della Metà dei Casi"
Else
IF cIq = "5"
cIq := "5) Quasi Sempre"
Else
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIq
[D_CUSTOM13]
DescrizioneIPSS Item Quattro
[CUSTOM14]
cIc := PbGetText( " Quante volte ha avuto un Getto Debole mentre Urinava ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Cinque : Digitare un numero fra 0 e 5")
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := PbGetText( " nell’ Ultimo Mese , quante volte ha avuto Difficoltà a Trattenere l’ Urina ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIc = "0"
cIc := "0) Mai"
Else
IF cIc = "1"
cIc := "1) In Meno di 1 Caso su 5"
Else
IF cIc = "2"
cIc := "2) In Meno della Metà dei Casi"
Else
IF cIc = "3"
cIc := "3) In circa la Metà dei Casi"
Else
IF cIc = "4"
cIc := "4) In Piu' della Metà dei Casi"
Else
IF cIc = "5"
cIc := "5) Quasi Sempre"
Else
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIc
[D_CUSTOM14]
DescrizioneIPSS Item Cinque
[CUSTOM15]
cIs := PbGetText( "nell’ Ultimo Mese , Quante Volte ha dovuto Premere o Sforzarsi per Iniziare ad Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Sei : Digitare un numero fra 0 e 5")
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := PbGetText( "nell’ Ultimo Mese , Quante Volte ha dovuto Premere o Sforzarsi per Iniziare ad Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIs
Endif
IF cIs = "0"
cIs := "0) Mai"
Else
IF cIs = "1"
cIs := "1) In Meno di 1 Caso su 5"
Else
IF cIs = "2"
cIs := "2) In Meno della Metà dei Casi"
Else
IF cIs = "3"
cIs := "3) In circa la Metà dei Casi"
Else
IF cIs = "4"
cIs := "4) In Piu' della Metà dei Casi"
Else
IF cIs = "5"
cIs := "5) Quasi Sempre"
Else
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIs
[D_CUSTOM15]
DescrizioneIPSS Item Sei
[CUSTOM16]
cIv := PbGetText( "nell’ Ultimo Mese, Quante Volte, di norma, si è Alzato di Notte, mentre riposava, per Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " IPSS Item Sette : Digitare un numero fra 0 e 5")
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := PbGetText( "nell’ Ultimo Mese, Quante Volte, di norma, si è Alzato di Notte, mentre riposava, per Urinare ? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, " ", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIv
Endif
If cIv = "0"
cIv := "0) Mai"
Else
IF cIv = "1"
cIv := "1) In Meno di 1 Caso su 5"
Else
IF cIv = "2"
cIv := "2) In Meno della Metà dei Casi"
Else
IF cIv = "3"
cIv := "3) In circa la Metà dei Casi"
Else
IF cIv = "4"
cIv := "4) In Piu' della Metà dei Casi"
Else
IF cIv = "5"
cIv := "5) Quasi Sempre"
Else
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIv
[D_CUSTOM16]
DescrizioneIPSS Item Sette
[CUSTOM17]
cIo := PbGetText( "Come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro non dovessero più cambiare ? 0 )molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) cosi' cosi' ne' soddisfatto ne' disturbato 4)piuttosto disturbato 5) disturbato", 1, " ", " Scala di Qualità della Vita : Digitare un numero fra 0 e 5")
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := PbGetText( "Come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro non dovessero più cambiare ? 0 )molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) cosi' cosi' ne' soddisfatto ne' disturbato 4)piuttosto disturbato 5) disturbato ", 1, " 0 )molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) cosi' cosi' ne' soddisfatto ne' disturbato 4)piuttosto disturbato 5) disturbato", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIo
Endif
If cIo = "0"
cIo := "0) Molto Bene"
Else
IF cIo = "1"
cIo := "1) Soddisfatto"
Else
IF cIo = "2"
cIo := "2) Prevalentemente Soddisfatto"
Else
IF cIo = "3"
cIo := "3) In parte Soddisfatto , In parte Insoddisfatto"
Else
IF cIo = "4"
cIo := "4) Insoddisfatto"
Else
IF cIo = "5"
cIo := "5) Molto Male"
Else
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIo
[D_CUSTOM17]
DescrizioneQoLS
[CUSTOM2]
cDtF := Left(Ricetta.VI_DATA, 3) + " / " + SubStr(Ricetta.VI_DATA, 5, 3) + " / " + SubStr(Ricetta.VI_DATA, 9, 3)
return cDtF
[D_CUSTOM2]
DescrizioneData Test
[CUSTOM3]
c
[D_CUSTOM3]
DescrizioneFree 1
[CUSTOM4]
IIF( Ricetta.XPA_SEX = "F", c := "sig.ra" , c := "sig.or" )
return c
[D_CUSTOM4]
DescrizionePaz : sig.or o sig.ra
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
Return s
[D_CUSTOM5]
DescrizioneIPSS Totale
[CUSTOM7]
cLt := "________________________________________________________________________________________"
return cLt
[D_CUSTOM7]
DescrizioneLinea Orizzontale
[Opzioni]
LucaLeF- Membro Esperto
- Messaggi : 473
Punti : 5918
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11
Re: creare un modelllo standard per somministrare test ai pz
[quote="Cervino"][size=18]
Ho provato ad impostare in Certificati di MilleUtilità , un testo per il Calcolo dell' Indice Internazionale dei Sintomi Prostatici ( IPSS ) :
Lo rendo disponibile , in modo che possa essere testarto e/o migliorarlo , prima dell' elaborazione definitiva , eventuali suggerimenti o modifiche sono gradite
[/size
Sergio mi pare tu abbia fatto nu ottimo lavoro! Studiero' con attenzione il file per imparare qualcosa di nuovo. Come scrito da Luca sarebbe utile completare conl'interpretazione del punteggio.
Approfitto per riproporre una domanda.
Ho necessita, se si verifica una determinata condizione, di far ripartire il codice del campo custom dalla prima riga. Qualcuno sa come fare?
E se volessi che una variabile cone ad esempio cRet fosse restituita con accanto un testo, qualcuno conosce qualè l'istruzione corretta?
tipo ad es
Return cRet TESTO ACCANTO ALLA VARIABILE
Ho provato ad impostare in Certificati di MilleUtilità , un testo per il Calcolo dell' Indice Internazionale dei Sintomi Prostatici ( IPSS ) :
Lo rendo disponibile , in modo che possa essere testarto e/o migliorarlo , prima dell' elaborazione definitiva , eventuali suggerimenti o modifiche sono gradite
[/size
Sergio mi pare tu abbia fatto nu ottimo lavoro! Studiero' con attenzione il file per imparare qualcosa di nuovo. Come scrito da Luca sarebbe utile completare conl'interpretazione del punteggio.
Approfitto per riproporre una domanda.
Ho necessita, se si verifica una determinata condizione, di far ripartire il codice del campo custom dalla prima riga. Qualcuno sa come fare?
E se volessi che una variabile cone ad esempio cRet fosse restituita con accanto un testo, qualcuno conosce qualè l'istruzione corretta?
tipo ad es
Return cRet TESTO ACCANTO ALLA VARIABILE
Re: creare un modelllo standard per somministrare test ai pz
Cervino ha scritto:
Ho provato ad impostare in Certificati di MilleUtilità , un testo per il Calcolo dell' Indice Internazionale dei Sintomi Prostatici ( IPSS ) :
Lo rendo disponibile , in modo che possa essere testato e/o migliorato , prima dell' elaborazione definitiva , eventuali suggerimenti o modifiche sono gradite
Un saluto da Sergio Tomasini , Orzivecchi ( BS)
Ho iniziato a studiare il tuo modulo.
Potrebbe essere utile a tutti chiarire le cose che io (beata ignoranza) non capisco bene.
Per esempio mi spieghi bene cosa fa questa funzione Len() e relative istruzioni?
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
Comunque permettimi, se veramente FORTE grazie davvero!
PS Potrebbe essere utile una sezione apposta in cui spiegare formule funzioni istruzioni?
Re: creare un modelllo standard per somministrare test ai pz
Lucio Mignone ha scritto:Cervino ha scritto:
Ho provato ad impostare in Certificati di MilleUtilità , un testo per il Calcolo dell' Indice Internazionale dei Sintomi Prostatici ( IPSS ) :
Lo rendo disponibile , in modo che possa essere testato e/o migliorato , prima dell' elaborazione definitiva , eventuali suggerimenti o modifiche sono gradite
Un saluto da Sergio Tomasini , Orzivecchi ( BS)
Ho iniziato a studiare il tuo modulo.
....
Continuando a valutare il bel lavoro di Sergio:
Vedo che inserendo come risposta un un valore superiore a 5 non c'è controllo dell'errore e il test procede senza riproporre la stessa domanda, ma
genera solo un punto "?" al posto del valore numerico.
Se, come scrivevo in un post precedente, si riuscissero ad utilizzare "etichette" ed istruzioni tipo "GOTO" si potrebbe facilmente, in caso di errore, rimandare il codice alla prima riga dello script e riproporre la stessa domanda.
Ho provato in vari modi ma non ci sono riuscito... Qualcuno puo' risolvere questo problema?
Re: creare un modelllo standard per somministrare test ai pz
Vivissime congratulazioni a Sergio.
Ho ripreso il suo testo, a parte lievi modifiche per miei valori estetici, ho modificato anche l'item sei (che chiede in media quante volte uno si alza la notte).
Nel CUSTOM5 ho aggiunto
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
in modo da far comparire il testo di spiegazione come chiedeva Lucio.
Non conosco invece modo di fare un GOTO, Sergio ha inserito un meccanismo di controllo che vale per il primo sbaglio (perseverare è diabolico), meglio di così non saprei fare con IF THEN. Occorrerebbe che lo script supportasse istruzioni tipo REPEAT...UNTIL o simili. Cercherò verificare, certo sarebbe meglio sapere che linguaggio viene usato, ho curiosato in giro ma non ho trovato nessun equivalente.
giampiero
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\fmodern\fcharset0 Courier 10cpi;}{\f2\froman\fcharset0 Tms Rmn;}{\f3\fswiss\fcharset0 Verdana;}{\f4\fswiss\fcharset0 Arial;}{\f5\fswiss\fcharset0 Trebuchet MS;}{\f6\fnil\fcharset0 Vrinda;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\version1}{\vern262367}}\paperw11898\paperh16840\margl239\margr0\margt239\margb0\deftab720\pard\ql\li0\fi0\ri65534{\f3\fs18\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx2267\tx6803\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f4\fs21\cf0\up0\dn0 sig.or }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 XPA_NOME}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ASSIRELLI MARIA}}}{\f3\fs22\cf0\up0\dn0 , di anni }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 XPA_ETA}}{\fldrslt{\f3\fs22\cf0\up0\dn0 EEE}}}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM2}}{\fldrslt{\f3\fs22\cf0\up0\dn0 G G / M M / A A}}}{\par}\pard\ql\li0\fi0\ri65534{\f3\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\li0\fi0\tx566\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\f3\fs22\cf0\up0\dn0 0 paziente paucisintomatico}}}{\par}\pard\ql\li0\fi0\tx566\ri65534{\f3\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\li0\fi0\tx566\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Indice di Qualità della Vita = }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 1) nell'ultimo mese , quante volte ha avuto la sensazione di NON}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 aver svuotato completamente la vescia dopo aver urinato?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM10}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\tx7370\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 2) nell'ultimo mese , quante volte ha dovuto urinare una}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 seconda volta dopo meno di due ore?}{\f0\fs28\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM11}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 3) nell'ultimo mese , quante volte ha dovuto interrompersi , }{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 mentre urinava , per poi ricominciare?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM12}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 4) nell'ultimo mese , quante volte ha avuto difficoltà a}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 trattenere l'urina?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM13}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 5) nell'ultimo mese , quante volte ha avuto un getto }{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 debole mentre urinava?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM14}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 6) nell'ultimo mese, quante volte ha dovuto premere o}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 sforzarsi per iniziare ad urinare?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM15}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 7) nell'ultimo mese , di norma, quante volte di notte , mentre}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 riposava , si è alzato per urinare?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM16}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx566\tx6236\ri65534{\f3\fs36\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) = }{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\f3\fs22\cf0\up0\dn0 0 paziente paucisintomatico}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx2267\ri65534{\f3\fs36\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Scala di Qualità della Vita}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs10\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 a) come si sentirebbe se i sintomi che accusa mentre}{\par}\pard\ql\li0\fi0\tx566\tx6519\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 urina , in futuro NON dovessero più cambiare?}{\f3\fs22\cf0\up0\dn0\tab}{\par}\pard\ql\tx425\li566\fi0\tx6519\ri65534{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx7086\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}}
[CUSTOM10]
cIu := PbGetText( " nell’ultimo mese, quante volte ha avuto la sensazione di non aver svuotato completamente la vescica dopo aver urinato? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Uno: Digitare un numero fra 0 e 5")
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := PbGetText( "NON CORRETTA: nell’ultimo mese, quante volte ha avuto la sensazione di non aver svuotato completamente la vescica dopo aver urinato? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1,"?"," Attenzione Risposta NON Corretta: Digitare un numero fra 0 e 5")
Else
cIu
Endif
If cIu = "0"
cIu := "0) Mai"
Else
IF cIu = "1"
cIu := "1) In Meno di 1 Caso su 5"
Else
IF cIu = "2"
cIu := "2) In Meno della Metà dei Casi"
Else
IF cIu = "3"
cIu := "3) In circa la Metà dei Casi"
Else
IF cIu = "4"
cIu := "4) In Più della Metà dei Casi"
Else
IF cIu = "5"
cIu := "5) Quasi Sempre"
Else
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIu
[D_CUSTOM10]
DescrizioneIPSS Item Uno
[CUSTOM11]
cId := PbGetText( " nell’ultimo mese, quante volte ha dovuto urinare una seconda volta dopo meno di due ore? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Due: Digitare un numero fra 0 e 5")
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := PbGetText( "ATTENZIONE Risposta Non Corretta: nell’ultimo mese, quante volte ha dovuto urinare una seconda volta dopo meno di due ore? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Risposta Non Corretta : Digitare un numero fra 0 e 5")
Else
cId
Endif
If cId = "0"
cId := "0) Mai"
Else
IF cId = "1"
cId := "1) In Meno di 1 Caso su 5"
Else
IF cId = "2"
cId := "2) In Meno della Metà dei Casi"
Else
IF cId = "3"
cId := "3) In circa la Metà dei Casi"
Else
IF cId = "4"
cId := "4) In Più della Metà dei Casi"
Else
IF cId = "5"
cId := "5) Quasi Sempre"
Else
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cId
[D_CUSTOM11]
DescrizioneIPSS Item Due
[CUSTOM12]
cIt := PbGetText( " nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Tre: Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Più della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM12]
DescrizioneIPSS Item Tre
[CUSTOM13]
cIq := PbGetText( " nell’ultimo mese, quante volte ha avuto difficoltà a trattenere l’urina? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Quattro: Digitare un numero fra 0 e 5")
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha avuto difficoltà a trattenere l’urina? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIq = "0"
cIq := "0) Mai"
Else
IF cIq = "1"
cIq := "1) In Meno di 1 Caso su 5"
Else
IF cIq = "2"
cIq := "2) In Meno della Metà dei Casi"
Else
IF cIq = "3"
cIq := "3) In circa la Metà dei Casi"
Else
IF cIq = "4"
cIq := "4) In Più della Metà dei Casi"
Else
IF cIq = "5"
cIq := "5) Quasi Sempre"
Else
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIq
[D_CUSTOM13]
DescrizioneIPSS Item Quattro
[CUSTOM14]
cIc := PbGetText( " nell'ultimo mese, quante volte ha avuto un getto debole mentre urinava? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Cinque : Digitare un numero fra 0 e 5")
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := PbGetText( " ATTENZIONE risposta non corretta: nell'ultimo mese, quante volte ha avuto un getto debole mentre urinava? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre ", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIc = "0"
cIc := "0) Mai"
Else
IF cIc = "1"
cIc := "1) In Meno di 1 Caso su 5"
Else
IF cIc = "2"
cIc := "2) In Meno della Metà dei Casi"
Else
IF cIc = "3"
cIc := "3) In circa la Metà dei Casi"
Else
IF cIc = "4"
cIc := "4) In Più della Metà dei Casi"
Else
IF cIc = "5"
cIc := "5) Quasi Sempre"
Else
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIc
[D_CUSTOM14]
DescrizioneIPSS Item Cinque
[CUSTOM15]
cIs := PbGetText( " nell’ultimo mese, quante volte ha dovuto premere o sforzarsi per Iniziare ad urinare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Sei: Digitare un numero fra 0 e 5")
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto premere o sforzarsi per Iniziare ad urinare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIs
Endif
IF cIs = "0"
cIs := "0) Mai"
Else
IF cIs = "1"
cIs := "1) In Meno di 1 Caso su 5"
Else
IF cIs = "2"
cIs := "2) In Meno della Metà dei Casi"
Else
IF cIs = "3"
cIs := "3) In circa la Metà dei Casi"
Else
IF cIs = "4"
cIs := "4) In Più della Metà dei Casi"
Else
IF cIs = "5"
cIs := "5) Quasi Sempre"
Else
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIs
[D_CUSTOM15]
DescrizioneIPSS Item Sei
[CUSTOM16]
cIv := PbGetText( " nell’ultimo mese, quante volte, di norma, si è alzato di notte, mentre riposava, per urinare? 0) Mai 1) Una volta 2) Due volte 3) Tre volte 4) Quattro volte 5) Cinque volte", 1, "?", " IPSS Item Sette: Digitare un numero fra 0 e 5")
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte, di norma, si è alzato di notte, mentre riposava, per urinare? 0) Mai 1) Una volta 2) Due volte 3) Tre volte 4) Quattro volte 5) Cinque volte", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIv
Endif
If cIv = "0"
cIv := "0) Mai"
Else
IF cIv = "1"
cIv := "1) Una volta a notte"
Else
IF cIv = "2"
cIv := "2) Due volte a notte"
Else
IF cIv = "3"
cIv := "3) Tre volte a notte"
Else
IF cIv = "4"
cIv := "4) Quattro volte a notte"
Else
IF cIv = "5"
cIv := "5) Cinque volte a notte"
Else
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIv
[D_CUSTOM16]
DescrizioneIPSS Item Sette
[CUSTOM17]
cIo := PbGetText( "Come si sentirebbe se i sintomi che accusa mentre urina, in futuro, non dovessero più cambiare? 0) molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) così così ne' soddisfatto ne' disturbato 4) piuttosto disturbato 5) disturbato ", 1, "?", " Scala di Qualità della Vita: Digitare un numero fra 0 e 5")
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := PbGetText( "ATTENZIONE Risposta NON Corretta: Come si sentirebbe se i sintomi che accusa mentre urina, in futuro, non dovessero più cambiare? 0) molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) così così ne' soddisfatto ne' disturbato 4) piuttosto disturbato 5) disturbato ", 1, "?", " Attenzione Risposta NON Corretta: Digitare un numero fra 0 e 5")
Else
cIo
Endif
If cIo = "0"
cIo := "0) Molto Bene"
Else
IF cIo = "1"
cIo := "1) Soddisfatto"
Else
IF cIo = "2"
cIo := "2) Prevalentemente Soddisfatto"
Else
IF cIo = "3"
cIo := "3) In parte Soddisfatto , In parte Insoddisfatto"
Else
IF cIo = "4"
cIo := "4) Insoddisfatto"
Else
IF cIo = "5"
cIo := "5) Molto Male"
Else
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIo
[D_CUSTOM17]
DescrizioneQoLS
[CUSTOM2]
cDtF := Left(Ricetta.VI_DATA, 3) + " / " + SubStr(Ricetta.VI_DATA, 5, 3) + " / " + SubStr(Ricetta.VI_DATA, 9, 3)
return cDtF
[D_CUSTOM2]
DescrizioneData Test
[CUSTOM3]
c
[D_CUSTOM3]
DescrizioneFree 1
[CUSTOM4]
IIF( Ricetta.XPA_SEX = "F", c := "sig.ra" , c := "sig.or" )
return c
[D_CUSTOM4]
DescrizionePaz : sig.or o sig.ra
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
[D_CUSTOM5]
DescrizioneIPSS Totale
[CUSTOM7]
cLt := "________________________________________________________________________________________"
return cLt
[D_CUSTOM7]
DescrizioneLinea Orizzontale
[Opzioni]
Ho ripreso il suo testo, a parte lievi modifiche per miei valori estetici, ho modificato anche l'item sei (che chiede in media quante volte uno si alza la notte).
Nel CUSTOM5 ho aggiunto
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
in modo da far comparire il testo di spiegazione come chiedeva Lucio.
Non conosco invece modo di fare un GOTO, Sergio ha inserito un meccanismo di controllo che vale per il primo sbaglio (perseverare è diabolico), meglio di così non saprei fare con IF THEN. Occorrerebbe che lo script supportasse istruzioni tipo REPEAT...UNTIL o simili. Cercherò verificare, certo sarebbe meglio sapere che linguaggio viene usato, ho curiosato in giro ma non ho trovato nessun equivalente.
giampiero
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\fmodern\fcharset0 Courier 10cpi;}{\f2\froman\fcharset0 Tms Rmn;}{\f3\fswiss\fcharset0 Verdana;}{\f4\fswiss\fcharset0 Arial;}{\f5\fswiss\fcharset0 Trebuchet MS;}{\f6\fnil\fcharset0 Vrinda;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\version1}{\vern262367}}\paperw11898\paperh16840\margl239\margr0\margt239\margb0\deftab720\pard\ql\li0\fi0\ri65534{\f3\fs18\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx2267\tx6803\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f4\fs21\cf0\up0\dn0 sig.or }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 XPA_NOME}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ASSIRELLI MARIA}}}{\f3\fs22\cf0\up0\dn0 , di anni }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 XPA_ETA}}{\fldrslt{\f3\fs22\cf0\up0\dn0 EEE}}}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM2}}{\fldrslt{\f3\fs22\cf0\up0\dn0 G G / M M / A A}}}{\par}\pard\ql\li0\fi0\ri65534{\f3\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\li0\fi0\tx566\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\f3\fs22\cf0\up0\dn0 0 paziente paucisintomatico}}}{\par}\pard\ql\li0\fi0\tx566\ri65534{\f3\fs20\cf0\up0\dn0\tab}{\par}\pard\ql\li0\fi0\tx566\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Indice di Qualità della Vita = }{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 1) nell'ultimo mese , quante volte ha avuto la sensazione di NON}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 aver svuotato completamente la vescia dopo aver urinato?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM10}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\tx7370\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 2) nell'ultimo mese , quante volte ha dovuto urinare una}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 seconda volta dopo meno di due ore?}{\f0\fs28\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM11}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 3) nell'ultimo mese , quante volte ha dovuto interrompersi , }{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 mentre urinava , per poi ricominciare?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM12}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 4) nell'ultimo mese , quante volte ha avuto difficoltà a}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 trattenere l'urina?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM13}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 5) nell'ultimo mese , quante volte ha avuto un getto }{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 debole mentre urinava?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM14}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 6) nell'ultimo mese, quante volte ha dovuto premere o}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 sforzarsi per iniziare ad urinare?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM15}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs32\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 7) nell'ultimo mese , di norma, quante volte di notte , mentre}{\par}\pard\ql\li0\fi0\tx566\tx7653\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 riposava , si è alzato per urinare?}{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM16}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx566\tx6236\ri65534{\f3\fs36\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Indice Internazionale dei Sintomi Prostatici ( IPSS ) = }{\f3\fs22\cf0\up0\dn0\tab}{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM5}}{\fldrslt{\f3\fs22\cf0\up0\dn0 0 paziente paucisintomatico}}}{\par}\pard\ql\li0\fi0\tx283\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}{\par}\pard\ql\li0\fi0\tx2267\ri65534{\f3\fs36\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 Scala di Qualità della Vita}{\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs10\cf0\up0\dn0\par}\pard\ql\li0\fi0\tx283\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 a) come si sentirebbe se i sintomi che accusa mentre}{\par}\pard\ql\li0\fi0\tx566\tx6519\ri65534{\f3\fs22\cf0\up0\dn0\tab}{\f3\fs22\cf0\up0\dn0 urina , in futuro NON dovessero più cambiare?}{\f3\fs22\cf0\up0\dn0\tab}{\par}\pard\ql\tx425\li566\fi0\tx6519\ri65534{\field{\*\fldinst{\f3\fs22\cf0\up0\dn0 CUSTOM17}}{\fldrslt{\f3\fs22\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\tx7086\ri65534{\field{\*\fldinst{\f3\fs20\cf0\up0\dn0 CUSTOM7}}{\fldrslt{\f3\fs20\cf0\up0\dn0 ________________________________________________________________________________________}}}}
[CUSTOM10]
cIu := PbGetText( " nell’ultimo mese, quante volte ha avuto la sensazione di non aver svuotato completamente la vescica dopo aver urinato? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Uno: Digitare un numero fra 0 e 5")
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := PbGetText( "NON CORRETTA: nell’ultimo mese, quante volte ha avuto la sensazione di non aver svuotato completamente la vescica dopo aver urinato? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1,"?"," Attenzione Risposta NON Corretta: Digitare un numero fra 0 e 5")
Else
cIu
Endif
If cIu = "0"
cIu := "0) Mai"
Else
IF cIu = "1"
cIu := "1) In Meno di 1 Caso su 5"
Else
IF cIu = "2"
cIu := "2) In Meno della Metà dei Casi"
Else
IF cIu = "3"
cIu := "3) In circa la Metà dei Casi"
Else
IF cIu = "4"
cIu := "4) In Più della Metà dei Casi"
Else
IF cIu = "5"
cIu := "5) Quasi Sempre"
Else
IF Len( cIu) > 1 .OR. Asc(Left( cIu,1)) < 48 .OR. Asc(Left( cIu,1)) > 53
cIu := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIu
[D_CUSTOM10]
DescrizioneIPSS Item Uno
[CUSTOM11]
cId := PbGetText( " nell’ultimo mese, quante volte ha dovuto urinare una seconda volta dopo meno di due ore? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Piu' della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Due: Digitare un numero fra 0 e 5")
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := PbGetText( "ATTENZIONE Risposta Non Corretta: nell’ultimo mese, quante volte ha dovuto urinare una seconda volta dopo meno di due ore? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Risposta Non Corretta : Digitare un numero fra 0 e 5")
Else
cId
Endif
If cId = "0"
cId := "0) Mai"
Else
IF cId = "1"
cId := "1) In Meno di 1 Caso su 5"
Else
IF cId = "2"
cId := "2) In Meno della Metà dei Casi"
Else
IF cId = "3"
cId := "3) In circa la Metà dei Casi"
Else
IF cId = "4"
cId := "4) In Più della Metà dei Casi"
Else
IF cId = "5"
cId := "5) Quasi Sempre"
Else
IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53
cId := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cId
[D_CUSTOM11]
DescrizioneIPSS Item Due
[CUSTOM12]
cIt := PbGetText( " nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Tre: Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Più della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM12]
DescrizioneIPSS Item Tre
[CUSTOM13]
cIq := PbGetText( " nell’ultimo mese, quante volte ha avuto difficoltà a trattenere l’urina? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Quattro: Digitare un numero fra 0 e 5")
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha avuto difficoltà a trattenere l’urina? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIq = "0"
cIq := "0) Mai"
Else
IF cIq = "1"
cIq := "1) In Meno di 1 Caso su 5"
Else
IF cIq = "2"
cIq := "2) In Meno della Metà dei Casi"
Else
IF cIq = "3"
cIq := "3) In circa la Metà dei Casi"
Else
IF cIq = "4"
cIq := "4) In Più della Metà dei Casi"
Else
IF cIq = "5"
cIq := "5) Quasi Sempre"
Else
IF Len( cIq) > 1 .OR. Asc(Left( cIq,1)) < 48 .OR. Asc(Left( cIq,1)) > 53
cIq := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIq
[D_CUSTOM13]
DescrizioneIPSS Item Quattro
[CUSTOM14]
cIc := PbGetText( " nell'ultimo mese, quante volte ha avuto un getto debole mentre urinava? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Cinque : Digitare un numero fra 0 e 5")
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := PbGetText( " ATTENZIONE risposta non corretta: nell'ultimo mese, quante volte ha avuto un getto debole mentre urinava? 0 ) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre ", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIq
Endif
IF cIc = "0"
cIc := "0) Mai"
Else
IF cIc = "1"
cIc := "1) In Meno di 1 Caso su 5"
Else
IF cIc = "2"
cIc := "2) In Meno della Metà dei Casi"
Else
IF cIc = "3"
cIc := "3) In circa la Metà dei Casi"
Else
IF cIc = "4"
cIc := "4) In Più della Metà dei Casi"
Else
IF cIc = "5"
cIc := "5) Quasi Sempre"
Else
IF Len( cIc) > 1 .OR. Asc(Left( cIc,1)) < 48 .OR. Asc(Left( cIc,1)) > 53
cIc := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIc
[D_CUSTOM14]
DescrizioneIPSS Item Cinque
[CUSTOM15]
cIs := PbGetText( " nell’ultimo mese, quante volte ha dovuto premere o sforzarsi per Iniziare ad urinare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Sei: Digitare un numero fra 0 e 5")
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto premere o sforzarsi per Iniziare ad urinare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIs
Endif
IF cIs = "0"
cIs := "0) Mai"
Else
IF cIs = "1"
cIs := "1) In Meno di 1 Caso su 5"
Else
IF cIs = "2"
cIs := "2) In Meno della Metà dei Casi"
Else
IF cIs = "3"
cIs := "3) In circa la Metà dei Casi"
Else
IF cIs = "4"
cIs := "4) In Più della Metà dei Casi"
Else
IF cIs = "5"
cIs := "5) Quasi Sempre"
Else
IF Len( cIs) > 1 .OR. Asc(Left( cIs,1)) < 48 .OR. Asc(Left( cIs,1)) > 53
cIs := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIs
[D_CUSTOM15]
DescrizioneIPSS Item Sei
[CUSTOM16]
cIv := PbGetText( " nell’ultimo mese, quante volte, di norma, si è alzato di notte, mentre riposava, per urinare? 0) Mai 1) Una volta 2) Due volte 3) Tre volte 4) Quattro volte 5) Cinque volte", 1, "?", " IPSS Item Sette: Digitare un numero fra 0 e 5")
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte, di norma, si è alzato di notte, mentre riposava, per urinare? 0) Mai 1) Una volta 2) Due volte 3) Tre volte 4) Quattro volte 5) Cinque volte", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
Else
cIv
Endif
If cIv = "0"
cIv := "0) Mai"
Else
IF cIv = "1"
cIv := "1) Una volta a notte"
Else
IF cIv = "2"
cIv := "2) Due volte a notte"
Else
IF cIv = "3"
cIv := "3) Tre volte a notte"
Else
IF cIv = "4"
cIv := "4) Quattro volte a notte"
Else
IF cIv = "5"
cIv := "5) Cinque volte a notte"
Else
IF Len( cIv) > 1 .OR. Asc(Left( cIv,1)) < 48 .OR. Asc(Left( cIv,1)) > 53
cIv := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIv
[D_CUSTOM16]
DescrizioneIPSS Item Sette
[CUSTOM17]
cIo := PbGetText( "Come si sentirebbe se i sintomi che accusa mentre urina, in futuro, non dovessero più cambiare? 0) molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) così così ne' soddisfatto ne' disturbato 4) piuttosto disturbato 5) disturbato ", 1, "?", " Scala di Qualità della Vita: Digitare un numero fra 0 e 5")
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := PbGetText( "ATTENZIONE Risposta NON Corretta: Come si sentirebbe se i sintomi che accusa mentre urina, in futuro, non dovessero più cambiare? 0) molto soddisfatto 1) soddisfatto 2) piuttosto soddisfatto 3) così così ne' soddisfatto ne' disturbato 4) piuttosto disturbato 5) disturbato ", 1, "?", " Attenzione Risposta NON Corretta: Digitare un numero fra 0 e 5")
Else
cIo
Endif
If cIo = "0"
cIo := "0) Molto Bene"
Else
IF cIo = "1"
cIo := "1) Soddisfatto"
Else
IF cIo = "2"
cIo := "2) Prevalentemente Soddisfatto"
Else
IF cIo = "3"
cIo := "3) In parte Soddisfatto , In parte Insoddisfatto"
Else
IF cIo = "4"
cIo := "4) Insoddisfatto"
Else
IF cIo = "5"
cIo := "5) Molto Male"
Else
IF Len( cIo) > 1 .OR. Asc(Left( cIo,1)) < 48 .OR. Asc(Left( cIo,1)) > 53
cIo := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIo
[D_CUSTOM17]
DescrizioneQoLS
[CUSTOM2]
cDtF := Left(Ricetta.VI_DATA, 3) + " / " + SubStr(Ricetta.VI_DATA, 5, 3) + " / " + SubStr(Ricetta.VI_DATA, 9, 3)
return cDtF
[D_CUSTOM2]
DescrizioneData Test
[CUSTOM3]
c
[D_CUSTOM3]
DescrizioneFree 1
[CUSTOM4]
IIF( Ricetta.XPA_SEX = "F", c := "sig.ra" , c := "sig.or" )
return c
[D_CUSTOM4]
DescrizionePaz : sig.or o sig.ra
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
[D_CUSTOM5]
DescrizioneIPSS Totale
[CUSTOM7]
cLt := "________________________________________________________________________________________"
return cLt
[D_CUSTOM7]
DescrizioneLinea Orizzontale
[Opzioni]
GiampiMaz- Membro Junior
- Messaggi : 122
Punti : 5186
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11
Re: creare un modelllo standard per somministrare test ai pz
Grazie a Luca , Lucio e GiamPiero per i suggerimenti e le integrazioni ; le opzioni sono varie , scegliere fra i vari layout possibili non è semplice; comunque ogni Utente puo' introdurre personalizzazioni a piacere.
Nel modulo in pratica vi sono solo due formule : Una chiede di introdurre un valore ad ogni quesito , l' Altra somma il punteggio dei vari Items.
La prima, almeno sul mio Millewin, chiede di digitare un valore compreso fra 1 e 5 alla domanda posta; in caso di digitazione di un valore diverso da quello richiesto, ripropone il quesito, in caso di nuovo errore di digitazione, è impostato di default il valore : "?" che ovviamente verrà escluso dal calcolo del punteggio ed andrà corretto manualmente (in due settori diversi) a posteriori;
in pratica esegue quanto richiesto da Lucio con la funzione GOTO ma una sola volta; nulla vieta tuttavia di far ripetere l' operazione piu' volte; l' unico inconveniente è dover allungare la formula con un tedioso lavoro di digitazione ma se il modulo verrà ritenuto utile, si potrà far aprire la finestra di dialogo anche 3 o 4 o 5 volte in caso di errore; certo l' idea di Lucio di utilizzare le funzioni dinamiche , semplificherebbere la scrittura delle formule ma senza un suggerimento dei Programmatori (come nel caso delle operazioni aritmetiche), io non ho alternative da proporre .
La condizione : IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53 serve a far aprire una seconda volta la finestra di dialogo ; verifica se la risposta data corrisponde al valore desiderato ; Len(c) > 1 esclude i valori con due o piu' cifre e lettere ( ad es. 11, 1a , as , ... , nel caso delle modifiche di Giampiero e Luca è superflua , anche se io preferisco porre le opzioni possibili anche fra le risposte, come suggerito da Lucio, in quanto è meno facile sbagliare ... ma è una preferenza individuale);
Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53 verifica il carattere ASCII del valore restituito : il valore 0 equivale a 48 e il valore 5 equivale a 53 nella codifica ASCII ;
di conseguenza se il valore digitato non è compreso fra 0 e 5 , è necessario fra riaprire la finestra di dialogo per riproporre la domanda.
Un particolare ringraziamento a Giampiero per l' integrazione della formula del calcolo del punteggio IPSS in modo semplice ed efficace e per la correzione della mia svista in un quesito .
un saluto a Tutti da Sergio
Nel modulo in pratica vi sono solo due formule : Una chiede di introdurre un valore ad ogni quesito , l' Altra somma il punteggio dei vari Items.
La prima, almeno sul mio Millewin, chiede di digitare un valore compreso fra 1 e 5 alla domanda posta; in caso di digitazione di un valore diverso da quello richiesto, ripropone il quesito, in caso di nuovo errore di digitazione, è impostato di default il valore : "?" che ovviamente verrà escluso dal calcolo del punteggio ed andrà corretto manualmente (in due settori diversi) a posteriori;
in pratica esegue quanto richiesto da Lucio con la funzione GOTO ma una sola volta; nulla vieta tuttavia di far ripetere l' operazione piu' volte; l' unico inconveniente è dover allungare la formula con un tedioso lavoro di digitazione ma se il modulo verrà ritenuto utile, si potrà far aprire la finestra di dialogo anche 3 o 4 o 5 volte in caso di errore; certo l' idea di Lucio di utilizzare le funzioni dinamiche , semplificherebbere la scrittura delle formule ma senza un suggerimento dei Programmatori (come nel caso delle operazioni aritmetiche), io non ho alternative da proporre .
La condizione : IF Len( cId) > 1 .OR. Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53 serve a far aprire una seconda volta la finestra di dialogo ; verifica se la risposta data corrisponde al valore desiderato ; Len(c) > 1 esclude i valori con due o piu' cifre e lettere ( ad es. 11, 1a , as , ... , nel caso delle modifiche di Giampiero e Luca è superflua , anche se io preferisco porre le opzioni possibili anche fra le risposte, come suggerito da Lucio, in quanto è meno facile sbagliare ... ma è una preferenza individuale);
Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53 verifica il carattere ASCII del valore restituito : il valore 0 equivale a 48 e il valore 5 equivale a 53 nella codifica ASCII ;
di conseguenza se il valore digitato non è compreso fra 0 e 5 , è necessario fra riaprire la finestra di dialogo per riproporre la domanda.
Un particolare ringraziamento a Giampiero per l' integrazione della formula del calcolo del punteggio IPSS in modo semplice ed efficace e per la correzione della mia svista in un quesito .
un saluto a Tutti da Sergio
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: creare un modelllo standard per somministrare test ai pz
Asc(Left( cId,1)) < 48 .OR. Asc(Left( cId,1)) > 53 verifica il carattere ASCII del valore restituito : il valore 0 equivale a 48 e il valore 5 equivale a 53 nella codifica ASCII ;
di conseguenza se il valore digitato non è compreso fra 0 e 5 , è necessario fra riaprire la finestra di dialogo per riproporre la domanda.
......
un saluto a Tutti da Sergio[/quote]
Sergio grazie per questa riga che mi risolve il problema di inserire un controllo della risposta numerica data. Non conoscendo affatta la funzione Asc() non ci sarei mai arrivato. Complimenti una soluzione davvero originale.
Ora chiedo a Sergio e Giampiero questo
Return s + " " + rt
se ho capito bene, fornisce come risultato le due variabili s ed rt insieme.
Ma come fare se io volessi che Return restituisse una sola variabile ed al posto della seconda variabile una stringa di teso fisso?
es. Return variabile testo
di conseguenza se il valore digitato non è compreso fra 0 e 5 , è necessario fra riaprire la finestra di dialogo per riproporre la domanda.
......
un saluto a Tutti da Sergio[/quote]
Sergio grazie per questa riga che mi risolve il problema di inserire un controllo della risposta numerica data. Non conoscendo affatta la funzione Asc() non ci sarei mai arrivato. Complimenti una soluzione davvero originale.
Ora chiedo a Sergio e Giampiero questo
Return s + " " + rt
se ho capito bene, fornisce come risultato le due variabili s ed rt insieme.
Ma come fare se io volessi che Return restituisse una sola variabile ed al posto della seconda variabile una stringa di teso fisso?
es. Return variabile testo
Re: creare un modelllo standard per somministrare test ai pz
copio e incollo il risultato del test al paziente (finto ZZ): non appare la interpretazione finale del test , come l'aggiunta di Giampiero avrebbe dovuto far apparire
Nel CUSTOM5 ho aggiunto
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
IPSS TEST
di sig.or ZZ .,di anni 50 effettuato 15/04/2011
Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = 14
Indice di Qualità Vita = 2) Prevalentemente Soddisfatto
1)nell' Ultimo Mese , Quante Volte ha avuto la Sensazione di NON aver Svuotato
completamente la Vescia , dopo aver Urinato ?2) In Meno della Metà dei Casi
2) nell' Ultimo Mese , Quante Volte ha dovuto Urinare una Seconda Volta
dopo Meno di Due Ore ? 2) In Meno della Metà dei Casi
3) nell' Ultimo Mese , Quante Volte ha dovuto Interrompersi , mentre
Urinava , per poi Ricominciare ? 2) In Meno della Metà dei Casi
4) nell' Ultimo Mese , Quante Volte ha avuto Difficoltà a trattenere l' Urina ?
2) In Meno della Metà dei Casi
5) nell' Ultimo Mese , Quante Volte ha avuto un Getto debole mentre Urinava ?
2) In Meno della Metà dei Casi
6) nell' Ultimo Mese, quante Volte ha dovuto Premere o Sforzarsi per Iniziare
ad Urinare ? 2) In Meno della Metà dei Casi
7) nell' Ultimo Mese , Quante Volte di Notte , mentre Riposava , si è Alzato
per Urinare ? 2) In Meno della Metà dei Casi
come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro NON
dovessero piu' cambiare ? 2) Prevalentemente Soddisfatto
Luca
Nel CUSTOM5 ho aggiunto
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
IPSS TEST
di sig.or ZZ .,di anni 50 effettuato 15/04/2011
Indice Internazionale dei Sintomi Prostatici ( IPSS ) : = 14
Indice di Qualità Vita = 2) Prevalentemente Soddisfatto
1)nell' Ultimo Mese , Quante Volte ha avuto la Sensazione di NON aver Svuotato
completamente la Vescia , dopo aver Urinato ?2) In Meno della Metà dei Casi
2) nell' Ultimo Mese , Quante Volte ha dovuto Urinare una Seconda Volta
dopo Meno di Due Ore ? 2) In Meno della Metà dei Casi
3) nell' Ultimo Mese , Quante Volte ha dovuto Interrompersi , mentre
Urinava , per poi Ricominciare ? 2) In Meno della Metà dei Casi
4) nell' Ultimo Mese , Quante Volte ha avuto Difficoltà a trattenere l' Urina ?
2) In Meno della Metà dei Casi
5) nell' Ultimo Mese , Quante Volte ha avuto un Getto debole mentre Urinava ?
2) In Meno della Metà dei Casi
6) nell' Ultimo Mese, quante Volte ha dovuto Premere o Sforzarsi per Iniziare
ad Urinare ? 2) In Meno della Metà dei Casi
7) nell' Ultimo Mese , Quante Volte di Notte , mentre Riposava , si è Alzato
per Urinare ? 2) In Meno della Metà dei Casi
come si sentirebbe se i Sintomi che accusa mentre Urina , in futuro NON
dovessero piu' cambiare ? 2) Prevalentemente Soddisfatto
Luca
LucaLeF- Membro Esperto
- Messaggi : 473
Punti : 5918
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11
Re: creare un modelllo standard per somministrare test ai pz
Ciao Luca
Mi spiace se non mi sono spiegato.
Il tratto di codice che mostravo NON era da semplicemente incollare, serviva a mostrare ove avevo modificato il codice.
Se vuoi modificare solo quel tratto sostituisci TUTTO il [CUSTOM5] con questo
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
Oppure copia l'intero testo che corregge anche un item errato.
Ho provato ad applicare istruzioni di vari linguaggi script, l'istruzione Do While----Enddo sembrava quasi funzionare ma poi mi blocca quel dinosauro di elaboratore di testo di milleutilità e non si può neanche correggere perche è sufficiente caricare il testo per mandare in clessidra infinita il tutto .
giampiero
Mi spiace se non mi sono spiegato.
Il tratto di codice che mostravo NON era da semplicemente incollare, serviva a mostrare ove avevo modificato il codice.
Se vuoi modificare solo quel tratto sostituisci TUTTO il [CUSTOM5] con questo
[CUSTOM5]
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
ELSE
IF totale > 20
rt := "sintomatologia intensa"
ENDIF
ENDIF
Return s + " " + rt
Oppure copia l'intero testo che corregge anche un item errato.
Ho provato ad applicare istruzioni di vari linguaggi script, l'istruzione Do While----Enddo sembrava quasi funzionare ma poi mi blocca quel dinosauro di elaboratore di testo di milleutilità e non si può neanche correggere perche è sufficiente caricare il testo per mandare in clessidra infinita il tutto .
giampiero
GiampiMaz- Membro Junior
- Messaggi : 122
Punti : 5186
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11
Re: creare un modelllo standard per somministrare test ai pz
Lucio Mignone ha scritto:
... Ora chiedo a Sergio e Giampiero questo
Return s + " " + rt
se ho capito bene, fornisce come risultato le due variabili s ed rt insieme.
Ma come fare se io volessi che Return restituisse una sola variabile ed al posto della seconda variabile una stringa di teso fisso?<i>
es. Return variabile testo
Ho rivisto la prima versione della formula CUSTOM 5 del modulo IPSS (campo calcolato punteggio IPSS Totale ) :
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
It := ricetta.CUSTOM16
tIq := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( It)
s := Trim( Str( totale, 2, 0))
Return s
ed ho notato che, dal punto di vista della mia logica di programmazione, avrei voluto definirla piu' correttamente nel modo seguente :
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
Iv := ricetta.CUSTOM16
Iv := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( Iv)
s := Trim( Str( totale, 2, 0))
In quanto non è formalmente corretta la presenza di due varaibili temporanee con lo stesso nome; tuttavia nessun errore viene segnalato al test di verifica .
Nella formula CUSTOM 5, vengono definite varie variabili temporanee (Iu , Id , It , Iq , ... ) ; poi le variabili vengono manipolate al fine di ottenere il risultato desiderato
[ ... s := Trim( Str( totale, 2, 0)) ], la somma del punteggio IPSS ;
poi Giampiero , su richiesta del Forum, ha definito un' altra variabile transitoria ( rt := "sintomatologia moderata" ) , ha aggiunto una condizione logica in modo da rendere dipendente il risultato della seconda variabile principale dalla prima;
alla fine con l' istruzione ( statement ) < Return >ha definito quali variabili dovesse restituire; avrebbe potuto scegliere fra tutte le variabile definite fino a quel momento oppure aggiungere altre condizioni logiche e/o variabili e/o testo , come ad. esempio :
< Return It + " Bene " + rt > che restituisce : < ? Bene paziente paucisintomatico > oppure < Return " MilleUtilita " > oppure < Return s + " testo a piacere " > ....
Dal punto di vista formale sarebbe meglio , se necessario, definire altre variabili, in modo che l' istruzione finale < Return > sia semplice , chiara e breve .
La formula ottimale CUSTOM 5 dovrebbe essere ( se GiamPiero è d' accordo ) :
Iu := ricetta.CUSTOM10
Iu := StrTran( Iu, ",", "." )
Id := ricetta.CUSTOM11
Id := StrTran( Id, ",", "." )
It := ricetta.CUSTOM12
It := StrTran( It, ",", "." )
Iq := ricetta.CUSTOM13
Iq := StrTran( Iq, ",", "." )
Ic := ricetta.CUSTOM14
Ic := StrTran( Ic, ",", "." )
Is := ricetta.CUSTOM15
Is := StrTran( Is, ",", "." )
Iv := ricetta.CUSTOM16
Iv := StrTran( It, ",", "." )
totale := Val( Iu) + Val( Id) + Val( It) + Val( Iq) + Val( Ic) + Val( Is) + Val( Iv)
s := Trim( Str( totale, 2, 0))
rt := "sintomatologia moderata"
IF totale < 8
rt := "paziente paucisintomatico"
Else
IF totale > 20
rt := "sintomatologia intensa"
Endif
Endif
Return s + " " + rt
spero di aver chiarito almeno qualche dubbio di Lucio .
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: creare un modelllo standard per somministrare test ai pz
Cervino ha scritto:
spero di aver chiarito almeno qualche dubbio di Lucio .
Un saluto da Sergio Tomasini , Orzivecchi ( BS )
Chiarito? Mi hai aperto una finestra sul mondo....
Approfitto sempre per qualche domanda:
1 - c'è modo di superare il limite dei 20 campi custom?
2 - Proprio Nessuno sa come riportare su di un modulo-certificato personalizzato il valore di un accertamento presente in millewin (vorrei riportare automaticamente in un certificato l'ultimo valore di creatinina).
Re: creare un modelllo standard per somministrare test ai pz
Avere la testa dura a volte si ottiene quello che si vuole , o quasi.
Cercando di capire il meccanismo dello script dei campi calcolati, credo di poter dire che i comandi appartengano a FoxPro o a qualcosa di molto simile, visto che la sintassi non è esattamente uguale, ma forse dipende dalle varie versioni del linguaggio che si sono succedute.
Quindi per risolvere il problema della interazione in caso di errore ho sviluppato questa pagina di prova.
Il comando FOR ... ENDFOR non è precisamente quello più adatto ma con un poco di ingegno funziona. Nell'esempio limito le interazioni a 5 volte ma è variabile a piacere (certo che se dopo 5 volte uno non è riuscito a capirla...)
Come scrivevo in precedenza non sono riuscito a far funzionare il comando DO WHILE ...ENDDO. Ribadisco che può causare il blocco dell'editor impedendo poi sia la modifica che la cancellazione del testo fatto.
La partenza me la ha data Luca con l'indirizzo http://msdn.microsoft.com/en-us/library/aa976942%28v=VS.71%29.aspx
vedere anche http://www.foxitaly.com/
Se ho ragione, gente ben più esperta di me, potrebbe sapere come leggere il database (il linguaggio è fatto apposta), ma consiglierei prudenza estrema nell'uso di certe istruzioni.
Ed ora il testo, ripeto è una guida, andrebbero modificate in questa maniera gli analoghi campi custom del testo sui sintomi prostatici.
giampiero
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\fmodern\fcharset0 Courier 10cpi;}{\f2\froman\fcharset0 Tms Rmn;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\version1}{\vern262367}}\paperw11898\paperh16840\margl239\margr0\margt239\margb0\deftab850\pard\ql\li0\fi0\ri65534{\f0\fs20\cf0\up0\dn0 TESTO PROVA}{\par}\pard\ql\li0\fi0\ri65534{\field{\*\fldinst{\f0\fs20\cf0\up0\dn0 CUSTOM1}}{\fldrslt{\f0\fs20\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\ri65534{\f0\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\ri65534{\f0\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\ri65534}
[CUSTOM1]
cIt := PbGetText( " nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Tre: Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
FOR i := 1 TO 5
cIt := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
IF Asc(Left( cIt,1)) > 47 .AND. Asc(Left( cIt,1)) < 54
i := 10
ENDIF
ENDFOR
NEXT
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Più della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM1]
Descrizioneprova campo
[Opzioni]
Cercando di capire il meccanismo dello script dei campi calcolati, credo di poter dire che i comandi appartengano a FoxPro o a qualcosa di molto simile, visto che la sintassi non è esattamente uguale, ma forse dipende dalle varie versioni del linguaggio che si sono succedute.
Quindi per risolvere il problema della interazione in caso di errore ho sviluppato questa pagina di prova.
Il comando FOR ... ENDFOR non è precisamente quello più adatto ma con un poco di ingegno funziona. Nell'esempio limito le interazioni a 5 volte ma è variabile a piacere (certo che se dopo 5 volte uno non è riuscito a capirla...)
Come scrivevo in precedenza non sono riuscito a far funzionare il comando DO WHILE ...ENDDO. Ribadisco che può causare il blocco dell'editor impedendo poi sia la modifica che la cancellazione del testo fatto.
La partenza me la ha data Luca con l'indirizzo http://msdn.microsoft.com/en-us/library/aa976942%28v=VS.71%29.aspx
vedere anche http://www.foxitaly.com/
Se ho ragione, gente ben più esperta di me, potrebbe sapere come leggere il database (il linguaggio è fatto apposta), ma consiglierei prudenza estrema nell'uso di certe istruzioni.
Ed ora il testo, ripeto è una guida, andrebbero modificate in questa maniera gli analoghi campi custom del testo sui sintomi prostatici.
giampiero
[RTF]
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\froman\fcharset1 Tahoma;}{\f1\fmodern\fcharset0 Courier 10cpi;}{\f2\froman\fcharset0 Tms Rmn;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue127;\red0\green127\blue127;\red0\green127\blue0;\red127\green0\blue127;\red127\green0\blue0;\red127\green127\blue0;\red127\green127\blue127;\red192\green192\blue192}{\info{\version1}{\vern262367}}\paperw11898\paperh16840\margl239\margr0\margt239\margb0\deftab850\pard\ql\li0\fi0\ri65534{\f0\fs20\cf0\up0\dn0 TESTO PROVA}{\par}\pard\ql\li0\fi0\ri65534{\field{\*\fldinst{\f0\fs20\cf0\up0\dn0 CUSTOM1}}{\fldrslt{\f0\fs20\cf0\up0\dn0 ?}}}{\par}\pard\ql\li0\fi0\ri65534{\f0\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\ri65534{\f0\fs20\cf0\up0\dn0\par}\pard\ql\li0\fi0\ri65534}
[CUSTOM1]
cIt := PbGetText( " nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " IPSS Item Tre: Digitare un numero fra 0 e 5")
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
FOR i := 1 TO 5
cIt := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
IF Asc(Left( cIt,1)) > 47 .AND. Asc(Left( cIt,1)) < 54
i := 10
ENDIF
ENDFOR
NEXT
Else
cIt
Endif
If cIt = "0"
cIt := "0) Mai"
Else
IF cIt = "1"
cIt := "1) In Meno di 1 Caso su 5"
Else
IF cIt = "2"
cIt := "2) In Meno della Metà dei Casi"
Else
IF cIt = "3"
cIt := "3) In circa la Metà dei Casi"
Else
IF cIt = "4"
cIt := "4) In Più della Metà dei Casi"
Else
IF cIt = "5"
cIt := "5) Quasi Sempre"
Else
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
cIt := "?"
Endif
Endif
Endif
Endif
Endif
Endif
Endif
Return cIt
[D_CUSTOM1]
Descrizioneprova campo
[Opzioni]
GiampiMaz- Membro Junior
- Messaggi : 122
Punti : 5186
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11
Re: creare un modelllo standard per somministrare test ai pz
mi pare che in pochissimo tempo , insperabilmente, sono stati raggiunti i risultati sperati: un testo per la somministrazione di una scala di valutazione interna a MilleWin.
prossimi passi:
-sulla base del testo IPSS elaborazione di altre scale di valutazione (non appena avrò tempo ci proverò per imitazione)
-verifica dell'utilizzazione di tali scale da parte nostra...e valutazione dell'utilità nella pratica
ciao
prossimi passi:
-sulla base del testo IPSS elaborazione di altre scale di valutazione (non appena avrò tempo ci proverò per imitazione)
-verifica dell'utilizzazione di tali scale da parte nostra...e valutazione dell'utilità nella pratica
ciao
LucaLeF- Membro Esperto
- Messaggi : 473
Punti : 5918
Voti per importanza dei messaggi : 11
Data d'iscrizione : 21.02.11
Re: creare un modelllo standard per somministrare test ai pz
GiampiMaz ha scritto: Avere la testa dura a volte si ottiene quello che si vuole , o quasi.
Cercando di capire il meccanismo dello script dei campi calcolati, credo di poter dire che i comandi appartengano a FoxPro o a qualcosa di molto simile...
Credo tu abbia ragione, me ne sono reso conto anch'io (anche se avevo notato alcune differenze) e per questo ho postato i link alle pagine che descrivevano le varie funzioni. Sto tentando di trovare un vecchio manualetto di foxpro. Ricercando la parola foxpro nei files della directory millewin la ritroviamo all'interno del file Dedfox.dll ma prutroppo non trovo traccia alcuna che indichi di quale versione si tratti.
Se ho ragione, gente ben più esperta di me, potrebbe sapere come leggere il database (il linguaggio è fatto apposta), ma consiglierei prudenza estrema nell'uso di certe istruzioni.
Magari, se si riuscisse a poter leggere ed inserire qualsiasi dato presente nel database all'interno di un certificato/modulo potremmo soddisfare praticamente qaualsiasi esigenza di testi o stampati personalizzati.
E adesso,
Com'è tradizione una domanda agli esperti:
Qualcuno sa esattamente come funzionano i campi problema1 problema2...problema8 inseribili nei certificati/moduli personalizzati?
Ho fatto qualche prova ma non ho capito molto.
Re: creare un modelllo standard per somministrare test ai pz
Innanzitutto ringrazio GiamPiero per il contributo alla implemetazione della formula che ripropone il quesito , in caso di risposta errata nelle scale di Valutazione ;
ha insegnato a tutti Noi ad utilizzare il comando : FOR ... ENDFOR , che semplifica e velocizza la scrittura delle formule con domanda - risposta , in modo semplice , elegante , efficace .
Un passaggio logico , tuttavia mi sfugge : l' introduzione della riga i := 10 , in quanto sul mio MW - MU sembrerebbe funzionare anche elimandola :
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
FOR i := 1 TO 5
cIt := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
IF Asc(Left( cIt,1)) > 47 .AND. Asc(Left( cIt,1)) < 54
i := 10
ENDIF
ENDFOR
NEXT
Else
cIt
Endif
Comunque un dettaglio irrilevante , grazie ancora ; in futuro sarà opportuno esplorare l' eventuale possibile utili di altri comandi logici analoghi ( DO WHILE ... ENDDO ? , DO CASE ... ENDCASE , ... includendo se possibile i comandi : LOOP , EXIT , ... )
Da tempo cerco invano un soluzione ai problemi che assillano anche Lucio , in primis :
la limitatezza dei campi predefiniti resi disponibili dai Programmatori nella sezione MU - Impostazione Testi - Certificati ( inspiegabilmente in numero ancora piu' ridotto rispetto a Terapia ed Accertamenti ed alcuni inspiegabilmente vuoti come ad es. : APROBL da 3 a 8) ;
il numero limitato di formule Custom (19) ;
l' impossibilità di accedere al mille.db .
Piu' volte ho sollecitato invano l' HelDesk ad implementare almeno qualche funzionalità di MU ma da anni nessuna modifica viene apportata ;
l' impressione è che la dedalus lasci lo status quo per poter vendere separatamente varie Utilities ( ACN , GPG , ... ).
Anch' io come Lucio ho predisposto un modello di Certificato ( " Anamnesi " il piu' utilizzato ) in cui elenco i Problemi del Pazienti Attivi e pregressi :
ma riporta in modo random, 1 od al massimo 2 problemi ( ma quasi sempre due volte lo stesso problema ) ;
non mi resta che aggiungerli manualmente con notevole dispendio di tempo, considerato anche un' altro limite di MW, francamente inspiegabile, che permette di tenere attiva solo una finestra per volta, senza poterla ridurre ad icona.
Concordo che l' accesso al mille.db ( tramite SQL ? ) anche dalla sezione Certificati resta un traguardo.. per ora irraggiungibile .
Un saluto da Sergio Tomasini , Orzivecchi ( BS )
ha insegnato a tutti Noi ad utilizzare il comando : FOR ... ENDFOR , che semplifica e velocizza la scrittura delle formule con domanda - risposta , in modo semplice , elegante , efficace .
Un passaggio logico , tuttavia mi sfugge : l' introduzione della riga i := 10 , in quanto sul mio MW - MU sembrerebbe funzionare anche elimandola :
IF Len( cIt) > 1 .OR. Asc(Left( cIt,1)) < 48 .OR. Asc(Left( cIt,1)) > 53
FOR i := 1 TO 5
cIt := PbGetText( "ATTENZIONE Risposta NON Corretta: nell’ultimo mese, quante volte ha dovuto interrompersi mentre urinava, per poi ricominciare? 0) Mai 1) in Meno di 1 Caso su 5 2) in Meno della Metà dei casi 3) circa nella Metà dei Casi 4) in Più della Metà dei Casi 5) Quasi Sempre", 1, "?", " Attenzione Risposta NON Corretta : Digitare un numero fra 0 e 5")
IF Asc(Left( cIt,1)) > 47 .AND. Asc(Left( cIt,1)) < 54
i := 10
ENDIF
ENDFOR
NEXT
Else
cIt
Endif
Comunque un dettaglio irrilevante , grazie ancora ; in futuro sarà opportuno esplorare l' eventuale possibile utili di altri comandi logici analoghi ( DO WHILE ... ENDDO ? , DO CASE ... ENDCASE , ... includendo se possibile i comandi : LOOP , EXIT , ... )
Da tempo cerco invano un soluzione ai problemi che assillano anche Lucio , in primis :
la limitatezza dei campi predefiniti resi disponibili dai Programmatori nella sezione MU - Impostazione Testi - Certificati ( inspiegabilmente in numero ancora piu' ridotto rispetto a Terapia ed Accertamenti ed alcuni inspiegabilmente vuoti come ad es. : APROBL da 3 a 8) ;
il numero limitato di formule Custom (19) ;
l' impossibilità di accedere al mille.db .
Piu' volte ho sollecitato invano l' HelDesk ad implementare almeno qualche funzionalità di MU ma da anni nessuna modifica viene apportata ;
l' impressione è che la dedalus lasci lo status quo per poter vendere separatamente varie Utilities ( ACN , GPG , ... ).
Anch' io come Lucio ho predisposto un modello di Certificato ( " Anamnesi " il piu' utilizzato ) in cui elenco i Problemi del Pazienti Attivi e pregressi :
ma riporta in modo random, 1 od al massimo 2 problemi ( ma quasi sempre due volte lo stesso problema ) ;
non mi resta che aggiungerli manualmente con notevole dispendio di tempo, considerato anche un' altro limite di MW, francamente inspiegabile, che permette di tenere attiva solo una finestra per volta, senza poterla ridurre ad icona.
Concordo che l' accesso al mille.db ( tramite SQL ? ) anche dalla sezione Certificati resta un traguardo.. per ora irraggiungibile .
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: creare un modelllo standard per somministrare test ai pz
Si puo' arrivare a 20.Cervino ha scritto:
....
Da tempo cerco invano un soluzione ai problemi che assillano anche Lucio , in primis :
...il numero limitato di formule Custom (19) ;
Una volta ho provato ad aggiungere campi manualmente direttamente nel file TXT ed ho scoperto che gestisce solo un campo in più, il ventesimo. Gli altri li ignora.
Concordo che l' accesso al mille.db ( tramite SQL ? ) anche dalla sezione Certificati resta un traguardo.. per ora irraggiungibile .
Un saluto da Sergio Tomasini , Orzivecchi ( BS )
Dovremmmo capire come fa ad pescare ed inserire campi come nome, cognome, etc. se questo è possibile, è possibile tutto il resto.
Re: creare un modelllo standard per somministrare test ai pz
Per Luca
continueremo a sperimentare, adesso vado in vacanza ma al ritorno mi riprometto di postare un qualche testo
Per Sergio
la sintassi di FOR ... l'ho trovata per tentativi e non posso dire che mi soddisfi, quell'ENDFOR col NEXT è proprio brutta ma sembra funzionare.
La logica di mettere i := 10 è che il ciclo di 5 volte si completerebbe anche se alla seconda (o terza ecc) richiesta si rispondesse in modo corretto.
Occorre quindi un'istruzione che faccia terminare il loop
FOR i := 1 TO 5
cIt := PbGetText( .....) apre la finestra dialogo
IF ..... se la risposta è corretta la variabile del ciclo i è posta maggiore della condizione di fine (5 nell'esempio) per cui termina subito
i := 10
ENDIF
ENDFOR
NEXT
serebbe stato esteticamente meglio usare un'istruzione come EXIT, STOP, ecc ma non mi hanno funzionato, così sono ricorso ad
un trucco di vecchio programmatore di Commodor 64
giampiero
continueremo a sperimentare, adesso vado in vacanza ma al ritorno mi riprometto di postare un qualche testo
Per Sergio
la sintassi di FOR ... l'ho trovata per tentativi e non posso dire che mi soddisfi, quell'ENDFOR col NEXT è proprio brutta ma sembra funzionare.
La logica di mettere i := 10 è che il ciclo di 5 volte si completerebbe anche se alla seconda (o terza ecc) richiesta si rispondesse in modo corretto.
Occorre quindi un'istruzione che faccia terminare il loop
FOR i := 1 TO 5
cIt := PbGetText( .....) apre la finestra dialogo
IF ..... se la risposta è corretta la variabile del ciclo i è posta maggiore della condizione di fine (5 nell'esempio) per cui termina subito
i := 10
ENDIF
ENDFOR
NEXT
serebbe stato esteticamente meglio usare un'istruzione come EXIT, STOP, ecc ma non mi hanno funzionato, così sono ricorso ad
un trucco di vecchio programmatore di Commodor 64
giampiero
GiampiMaz- Membro Junior
- Messaggi : 122
Punti : 5186
Voti per importanza dei messaggi : 33
Data d'iscrizione : 20.02.11
Re: creare un modelllo standard per somministrare test ai pz
<blockquote>
Ieri ho contattato l'assistenza Millewin che mi ha riferito che è impossibile inserire il risultato di un accertamento all'interno di un certificato (o modulo che sia).
Spero sia impossibile così come era impossibile effettuare somme tra due valori numerici!!!
Qualcuno
ha novità in merito alla eventuale possibilità di riportare il
risultato di un dato accertamento all'interno di un certificato?
Lucio Mignone ha scritto:
2 -
Proprio Nessuno sa come riportare su di un modulo-certificato
personalizzato il valore di un accertamento presente in millewin (vorrei
riportare automaticamente in un certificato l'ultimo valore di
creatinina).
</blockquote>
Ieri ho contattato l'assistenza Millewin che mi ha riferito che è impossibile inserire il risultato di un accertamento all'interno di un certificato (o modulo che sia).
Spero sia impossibile così come era impossibile effettuare somme tra due valori numerici!!!
Qualcuno
ha novità in merito alla eventuale possibilità di riportare il
risultato di un dato accertamento all'interno di un certificato?
Argomenti simili
» creare nuovi certificati partendo da un pdf
» MILLEWIN, WINDOWS 7, UTENTE STANDARD ED AMMINISTRATORE DI SISTEMA...
» Test per PostGres SQL
» rubeo test
» Test HPV in Toscana
» MILLEWIN, WINDOWS 7, UTENTE STANDARD ED AMMINISTRATORE DI SISTEMA...
» Test per PostGres SQL
» rubeo test
» Test HPV in Toscana
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.