MICS Data Processing Workshop Data Entry Application
Advancing Through a Field There are two ways to advance through a field in CSPRO: – Protected fields if a field on a form is protected, the data entry operator cant enter it; the value must be set by the data entry application – The noinput command (used in fields preproc) going forward, the data entry operator cant enter the field; a value must be assigned in the DE application going backward, the field can be entered; thus, need a postproc check that the value has not been changed
Questionnaire Skips Using NOINPUT A few variables (e.g. HL6) are skipped by a noinput command in their preproc and a value is assigned to the var by the application If the data entry operator moves backward into these field however, he/she can change the value entered by the application Thus, a check must be included in the postproc to prevent this from being done
Questionnaire Filters Filters have a number on the questionnaire but generally do not appear in the dictionary (e.g., TT4) These filters are therefore implemented in the procedure of – the postproc of the variable that precedes them – the preproc of the variable that follows them TT4 is implemented in the postproc of TT3
Controlling the Number of Individual Questionnaires CSPRO will add level 2 questionnaires until it is forced to stop by an endlevel command Logic ensuring that the correct number of level 2 questionnaires are entered is located in – the preproc of HH – the preproc and postproc of WMCH This code does not need to be modified
Customizing your application Once you have customized your dictionary and forms – Remove obsolete logic – Fix other compilation errors – Correct any erroneous skips – Check data entry path – Add checks for new variables/modules
Common Compile Error Messages Problem: Forgot to declare working variable – ERROR: varname' not declared - Declare it, or use 'SET IMPLICIT', in PROC GLOBAL – Solution: Declare it at the top of PROC GLOBAL Problem: Forgot ; at the end of a line – ERROR: Operator or semicolon expected near line 3 in INFO2 procedure
Common Compile Error Messages Problem: Deleted module/variable in dictionary that had logic – ERROR: Ambiguous 'PROC INFO5' - please provide qualifiers enough to avoid ambiguity – Solution: Delete obsolete logic placed at the end of global proc – Warning: Once deleted it is hard to add back in!