Hello,
i have an application with a csp page that has a text area for the user to
type in a report. after the report is typed there are several buttons for
the user to choose from depending on what they need to do (ie: print, fax,
create a letter) the report also gets stored in the data base. the buttons
are all connected to class methods. the problem is once the user goes past
1800 characters (approximatly)the buttons no longer work in internet
explorer. however everything still works fine in Mozilla. not being able to
use IE will be a problem with atleast some of our customers. anyone have any
ideas how to deal with this?
i'll cut and past my class and csp page into this post in case that helps.


csp page:

<html>

<head>

<title>Dictate</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<csp:class private=1>

<body bgcolor="#FFFFFF" text="#000000">

<div id="Layer1" style="position:absolute; width:106px; height:468px;
z-index:1; left: 7px; top: 84px">

<p><font size="4"><b><a href="Cases.csp">Office Visits</a></b></font></p>

<p>&nbsp;</p>

<p><b><font size="4"><a href="PatDataLookup.csp">Patient
Lookup</a></font></b></p>

<p>&nbsp;</p>

<p><b><font size="4"><a href="PhysLookup.csp">Referring Physician
Lookup</a></font></b></p>

<p>&nbsp;</p>

<p><b><font size="4"><a href="PhysAdd.csp">Add Referring
Physician</a></font></b></p>

<p>&nbsp;</p>

<p><b><font size="4"><a href="AddUser.csp">Add User</a></font></b></p>

</div>

<csp:QUERY NAME="PhysName" CLASSNAME="MikeRIS2.Physician"
QUERYNAME="PhysLookUp">

<csp:QUERY NAME="dictate" CLASSNAME="MikeRIS2.Visit" QUERYNAME="PatDat"
p1=#(%request.Data("AccessionNumber",1))#>

<div align="center">

<p><font color="#000099"><b><font size="+4">Dictate </font></b></font></p>

<p><b><font size="4" color="#000000">Dictate an office note or
letter</font></b></p>

<table border="1" width="683">

<csp:while Condition="dictate.Next()">

<tr>

<td height="37">

#(dictate.Get("AccessionNumber"))#

</td>

<td height="37">

#(dictate.Get("PatientID"))#

</td>

<td height="37">

#(dictate.Get("PersonInfo_FirstName"))#

</td>

<td height="37">

#(dictate.Get("PersonInfo_LastName"))#

</td>

</tr>

</csp:while>

</table>

</div>





<form name="Dictate" action="NewDictate.csp">

<center>

<input type="hidden" name="AccessionNumber"
value="#(%request.Data("AccessionNumber",1))#">

<table border="0" cellpadding="0" width="270" height="151">

<tr>

<td height="394">&nbsp;</td>

<td height="394">





<textarea name="Report" cols="90" rows="25">#(Report)#</textarea>

</td>

</tr>

<tr>

<td colspan="2" align="center">

<select name="PhysList" size="1">

<option value="*" selected>Add Ref Phys</option>

<csp:while condition="PhysName.Next()">

<option
value=#(PhysName.Get("PhysicianNumber"))#>#(PhysName.Get("GenInfo_FirstName"
))# #(PhysName.Get("GenInfo_LastName"))#</option>

</csp:while>

</select>

<input type="submit" name="submit10" value="Add">

</td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" name="submit11"
value="Office Note">

<input type="submit" name="submit2" value="2 Office Notes">

</td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit" name="submit3" value="Print Letter">

<input type="submit" name="submit32" value="Print/Fax Letter">

</td>

</tr>

<tr>

<td colspan="2" align="center"><input type="submit" name="submit12"
value="Office Note/Letter">

<input type="submit" name="submit4" value="Office Note/Letter/Fax">

</td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit" name="submit100" value="TestButton">


</td>

</tr>

<tr>

<td colspan="2" align="center">&nbsp;</td>

</tr>

</table>

</center>


</form>


<script language="cache" method="OnPreHTTP" arguments=""
returntype="%Boolean">

if %request.Get("submit10")="Add"

{

do ##class(MikeRIS2.Visit).RefPhys()

}


if %request.Get("submit11")="Office Note"

{

do ##class(MikeRIS2.Visit).OfficeNote()

}


if %request.Get("submit2")="2 Office Notes"

{

do ##class(MikeRIS2.Visit).OfficeNote2()

}


if %request.Get("submit3")="Print Letter"

{


do ##class(MikeRIS2.Visit).Letter()


}


if %request.Get("submit32")="Print/Fax Letter"

{


do ##class(MikeRIS2.Visit).Letter()

do ##class(MikeRIS2.Visit).Fax()

}


if %request.Get("submit12")="Office Note/Letter"

{


do ##class(MikeRIS2.Visit).Letter()

do ##class(MikeRIS2.Visit).PrintNote()

}

if %request.Get("submit4")="Office Note/Letter/Fax"

{


do ##class(MikeRIS2.Visit).Letter()

do ##class(MikeRIS2.Visit).PrintNote()

do ##class(MikeRIS2.Visit).Fax()

}


if %request.Get("submit100")="TestButton"

{


do ##class(MikeRIS2.Visit).TestPage()


}


if %request.Get("submit")="test"

set ID=""

set Report=""



</script>

</body>

</html>









class:

Class MikeRIS2.Visit Extends %Persistent [ ClassType = persistent,
ProcedureBlock ]

{

Property AccountNumber As %String;

Property RefPhys2 As Physician;

Property RefPhys3 As Physician;

Property RefPhys4 As Physician;

Property RefPhys5 As Physician;

Property StartTime As %TimeStamp;

Property Surgeon As Surgeon;

Property AdmitDateTime As %TimeStamp;

Property DischargeDateTime As %TimeStamp;

Property Report As %String(MAXLEN = 32000);

Property AccessionNumber As %String [ Required ];

Property ApptDateTime As %TimeStamp;

Property ObservationDateTime As %TimeStamp;

Property ObservationEndDateTime As %TimeStamp;

Property PatInfo As Patient2;

Property PatNumber As %String;

Property RefPhysician As Physician [ Collection = array ];

Property ReportType As %String;

Property RefPhys1 As %String;

Property RequestedDateTime As %TimeStamp;

Property ScheduledDateTime As %TimeStamp;

Property SignDateTime As %String;

Property Technician As %String;

Property Signer As %String;

Index AccessionNumberIndex On AccessionNumber [ IdKey, PrimaryKey, Unique ];

Index PatNumberIndex On PatNumber;

ClassMethod Fax()

{

set acc=%request.Get("AccessionNumber")

set uname=%session.Get("user")



&sql(DECLARE SgCurs Cursor for SELECT UserName, Sig, LName

FROM MikeRIS2.SysUser

WHERE UserName=:uname)

&sql(open SgCurs)

&sql(fetch SgCurs into :UserName, :Sig, :lname)

&sql(close SgCurs)





do FaxStuff




FaxStuff

&sql(DECLARE rCurs CURSOR for SELECT Phys.RefPhysician->PhysicianNumber,

Phys.RefPhysician->GenInfo_LastName, Phys.RefPhysician->GenInfo_FirstName,

Phys.RefPhysician->GenInfo_AddressLine2,
Phys.RefPhysician->GenInfo_StreetAddress,

Phys.RefPhysician->GenInfo_City, Phys.RefPhysician->GenInfo_State,

Phys.RefPhysician->GenInfo_ZipCode, Phys.RefPhysician->FaxNumber,
Vis.AccessionNumber

FROM MikeRIS2.Visit_RefPhysician Phys, MikeRIS2.Visit Vis

WHERE Vis.ID=:acc AND Phys.Visit=:acc)

&sql(open rCurs)

Do {&sql(fetch rCurs into :Pnum, :RLname, :RFname, :RAddLine2, :RSAdd,
:RCity, :RState,

:RZip, :FaxNumber, :Anum )

set sqlcd1=SQLCODE


&sql(DECLARE FaxCursor CURSOR for SELECT PatInfo->PersonInfo_FirstName,

PatInfo->PersonInfo_LastName, PatInfo->PatientID, AccessionNumber, Report,

ApptDateTime, Surgeon->FirstName, Surgeon->LastName, Surgeon->SurgNumber,

PatInfo->MedicalRecordNumber

FROM MikeRIS2.Visit WHERE AccessionNumber= :acc)

&sql(open FaxCursor)

&sql(fetch FaxCursor into :FName, :LName, :PID, :ANumb, :Rep, :ApptDateTime,

:SFName, :SFLName, :SNumb, :MedicalRecordNumber)

&sql(close FaxCursor)


set faxtpdf=##Class(Activate.PDFlibucom.PDF).%New()

// do faxtpdf.openufile("c:\faxout\"_Pnum_acc_"@F211"_FaxNumber_"@.pdf")

do faxtpdf.openufile("c:\faxout\"_Pnum_acc_"@F211"_"6102796208"_"@.pdf")

do faxtpdf.beginupage(595,842)

set font=faxtpdf.findfont("Helvetica-Bold","winansi",0)

do faxtpdf.setfont(font,12)


set TodayDate=$ZDATETIME($HOROLOG)

set report=(%request.Get("Report"))


do faxtpdf.setutextupos(400,750)

do faxtpdf.continueutext(TodayDate)


do faxtpdf.setutextupos(50,650)

do faxtpdf.continueutext(RFname_" "_RLname)

do faxtpdf.continueutext(RSAdd)

do faxtpdf.continueutext(RAddLine2)

do faxtpdf.continueutext(RCity_", "_RState_" "_RZip)


do faxtpdf.setutextupos(50,575)

do faxtpdf.continueutext("Dear "_RFname_":")


do
faxtpdf.showuboxed(report_$c(13,28)_$c(13,28)_$c(13,28)_$c(13,28)_Sig,50,25,
490,500,"justify","")


//do faxtpdf.rect(50,625,490,20)

//do faxtpdf.stroke()

//do faxtpdf.showuboxed(report,50,25,490,600,"justify","")


//do faxtpdf.rect(50,25,490,600)

//do faxtpdf.stroke()


do faxtpdf.endupage()

do faxtpdf.close()

set %response.ServerSideRedirect="Cases.csp"


}WHILE sqlcd1'=100

&sql(close rCurs)

}

ClassMethod Letter()

{

set acc=%request.Get("AccessionNumber")

set uname=%session.Get("user")



&sql(DECLARE SigCurs Cursor for SELECT UserName, Sig, LName

FROM MikeRIS2.SysUser

WHERE UserName=:uname)

&sql(open SigCurs)

&sql(fetch SigCurs into :UserName, :Sig, :lname)

&sql(close SigCurs)



set repins=##class(MikeRIS2.Visit).%OpenId(acc)

if repins'="" {

set t=$ZDATETIME($HOROLOG)

set repins.Report=%request.Get("Report")

set repins.ReportType="Letter"

set repins.Signer=lname

set repins.SignDateTime=t

set sr=repins.%Save()

do LetterStuff

}



LetterStuff

&sql(DECLARE ArCurs CURSOR for SELECT Phys.RefPhysician->PhysicianNumber,

Phys.RefPhysician->GenInfo_LastName, Phys.RefPhysician->GenInfo_FirstName,

Phys.RefPhysician->GenInfo_AddressLine2,
Phys.RefPhysician->GenInfo_StreetAddress,

Phys.RefPhysician->GenInfo_City, Phys.RefPhysician->GenInfo_State,

Phys.RefPhysician->GenInfo_ZipCode, Phys.RefPhysician->FaxNumber,
Vis.AccessionNumber

FROM MikeRIS2.Visit_RefPhysician Phys, MikeRIS2.Visit Vis

WHERE Vis.ID=:acc AND Phys.Visit=:acc)

&sql(open ArCurs)

Do {&sql(fetch ArCurs into :Pnum, :RLname, :RFname, :RAddLine2, :RSAdd,
:RCity, :RState,

:RZip, :FaxNumber, :Anum )

set sqlcd1=SQLCODE


&sql(DECLARE LetterCursor CURSOR for SELECT PatInfo->PersonInfo_FirstName,

PatInfo->PersonInfo_LastName, PatInfo->PatientID, AccessionNumber, Report,

ApptDateTime, Surgeon->FirstName, Surgeon->LastName, Surgeon->SurgNumber,

PatInfo->MedicalRecordNumber

FROM MikeRIS2.Visit WHERE AccessionNumber= :acc)

&sql(open LetterCursor)

&sql(fetch LetterCursor into :FName, :LName, :PID, :ANumb, :Rep,
:ApptDateTime,

:SFName, :SFLName, :SNumb, :MedicalRecordNumber)

&sql(close LetterCursor)


// new font, testpdf

set testpdf=##Class(Activate.PDFlibucom.PDF).%New()

do testpdf.openufile("c:\PrintTest\"_Pnum_acc_".pdf")

do testpdf.beginupage(595,842)

set font=testpdf.findfont("Helvetica-Bold","winansi",0)

do testpdf.setfont(font,12)


set TodayDate=$ZDATE($H)

set report=(%request.Get("Report"))


do testpdf.setutextupos(400,750)

do testpdf.continueutext(TodayDate)


do testpdf.setutextupos(50,650)

do testpdf.continueutext(RFname_" "_RLname)

do testpdf.continueutext(RSAdd)

do testpdf.continueutext(RAddLine2)

do testpdf.continueutext(RCity_", "_RState_" "_RZip)


do testpdf.setutextupos(50,575)

do testpdf.continueutext("Dear "_RFname_":")


do
testpdf.showuboxed(report_$c(13,28)_$c(13,28)_$c(13,28)_$c(13,28)_Sig,50,25,
490,500,"justify","")


//do testpdf.rect(50,625,490,20)

//do testpdf.stroke()

//do testpdf.showuboxed(report,50,25,490,600,"justify","")


//do testpdf.rect(50,25,490,600)

//do testpdf.stroke()


do testpdf.endupage()

do testpdf.close()


set %response.ServerSideRedirect="Cases.csp"



}WHILE sqlcd1'=100

&sql(close ArCurs)

}

ClassMethod OfficeNote()

{

s acc=%request.Get("AccessionNumber")

s repins=##class(MikeRIS2.Visit).%OpenId(%request.Data("AccessionNumber",1))

if repins'="" {

set repins.Report=%request.Get("Report")

set repins.ReportType="Office Note"

set sr=repins.%Save()

&sql(DECLARE FileCursor CURSOR for SELECT PatInfo->PersonInfo_FirstName,
PatInfo->PersonInfo_LastName,

PatInfo->PatientID, AccessionNumber, Report, ApptDateTime,
Surgeon->FirstName, Surgeon->LastName, Surgeon->SurgNumber,

PatInfo->MedicalRecordNumber

FROM MikeRIS2.Visit WHERE AccessionNumber= :acc)

&sql(open FileCursor)

&sql(fetch FileCursor into :FName, :LName, :PID, :ANumb, :Rep,
:ApptDateTime, :SFName, :SLName, :SNumb, :MedicalRecordNumber)

&sql(close FileCursor)

// new font, testpdf

set testpdf=##Class(Activate.PDFlibucom.PDF).%New()

do testpdf.openufile("c:\PrintTest\"_acc_".pdf")

do testpdf.beginupage(595,842)

set font=testpdf.findfont("Helvetica-Bold","winansi",0)

do testpdf.setfont(font,12)

do testpdf.setutextupos(50,700)

set TodayDate=$ZDATETIME($HOROLOG)

set report=(%request.Get("Report"))


do testpdf.showuboxed("Office Note Dictated on: "_TodayDate_" For
Appointment Date: "_ApptDateTime,50,650,490,20,"justify","")

do testpdf.showuboxed("Patient Name: "_FName_" "_LName_" Patient Number:
"_PID,50,625,490,20,"justify","")

do testpdf.showuboxed(report_$c(13,28)_$c(13,28)_"Dr. "_SFName_" "_SLName_"
"_SNumb,50,25,490,600,"justify","")

//do testpdf.showuboxed("Test",50,2,490,600,"justify","")


do testpdf.endupage()

do testpdf.close()

set %response.ServerSideRedirect="Cases.csp"

}

}

ClassMethod OfficeNote2()

{

s acc=%request.Get("AccessionNumber")

s repins=##class(MikeRIS2.Visit).%OpenId(%request.Data("AccessionNumber",1))

if repins'="" {

set repins.Report=%request.Get("Report")

set repins.ReportType="Office Note"

set sr=repins.%Save()

&sql(DECLARE FileCursor CURSOR for SELECT PatInfo->PersonInfo_FirstName,
PatInfo->PersonInfo_LastName,

PatInfo->PatientID, AccessionNumber, Report, ApptDateTime,
Surgeon->FirstName, Surgeon->LastName, Surgeon->SurgNumber,

PatInfo->MedicalRecordNumber

FROM MikeRIS2.Visit WHERE AccessionNumber= :acc)

&sql(open FileCursor)

&sql(fetch FileCursor into :FName, :LName, :PID, :ANumb, :Rep,
:ApptDateTime, :SFName, :SLName, :SNumb, :MedicalRecordNumber)

&sql(close FileCursor)

// new font, testpdf

set testpdf=##Class(Activate.PDFlibucom.PDF).%New()

do testpdf.openufile("c:\PrintTest\"_acc_".pdf")

do testpdf.beginupage(595,842)

set font=testpdf.findfont("Helvetica-Bold","winansi",0)

do testpdf.setfont(font,12)

do testpdf.setutextupos(50,700)

set TodayDate=$ZDATETIME($HOROLOG)

set report=(%request.Get("Report"))


do testpdf.showuboxed("Office Note Dictated on: "_TodayDate_" For
Appointment Date: "_ApptDateTime,50,650,490,20,"justify","")

do testpdf.showuboxed("Patient Name: "_FName_" "_LName_" Patient Number:
"_PID,50,625,490,20,"justify","")

do testpdf.showuboxed(report_$c(13,28)_$c(13,28)_"Dr. "_SFName_" "_SLName_"
"_SNumb,50,25,490,600,"justify","")

//do testpdf.showuboxed("Test",50,2,490,600,"justify","")


do testpdf.endupage()

do testpdf.close()


set testpdf2=##Class(Activate.PDFlibucom.PDF).%New()

do testpdf2.openufile("c:\PrintTest\"_acc_"2.pdf")

do testpdf2.beginupage(595,842)

set font=testpdf2.findfont("Helvetica-Bold","winansi",0)

do testpdf2.setfont(font,12)

do testpdf2.setutextupos(50,700)

set TodayDate=$ZDATETIME($HOROLOG)

set report=(%request.Get("Report"))


do testpdf2.showuboxed("Office Note Dictated on: "_TodayDate_" For
Appointment Date: "_ApptDateTime,50,650,490,20,"justify","")

do testpdf2.showuboxed("Patient Name: "_FName_" "_LName_" Patient Number:
"_PID,50,625,490,20,"justify","")

do testpdf2.showuboxed(report_$c(13,28)_$c(13,28)_"Dr. "_SFName_" "_SLName_"
"_SNumb,50,25,490,600,"justify","")

//do testpdf.showuboxed("Test",50,2,490,600,"justify","")


do testpdf2.endupage()

do testpdf2.close()

set %response.ServerSideRedirect="Cases.csp"

}

}

ClassMethod PrintNote()

{

s acc=%request.Get("AccessionNumber")



&sql(DECLARE FilCursor CURSOR for SELECT PatInfo->PersonInfo_FirstName,
PatInfo->PersonInfo_LastName,

PatInfo->PatientID, AccessionNumber, Report, ApptDateTime,
Surgeon->FirstName, Surgeon->LastName, Surgeon->SurgNumber,

PatInfo->MedicalRecordNumber

FROM MikeRIS2.Visit WHERE AccessionNumber= :acc)

&sql(open FilCursor)

&sql(fetch FilCursor into :FName, :LName, :PID, :ANumb, :Rep, :ApptDateTime,
:SFName, :SLName, :SNumb, :MedicalRecordNumber)

&sql(close FilCursor)

// new font, testpdf

set testpdf3=##Class(Activate.PDFlibucom.PDF).%New()

do testpdf3.openufile("c:\PrintTest\"_acc_"3.pdf")

do testpdf3.beginupage(595,842)

set font=testpdf3.findfont("Helvetica-Bold","winansi",0)

do testpdf3.setfont(font,12)

do testpdf3.setutextupos(50,700)

set TodayDate=$ZDATETIME($HOROLOG)

set report=(%request.Get("Report"))


do testpdf3.showuboxed("Office Note Dictated on: "_TodayDate_" For
Appointment Date: "_ApptDateTime,50,650,490,20,"justify","")

do testpdf3.showuboxed("Patient Name: "_FName_" "_LName_" Patient Number:
"_PID,50,625,490,20,"justify","")

do testpdf3.showuboxed(report_$c(13,28)_$c(13,28)_"Dr. "_SFName_" "_SLName_"
"_SNumb,50,25,490,600,"justify","")

//do testpdf.showuboxed("Test",50,2,490,600,"justify","")


do testpdf3.endupage()

do testpdf3.close()

set %response.ServerSideRedirect="Cases.csp"

}

Query CaseTest(P1 As %String) As %SQLQuery

{

SELECT
AccessionNumber,PatInfo->PersonInfo_FirstName,PatInfo->PersonInfo_LastName,P
atNumber,Report,PatInfo->MedicalRecordNumber FROM Visit

WHERE (PatNumber %STARTSWITH :P1)

ORDER BY PatInfo->PersonInfo_LastName

}

ClassMethod RefPhys()

{


s acc=%request.Get("AccessionNumber")


s RefAdd=##class(MikeRIS2.Visit).%OpenId(acc)


set PhysNum=$G(%request.Data("PhysList",1))

set RefPhys=##class(MikeRIS2.Physician).%OpenId(PhysNum)

//set RefPhys=##class(MikeRIS2.Physician).%New()

do RefAdd.RefPhysician.SetObjectAt(RefPhys.%Oid(),PhysNum)

set reffile=##class(%File).%New("D:\SurgTestStuff\"_acc_PhysNum_".txt")

do RefAdd.%Save()

do RefAdd.%Close()

do RefPhys.%Close()

do reffile.Open("WSN")

do reffile.WriteLine("Testing")

do reffile.WriteLine(PhysNum)

do reffile.WriteLine(acc)

do reffile.%Close()

}

ClassMethod TestPage()

{

set testfile=##class(%File).%New("C:\PrintTest\test.txt")

do testfile.Open("WSN")

do testfile.WriteLine("Testing")

do testfile.%Close()

set %response.ServerSideRedirect="Cases.csp"

}

Query Cases() As %SQLQuery

{

SELECT
AccessionNumber,PatNumber,PatInfo->PatientID,PatInfo->PersonInfo_FirstName,P
atInfo->PersonInfo_LastName, ScheduledDateTime,
ApptDateTime,PatInfo->MedicalRecordNumber, Surgeon->LastName FROM Visit

WHERE (Report = "Report Not Dictated" AND ScheduledDateTime>"2004-07-19")

ORDER BY Surgeon->LastName, ScheduledDateTime, StartTime

}

Query History(P1 As %String) As %SQLQuery

{

SELECT
AccessionNumber,PatNumber,PatInfo->PatientID,PatInfo->PersonInfo_FirstName,P
atInfo->PersonInfo_LastName,Report,ReportType, PatInfo->MedicalRecordNumber,
SignDateTime, Signer FROM Visit

WHERE (PatNumber = :P1)

ORDER BY AccessionNumber

}

Query History3(P1 As %String, P2 As %String) As %SQLQuery

{

SELECT
AccessionNumber,PatNumber,PatInfo->PatientID,PatInfo->PersonInfo_FirstName,P
atInfo->PersonInfo_LastName,Report, PatInfo->MedicalRecordNumber FROM Visit

WHERE (PatNumber %STARTSWITH :P1)

}

Query NewQuery1() As %SQLQuery

{

SELECT AccessionNumber,RefPhys1 FROM Visit

}

Query PatDat(P1 As %String) As %SQLQuery

{

SELECT
AccessionNumber,PatNumber,PatInfo->PatientID,PatInfo->PersonInfo_FirstName,P
atInfo->PersonInfo_LastName, PatInfo->MedicalRecordNumber FROM Visit

WHERE (AccessionNumber = :P1)

}

Query PatNameHist(P1 As %String) As %SQLQuery

{

SELECT
AccessionNumber,PatNumber,PatInfo->PatientID,PatInfo->PersonInfo_FirstName,P
atInfo->PersonInfo_LastName,Report, PatInfo->MedicalRecordNumber FROM Visit

WHERE (PatInfo->PersonInfo_LastName %STARTSWITH :P1)

ORDER BY PatInfo->PersonInfo_LastName

}

}



Reply via email to