|
|
|
|
|
|
|
|
Using the PalmPilot to quit smoking (continued)
The researchers at the University of Pittsburgh (mostly doctoral candidates in Psychology) aren't software developers and don't want to learn how to generate forms on the PalmPilot (even using a 4GL tool). What they know is smoking cessation and how to interview logically. We designed RTSurvey with this in mind.
From a script, researchers write a QUESTION statement to define an interview question, its visual representation on the PalmPilot, and the nature of the resulting data. For example:
QUESTION "D73 SLIDER "<l><c>- THOUGHTS ABOUT SMOKING -" "<c>Smoking would...<p><c>Help me relax if I were angry<p><c>or nervous ?" "Help Text" "YES!!", "", "NO!!", 11
|
RTSurvey interprets this statement and generates the user interface on the fly. Figure B shows the screen RTSurvey generates from this script data.
FIGURE B
 
RTSurvey generates the user interface from simple scripts. Roll over picture for a larger image.
The dynamic UI (user-interface) engine determines the best interface layout, and does so in a consistent manner (to reduce the subject's learning curve and confusion). You can specify the type of UI element to be used (SLIDER here, representing a "slider" control). As the subject responds to questions, RTSurvey stores the response values in named variables (D73 here) that you can reference later in the script. Variables are type-independent and can be converted between numeric and string values. The clinician can concatenate strings and string variables, and use them to build question text. Tags such as <l> and <c> allow you to control the text's appearance and location (<l> specifies a large font, <c> centers text, and <p> starts a new paragraph).
Interesting characteristics of SRG's scripts The script language includes control and logic flow capabilities, which was very important to SRG. The content of an interview changes based on time of day, the subject's previous behavior, and responses to previous questions in the interviews. SRG's interview also watches for bad data. For example, the application asks a series of questions about possible triggers that have caused the subject to smoke. At the end of the series, the application asks the subject to give the top trigger. The application tests this response to ensure that the top trigger was one of those previously mentioned.
SRG's application not only responds to subject-initiated events (such as when the subject records that she smoked a cigarette), but also has many scheduled events. Some of these events are scheduled at random times and initiate an interview of the subject on specific topics. To meet this requirement, we included an alarm and scheduling mechanism in RTSurvey. In a script, you can define an alarm for a specified time of day (or an elapsed interval) and specify which script to run when the alarm goes off. Further, RTSurvey allows the user to schedule alarms, as shown in Figure C.
|
|
|
|
|
|
|
|
|
|
|