Do I need a different segment for every field I want to capture data for?

No, one segment can contain all the checkboxes and barcode reader areas as you want for a single page. This includes things such as both the student id bubbles and the questions themselves.

The purpose of the segment is for two things:

  1. To allow you to reuse banks of questions or "parts" of a form.

  2. When publishing a Form ID publication, to allow you to display a pre-selected segment (bank of questions or instance) based on the source data information (such as a student's skill level, eg. skill_level = 3 - show segment 3 for that student, skill_level = 2 - show segment 2).

The purpose of the segment barcodes (at the top right and bottom left of a segment once it's placed in a form) is to give FormReturn the scaled locations of the checkboxes and barcode reader areas.