﻿function Question (qname,
type,
qstring,
response,
comment,
corrects,
explan,
score,
ifcorrect,ifwrong,ifnull,
img)
{this.qname=qname;
this.type=type;
this.qstring=qstring;
this.response=response;
this.comment=comment;
this.corrects=corrects;
this.explan=explan;
this.score=score;
this.ifcorrect=ifcorrect;
this.ifwrong=ifwrong;
this.ifnull=ifnull;
this.img=img;
}

var zin=1,top=0, mycount=0, waitTime=0, qright=0, mycomment;
var global=new Array(3);
var recent, recent2, recdone=false, opera7, opera=CheckOpera56();
function cachewrite(s,idx){global[idx]+=s;}
function CheckOpera56()
{
var version;
if (navigator.userAgent.toLowerCase().indexOf('opera') == -1) return false;
version=parseInt(navigator.appVersion.toLowerCase());
if (version>6) {opera7=true; return false;}
if (version<5) return false;
return true;
}
resp=new Array("bilaterally.","globally.","occipitally.","unilaterally.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest001 = new Question(
"Question 1",
0,
"A distinguishing feature of a cluster headache is that it occurs:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Larger doses of opioids are needed to control pain than were needed several weeks earlier.","Stimulants are needed to counteract the sedating effects of opioids.","The patient becomes anxious about knowing the exact time of the next dose of opioid.","The patient no longer experiences constipation from the usual dose of opioid.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest002 = new Question(
"Question 2",
0,
"Which statement reflects development of tolerance to opioids?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("clarifies the patient's report by stating the patient's nonverbal behavior.","confronts the patient's denial of pain.","obtains an order for pain medication from the physician.","supports the patient's stoic behavior.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest003 = new Question(
"Question 3",
0,
"The pain management nurse notices a male patient grimacing as he moves from the bed to a chair. The patient tells the nurse that he is not experiencing any pain. The nurse:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("autonomic changes, peripheral neuropathy, and skin fold tenderness.","morning fatigue, widespread body pain, and focal tenderness.","skin rashes, edema, and constipation.","unilateral weakness, hyperesthesia, and allodynia.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest004 = new Question(
"Question 4",
0,
"A focused exam for fibromyalgia includes assessment for:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("assessment of pain.","need for antidepressants.","physical therapy evaluation.","psychological evaluation.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest005 = new Question(
"Question 5",
0,
"An 85-year-old male patient with a history of prostate cancer and metastasis to the lumbar spine is receiving current treatment of methadone (Dolophine) 10 mg 3 times a day. The patient is seen in the clinic for re-evaluation. The patient's wife tells the pain management nurse that her husband exhibits a lack of motivation, loss of appetite, and inability to get out of bed. The nurse initially focuses on the:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("assess activities of daily living.","call the health care provider for more pain medication.","pursue a psychiatric evaluation.","reassure the family that the patient's pain has not increased.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest006 = new Question(
"Question 6",
0,
"The family of an older male patient is concerned that the patient's arthritic pain has increased and his pain medication is not working. When questioned by the pain management nurse, the patient states that he has no pain. A focused exam produces no evidence of a change in condition. The pain management nurse is uncertain that the patient's pain has increased. The nurse's next action is to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("ability to use an electronic wheelchair.","confidence in managing pain.","home environment for safety.","understanding of nutritional diet habits.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest007 = new Question(
"Question 7",
0,
"The pain management nurse is caring for a patient with paraplegia and central pain syndrome. In developing a self-care plan for pain management, the nurse assesses the patient's:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("is an emotional reaction to the anticipated pain.","is in anticipation of future pain.","is more indicative of the need for pain medication than the pain rating.","may be in conflict with the pain rating, and the report of pain should be accepted.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest008 = new Question(
"Question 8",
0,
"A 35-year-old male patient with testicular cancer is conversing and joking while playing cards with his roommate. When assessed by the pain management nurse, the patient rates his pain as 7 on a numeric pain scale of 0 to 10. The nurse concludes that the patient's behavior:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Codeine","Controlled-release morphine","Immediate-release morphine","Transdermal fentanyl")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest009 = new Question(
"Question 9",
0,
"Which medication is the best choice to treat breakthrough pain for a patient who is currently receiving methadone (Dolophine) 10 mg every 8 hours?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Acetaminophen affects platelet aggregation.","Acetaminophen causes gastric irritation.","Acetaminophen does not have an analgesic ceiling.","Acetaminophen has an analgesic ceiling.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest010 = new Question(
"Question 10",
0,
"Which statement about&nbsp; the administration of acetaminophen to children is correct?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("aromatherapy","distraction","guided imagery","heat application")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest011 = new Question(
"Question 11",
0,
"Which nonpharmacologic intervention is difficult for use with cognitively impaired older adults?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("develop psycho-physiologic self-regulation.","enhance drug delivery.","increase release of serotonin.","promote neuronal regeneration.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest012 = new Question(
"Question 12",
0,
"Biofeedback is a therapy used to:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("the usual recommended dose.","50% or less of the usual recommended dose.","75% of the usual recommended dose.","90% of the usual recommended dose.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest013 = new Question(
"Question 13",
0,
"An 86-year-old patient with chronic low back pain is being started on a new nonsteroidal antiinflamatory drug. The pain management nurse expects the starting dose to be:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("alcohol.","marijuana.","opioids.","tobacco.")
corr=new Array("1","0","0","0")
comm=""
valu=""
quest014 = new Question(
"Question 14",
0,
"When assessing a patient for possible side effects related to acetaminophen, the pain management nurse asks the patient about the use of:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("A benzodiazepine","An anticholinergic","An antiemetic","Morphine")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest015 = new Question(
"Question 15",
0,
"Which medication does the pain management nurse administer to help control oropharyngeal secretions?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("&ldquo;I will chew sugarless gum and mints.&rdquo;","&ldquo;I will drink carbonated beverages.&rdquo;","&ldquo;I will take my medication at breakfast.&rdquo;","&ldquo;I will use a humidifier at bedtime.&rdquo;")
corr=new Array("0","0","1","0")
comm=""
valu=""
quest016 = new Question(
"Question 16",
0,
"An older patient is discharged from the hospital with nortriptyline (Pamelor) for neuropathic pain. Which statement indicates the patient's need for additional education?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("&ldquo;I am going away on vacation next month and the doctor can just call my medication in to the pharmacy.&rdquo;","&ldquo;I know I can take a few extra doses during the day if my pain gets really bad.&rdquo;","&ldquo;I understand that by taking this medication, I am now an addict.&rdquo;","&ldquo;I will make my next appointment a week before I need a refill on my prescription.&rdquo;")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest017 = new Question(
"Question 17",
0,
"A 62-year-old woman is receiving sustained-release morphine (MS Contin) 15 mg twice a day for the management of pain. The pain management nurse knows that this patient understands the use of the medication when the patient says:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("calls the physician to increase the dose to 2 tablets.","contacts the physician to discuss modifications to the treatment plan.","explains to the patient that the next dose of analgesic is not due for 4 hours.","immediately administers a second dose of Tylenol #3.")
corr=new Array("0","1","0","0")
comm=""
valu=""
quest018 = new Question(
"Question 18",
0,
"A 72-year-old man with severe scoliosis is undergoing staging procedures to straighten his neck. The physician ordered acetaminophen with codeine (Tylenol #3), 1 tablet by mouth every 6 hours as needed for pain. Two hours after receiving a Tylenol #3 tablet, the patient reports a neck pain neck which he rates as 8 on a numeric pain scale of 0 to 10. The nurse:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("analgesic titration.","empathy.","independence.","patient advocacy.")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest019 = new Question(
"Question 19",
0,
"A 73-year-old male patient with cancer is in the hospital for pain control and rates his pain as 12 on a numeric pain scale of 0 to10. Thirty minutes after administering IV pain medication, the patient reports no pain relief. The pain management nurse calls the physician for additional orders for pain medication. The nurse's actions demonstrate:",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

resp=new Array("Educating the medical staff","Lobbying for administrative support","Selecting several pain rating scales","Using an interdisciplinary approach")
corr=new Array("0","0","0","1")
comm=""
valu=""
quest020 = new Question(
"Question 20",
0,
"What quality improvement strategy is most likely to succeed when changing existing system practices which interfere with effective pain management?",
resp,
comm,
corr,
"",
valu,
1,
0,
0,
"");

questions = new Array (
quest001,quest002,quest003,quest004,quest005,quest006,quest007,quest008,quest009,quest010,quest011,quest012,quest013,quest014,quest015,quest016,quest017,quest018,quest019,quest020)

function doQuestion(quest)
{
var numdo;
var numord=eval(quest+1);
var i=-1, ii, type, myname, gadget;
type=questions[quest].type;
numdo=type>=3?1:questions[quest].response.length;


document.writeln ("<a name=\""+questions[quest].qname+"\"></a>")
document.write("\n")
document.write("       ")
if (questions[quest].img!="") {
document.write("\n")
document.write("          <p><img border=\"0\" src=\"")
document.write(questions[quest].img)
document.write("\"></p>\n")
document.write("       ")
}
document.write("\n")
document.write("       <p><small><font face=\"Verdana,Arial\">")
document.write(numord)
document.write(". ")
document.writeln(questions[quest].qstring)
document.write("</font></small></p>\n")
document.write("       ")
for (i=0; i<numdo; i++) {
myname=questions[quest].qname;
gadget="radio";
if (type>=3) gadget="text";
else if (type==1) {
myname+="_"+(i<9?"0":"")+(i+1);
gadget="checkbox";}
document.write("\n")
document.write("          ")
document.write(type==7?"<textarea name=\""+myname+"\" rows=5 cols=30 class=\"input\">":" <input type="+gadget+" name=\""+myname);
if (type<3) document.write("\" value=\""+i+"\">\n")
else document.write(type==7?"</textarea>":"\" class=\"input\" value=\"\">\n")
document.write(" <small><font face=\"Verdana,Arial\">")
if (type<3) document.write(questions[quest].response[i]);
document.write("</font></small><br>\n")
document.write("       ")
}
document.write("\n")
document.write("    ")
}
function doTest() {
var count, i;

count=questions.length;
for (i=0; i<count; i++) doQuestion(i);
}
function fill(s,l){
s=s+""
for (y=1;y<=l;y++)
if (s.length>=l) break; else s="0"+s;
return s
}
function CheckQName(wapf,ii,i,multi,selection){
var len;
if (!multi) return(wapf.elements[ii].name==questions[i].qname);
len=questions[i].qname.length;
if (wapf.elements[ii].name.substring(0,len)!=questions[i].qname) return false;
if (wapf.elements[ii].name.substring(len,len+1)!="_") return false;
if (eval(wapf.elements[ii].name.substring(len+1,len+3))==(selection+1)) return true;
return false;
}
function errore(uno,due,tre)
{
if (!errori) global[1]="<H3>You have made the following errors</H3>";
++errori;
cachewrite("<p><b>"+uno+"</b><br>"+due+"<br>"+mycomment+tre+"</p>",2);
mycomment="";
}
function testIE5plus(){
var pos=navigator.appVersion.lastIndexOf('MSIE ');
if (pos != -1) {
pos+=5;
if (eval(navigator.appVersion.charAt(pos))>4)
return true;}
return false;}
function correct(wapf)
{
var i, ii, t, re, tmp, selection, multi, multipage=0, type, isnull, iswrong, iscorrect, evaluation=0, total=0, udat;
errori=waitTime=0;
udat=new Array();
for (i=0, ii=0; i<wapf.elements.length; i++)
{tmp=wapf.elements[i];
if (tmp.name.substring(0,13)=="Quiz.UserData"){
t=tmp.name.substring(14,tmp.name.length);
re=new RegExp("_", "g");
t=t.replace(re," ");
udat[ii++]=t+": <i>"+tmp.value+"</i><br>";
if (opera) tmp.value="";}}
global[0]=global[2]="";
global[1]="<h3>Congratulations, you haven't made any errors</h3>";
cachewrite("<html><head><title>Results</title><BASE target='_blank'></head><body bgcolor='#FFFFFF'><font face='Verdana, Arial'><table border=0 cellpadding=0 cellspacing=0 width='100%' bgcolor='#C0C0C0'><tr><td width='100%'><font face='Verdana, Arial' size=5 color='#FFFFFF'><b>&nbsp;Results</b></font></td></tr></table>",0)
now= new Date()
cachewrite("<small><p>"+fill((now.getMonth()+1),2)+"/"+fill(now.getDate(),2)+"/"+now.getYear()+"&nbsp;&nbsp;"+fill(now.getHours(),2)+":"+fill(now.getMinutes(),2)+"</p>",0)
cachewrite("<b>Pain Management Sample Test</b><br><br>\n",0);
if (udat.length>0) {
cachewrite("<b>Information</b><br>\n",0);
for (i=0; i<udat.length; i++) cachewrite(udat[i],0);}
if (opera7 && multipage) {
for (i=0; i<questions.length; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.display=id2.style.display="block";}}

for (i=0; i<questions.length; i++) {
if (opera && multipage) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
id.style.visibility=id2.style.visibility="visible";}
type=questions[i].type;
if (type==1) multi=1;
else multi=0;
isnull=true;
iscorrect=false;iswrong=false;
selection=0;
evaluation=0;
mycomment="";
for (ii=0; ii<wapf.elements.length; ii++) {
if (CheckQName(wapf,ii,i,multi,selection)) {
if (type>=3 && wapf.elements[ii].value!="") {
isnull=false;
if (wapf.elements[ii].value.toLowerCase()==questions[i].corrects.toLowerCase()) iscorrect=true;
else iswrong=true;
++selection;}
else if (wapf.elements[ii].checked) {
if (questions[i].score!="") evaluation+=questions[i].score[selection];
if (isnull) isnull=false;
if (questions[i].corrects[selection]=="1") iscorrect=(iswrong==false)?true:false;
else {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  shouldn't have been selected.",questions[i].explan)
}
if (questions[i].comment!="" && questions[i].comment[selection]!="")
mycomment+=((iscorrect || questions[i].corrects=='')?"<b>"+questions[i].qname+"</b><br>":"")+"<small>"+questions[i].comment[selection]+"</small><br>";
} else {
if (questions[i].corrects[selection]=="1") {
iswrong=true;
if (multi && questions[i].corrects!='') errore(questions[i].qname,"The checkbox  <i>"+questions[i].response[selection]+"</i>  should have been selected.",questions[i].explan);
}}
++selection;
}}
if (multi==false && (isnull || iswrong)) {
var okresp="", z;
if (type>=3) okresp=questions[i].corrects;
else {
for (z=0; z<questions[i].corrects.length; z++) {
if (questions[i].corrects[z]==1) {
okresp=questions[i].response[z];
break;
}}}
if (okresp!="") errore(questions[i].qname,"The right answer was <i>"+okresp+".</i>",questions[i].explan);
}
if (mycomment!="") cachewrite(mycomment,2);
if (questions[i].corrects!="") ++qright;
if (isnull) evaluation+=questions[i].ifnull;
else if (iswrong) evaluation+=questions[i].ifwrong;
else if (iscorrect) evaluation+=questions[i].ifcorrect;
total+=evaluation;}
if (qright==0) global[1]="<br>";
if (errori) cachewrite("<br><b>You have made "+errori+" "+(errori==1?"error":"errors")+".</b>",2);
cachewrite("<br><b>Total score: "+total+".</b><br>",2);

cachewrite("</small><hr noshade><center><form>",2)
printest=(((navigator.appName=="Netscape") && (navigator.appVersion.charAt(0)>="4")) || (testIE5plus() == true))? "print()": "alert('This button can be used with Netscape Navigator 4 or Microsoft Internet Explorer 5 only. If you want to print with other browsers, please select the Print command in the File menu.')"
cachewrite("<input type='button' value='Print...' onClick='"+printest+"'>&nbsp;&nbsp;&nbsp;&nbsp;",2)
cachewrite("<input type='button' value='Back' onClick='history.back()'></form></center>",2)
cachewrite(aknw,2)
winr=window
for (i=0; i<3; i++) winr.document.write(global[i]);winr.document.close()
if ((opera || opera7) && multipage) {
document.forms[0].elements[0].value='Print...';
document.forms[0].elements[1].value='Back';
for (i=0; i<questions.length-1; i++) {
id=document.getElementById("q"+(i+1));
id2=document.getElementById("q"+(i+1)+"a");
opera?id.style.visibility=id2.style.visibility="hidden":id.style.display=id2.style.display="none";}}
}
aknw="<br><p align='center'><small><small>Created and managed with <a title='Click here to visit WebQuiz site' href='http://www.smartlite.it/go.asp?OLDLP' target = '_blank'>SmartLite WebQuiz</a></small></small></p>"
