[EpiData-list] Emulating check boxes in Epidata Entry

epidata-list at lists.umanitoba.ca epidata-list at lists.umanitoba.ca
Thu Aug 20 20:26:14 CDT 2009


I have been working on a data entry form that was previously in Access. 
It has a lot of check box fields in Access (boolean fields that are 
represented on the screen by a box that alternates between being checked 
(true) and empty (false) when clicked.

There is a way to do this in Epidata, which can be useful when 
presenting a long list of symptoms/signs or exposures to be completed. 
The trick to doing this is to create Yes/No fields that cannot be 
entered using the tab or cursor keys. They can, however, be entered 
using the mouse. In this example, clicking in one of these fields will 
toggle the value of the field between "Y" and missing.

Perhaps others will find this useful.

Jamie Hockin


-------------- next part --------------
11 1 VLAB
_label1        1   1  30   0   0   0   0 112 Emulate check boxes
#id            1   3  30   4   3  12   5 112 id 
#age           1   5  30   5   5   0   2 112 age 
_sex           1   6  30   5   6   3   1 112 sex 
_label2        1   8  30   0   0   0   0 112 Check as many boxes as you want
_a             1  10  30   3  10   5   1 112 a 
_b             6  10  30   9  10   5   1 112  b 
_c            12  10  30  15  10   5   1 112  c 
#xnotused      1  12  30  10  12   0   1 112 xnotused 
#action        1  14  30   8  14   0   1 112 action 
_label3        9  14  30   0   0   0   0 112  Anything to finish up
1    12M Y   !
2    11FY Y  !
3    10MYY   !
-------------- next part --------------
* Emulate check boxes
age
 range 0 99
end
sex
 comment legal
  M Male
  F Female
 end
* this is the last field before the check boxes
* jump to the field beyond the check boxes
 goto action
end

* this is a checkbox field that can only be entered
* by clicking the cursor
* If Epidata gets to this field, it must be that the 
* user has clicked in the field. This means that the
* value of the field is toggled between Y and missing.
* Note that any other cycle of changes is possible
* Y to N to Y, Y to N to blank to Y, etc
* Just program the nested if ... then ... endif blocks
* These blocks MUST be NESTED and not sequential.

a
 before entry
  if a = "Y" then
   a = .
  else
   if a = . then
    a = "Y"
   endif
  endif
  goto action
 end
end

b
 before entry
  if b = "Y" then
   b = .
  else
   if b = . then
    b = "Y"
   endif
  endif
  goto action
 end
end

c
 before entry
  if c = "Y" then
   c = .
  else
   if c = . then
    c = "Y"
   endif
  endif
  goto action
 end
end

* This field is used to block going to field c
* with the cursor. Cursor UP from field ACTION will 
* come here and immediately go back to field ACTION

xnotused
 before entry
  goto action
 end
end
-------------- next part --------------
Emulate check boxes

id <idnum>

age ##
sex <A>

Check as many boxes as you want

a <Y> b <Y> c <Y>

xnotused #

action # Anything to finish up



More information about the EpiData-list mailing list