Class ScriptDatum
The Timestamp field of a ScriptDatum indicates the time when the particular input (e.g., text box) was completed by the user. Compare this with LocationTimestamp, RunTimestamp, and SubmissionTimestamp.
When a user submits a survey, a ScriptDatum object is submitted for each input in the survey (e.g., each text entry, multiple-choice item, etc.). However, if the user does not submit the survey, no such objects will be submitted. As a means of tracking the deployment and response/non-response of surveys, Sensus also submits additional ScriptStateDatum objects to track the lifecycle of each Script.
Implements
Inherited Members
Namespace: Sensus.Probes.User.Scripts
Assembly: SensusAndroid.dll
Syntax
public class ScriptDatum : Datum, IDatum
Constructors
ScriptDatum(DateTimeOffset, String, String, String, String, String, Object, String, Nullable<Double>, Nullable<Double>, Nullable<DateTimeOffset>, DateTimeOffset, List<InputCompletionRecord>, DateTimeOffset)
Declaration
public ScriptDatum(DateTimeOffset timestamp, string scriptId, string scriptName, string groupId, string inputId, string runId, object response, string triggerDatumId, Nullable<double> latitude, Nullable<double> longitude, Nullable<DateTimeOffset> locationTimestamp, DateTimeOffset runTimestamp, List<InputCompletionRecord> completionRecords, DateTimeOffset submissionTimestamp)
Parameters
Type | Name | Description |
---|---|---|
System.DateTimeOffset | timestamp | |
System.String | scriptId | |
System.String | scriptName | |
System.String | groupId | |
System.String | inputId | |
System.String | runId | |
System.Object | response | |
System.String | triggerDatumId | |
System.Nullable<System.Double> | latitude | |
System.Nullable<System.Double> | longitude | |
System.Nullable<System.DateTimeOffset> | locationTimestamp | |
System.DateTimeOffset | runTimestamp | |
System.Collections.Generic.List<InputCompletionRecord> | completionRecords | |
System.DateTimeOffset | submissionTimestamp |
Properties
CompletionRecords
A trace of user activity for the Input that generated this Script. This is enabled by setting StoreCompletionRecords.
Declaration
public List<InputCompletionRecord> CompletionRecords { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<InputCompletionRecord> | The completion records. |
DisplayDetail
Declaration
public override string DisplayDetail { get; }
Property Value
Type | Description |
---|---|
System.String |
Overrides
GroupId
Identifier for the InputGroup containing the Input that generated this ScriptDatum. In the UI, an InputGroup is rendered as a page of survey items. This identifier does not change across invocations of the Script.
Declaration
public string GroupId { get; set; }
Property Value
Type | Description |
---|---|
System.String | The group identifier. |
InputId
Identifier for the Input that generated this ScriptDatum. This identifier does not change across invocations of the Script.
Declaration
public string InputId { get; set; }
Property Value
Type | Description |
---|---|
System.String | The input identifier. |
Latitude
Latitude of GPS reading taken when user submitted the Script (if enabled).
Declaration
[DoubleProbeTriggerProperty]
[Anonymizable]
public Nullable<double> Latitude { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> | The latitude. |
LocationTimestamp
Timestamp of GPS reading (if enabled).
Declaration
public Nullable<DateTimeOffset> LocationTimestamp { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.DateTimeOffset> | The location timestamp. |
Longitude
Longitude of GPS reading taken when user submitted the Script (if enabled).
Declaration
[DoubleProbeTriggerProperty]
[Anonymizable]
public Nullable<double> Longitude { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> | The longitude. |
Response
User's response to an Input within a particular invocation of a Script. The Response will be empty (null) when the user does not respond to the Input. Even when Required is enabled, the user is still allowed to skip the Input after a warning message, resulting in a null Response. The only way to ensure a non-empty Response is to enable ForceValidInputs; however, this is not generally recommended as it is bad practice to lock user's into particular UI screens.
Declaration
public object Response { get; set; }
Property Value
Type | Description |
---|---|
System.Object | The response. |
RunId
Identifier for a particular invocation of a Script. This identifier changes for each new invocation of a Script. Use this identifier to tie together all generated ScriptDatum values for a single run of the Script.
Declaration
public string RunId { get; set; }
Property Value
Type | Description |
---|---|
System.String | The run identifier. |
RunTimestamp
Timestamp of when a Script was made available to the user for completion.
Declaration
public DateTimeOffset RunTimestamp { get; set; }
Property Value
Type | Description |
---|---|
System.DateTimeOffset | The run timestamp. |
ScriptId
Identifier for the Script within the Protocol that produced this ScriptDatum. This identifier does not change across invocations of the Script. Compare this with RunId, which identifies a particular invocation of a Script.
Declaration
public string ScriptId { get; set; }
Property Value
Type | Description |
---|---|
System.String | The script identifier. |
ScriptName
Descriptive name for the Script that generated this ScriptDatum.
Declaration
public string ScriptName { get; set; }
Property Value
Type | Description |
---|---|
System.String | The name of the script. |
StringPlaceholderValue
Gets the string placeholder value, which is the user's response.
Declaration
public override object StringPlaceholderValue { get; }
Property Value
Type | Description |
---|---|
System.Object | The string placeholder value. |
Overrides
SubmissionTimestamp
Timestamp of when the user tapped the Submit button on the survey form.
Declaration
public DateTimeOffset SubmissionTimestamp { get; set; }
Property Value
Type | Description |
---|---|
System.DateTimeOffset | The submission timestamp. |
TriggerDatumId
If the Script is triggered by a Datum from another Probe, then this is the Id of the triggering Datum.
Declaration
[Anonymizable]
public string TriggerDatumId { get; set; }
Property Value
Type | Description |
---|---|
System.String | The trigger datum identifier. |
Methods
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
System.String |