System Functions
Top  Previous  Next

SSI Web includes a number of functions that can be used to display information to the screen, within skip logic, within constructed list logic, and in other fields within the SSI Web menu system.

The "SSI Script" column below gives the syntax for System Functions.
         
SSI Script:
Description:
Answered(QuestionName)
Is true if the question was answered by the respondent, false otherwise.
More info
BlockPosition()
Returns the current block number when used within a Randomized Block sequence.
BooleanToNumber(Boolean)
Converts a variable of type "Boolean" to type "Number" for use in SSI Scripting.
Browser()
Returns information on respondent's browser.
CheckSelect(QuestionName, Value)
For use within Free Format questions. Returns the HTML for a checkbox, including the specific HTML compatible with Graphical Select buttons. More info.
Debug()
Returns debug information that assists you when testing the questionnaire.
DisplayTotal (FirstQuestionName, 
  LastQuestionName, Width)
Returns a grayed out box displaying the total of all questions beginning with FirstQuestionName and ending with LastQuestionName. Useful when using Free Format questions to implement custom constant sum CBC questions. May also be used for non-CBC questions.
EncodeForURL(QuestionName)
Converts characters that are not valid for use in URLs to URL-supported strings.
GraphicsPath()
Returns the system graphics path.

IPAddress()
Returns respondent's IP Address.
JavaScript()
Is true if they have JavaScript, false otherwise.
More info
Label(QuestionName)
Returns the label that is associated with the answer to a single select response type question.
LinkButton("URL")
Returns an HTML "submit" button (this helps in linking surveys).
NumberToBoolean(Number)
Converts a variable of type "Number" to type "Boolean" for use in SSI Scripting.
NumberToString(Number)
Converts a variable of type "Number" to type "String" for use in SSI Scripting.
NumChecked(QuestionName)
Returns number of response options checked. QuestionName can be a select checkbox (i.e. Q1), a row or column of checkboxes (i.e. Q1_r1 or Q1_c1), or a Free Format question (i.e. Q1_checked).
OperatingSystem()
Returns information on Respondent's operating system.
PageNumber()
Returns current page number.
PageTime(StartPage)
PageTime(StartPage, EndPage)
Returns the time (in milliseconds, or one one-thousandths of a second) between Startpage and Endpage (integer values). More info

PopUp("Link Text", "File.htm", Width, Height)
Returns the HTML for a JavaScript pop-up. File.htm is assumed to be in the graphics folder. Or, File.htm can be elsewhere if referenced with full http:// path. More info
ProgressBar()
Returns the progress bar to the screen. Typically placed in the Global Header or Global Footer.
ProgressBarOff()
Turns off the progress bar on the page where it is placed.
QuestionName()
Returns the name of the current question. May be used in Header 1, etc. sections, and also in skip patterns.
RadioSelect(QuestionName, Value)
For use within Free Format questions. Returns the HTML for a radio button, including the specific HTML compatible with Graphical Select buttons. More info.
RandNum(Seed)
RandNum(Seed, Min#, Max#)

Returns a random number. If one parameter is given, returns a uniform random decimal value between 0 and 1. If three parameters are given, returns a random integer value from Min# to Max#. Seed must be an integer.
More info.
RemovePrevious()
Removes the Previous button from the page where it is placed.
RespNum()
Returns the internal respondent number converted to an integer.
Shown(QuestionName)
Is true if the question has been seen by the respondent, or false if the question was not seen by the respondent.
More info

StringToNumber(String)
Converts a variable of type "String" to type "Number" for use in SSI Scripting.
Studyname()
Returns the name of a study.
SysRand()
SysRand(Min#, Max#)
Returns a random number seeded by the system clock (different seed every time instruction is encountered).
SystemTime() 
Returns a number representing the current time (number of non-leap seconds since January 1, 1970).
TabWidth()
Returns the global tab width specified in global settings
TotalPages()
Returns total number of pages in study.
UserAgent()
Returns respondent's User Agent.
Value(QuestionName)
Returns the value of the question as it is recorded in the STUDYNAMEdat.cgi file. More Info.


For additional flexibility in SSI Scripting, see the Unverified Perl documentation.



Notes on use of Value (QuestionName) function:

The Value (QuestionName) function returns the value of the question as recorded in the data file. It can be used with various questions:

·Numeric, Open-End or Select (radio) question types:  
[%Value(G3)%] where G3 is the name of a question  

·Select (check box) question types:  
[%Value(G3_1)%] where G3 is the name of a question, the number after the underscore indicates the response item#, and the value returned is "1" (checked) or "0" (not checked)  
 
·Grid question type  
[%Value(G3_r2_c3)%] where G3 is the name of a grid question, and the response is in a particular row (_r#) and column (_c#)