Form Designer

RequirementForm Designer (Introduction)
Section3.2.1
JIRA Task

EIR-57 - Getting issue details... STATUS

Introduction

As a suite of tools for collecting and analyzing- data, Epi Info™ 7 must support the creation of smart data entry forms that facilitate systematic data collection and perform data validation in real time. These steps are accomplished using Form Designer.  This module's functionality can be divided into two components.  First, Form Layout supports project origination, the structure and relationship of forms, and the selection and positioning of data entry fields on pages, their properties and tab order. Second, Check Code, specifies  the needed input validation, skip patterns, automatic calculation of data, and intelligent field navigation.

Starting with an empty canvas, the user can select data-entry fields including text fields, pull-down menus, check boxes, and radio buttons, as well as a graphic, calendar-driven fields for entering dates and auto-formatting fields for entering data such as phone numbers and times. Titles and supporting text can be added to the form; data fields can be grouped, arranged, and aligned to enhance the form's readability and aesthetics.  A form can contain one or more pages, each corresponding to a database table to be populated using the Enter (data entry) module and processed by Classic Analysis or Visual Dashboard


Form Layout

The Form Layout component of Form Designer enables the user to select and position user input fields, text and simple graphics (generically referred to as "fields") on a canvas to create questionnaires that facilitate accurate and systematic data collection. Mechanisms for receiving user input include simple text-entry fields configured for alphanumeric, numeric, multi-line text, images, as well as formatted fields for specific data types including date, time, and telephone numbers. Other input devices include menus and checkboxes that allow users to select a legal value from a list, checkboxes, which toggle Boolean variables, and even menus in which the value selected determines the available values in other menus. Form Designer also supports other "fields" that do not take user input but serve other functions. There are text boxes that can serve as form titles, labels or explanatory text, mechanisms to group other fields together so they can be addressed as a unit, and buttons that can trigger other actions using Check Code or load "related" forms, enabling the user to construct meta-forms from prefabricated components. Each form page serves as a template for populating a database table when used with the Enter module.

Check Code

Check Code is a component of Form Designer that allows the user to specify the business logic behind the form, enabling smart navigation, data validation, and other useful features. Whereas Form Layout enables the user to select, place and define the properties of individual fields, Check Code controls the interaction and relationships between them. Check Code is most commonly used to skip or disable fields based on data entered but it can also assign values to variables, search for redundant entries, convert addresses to geospatial coordinates, trigger dialogs and execute external programs, all in response to user actions such as selecting a field, entering data into it, or clicking on a button or checkbox. Check Code greatly increases the power and potential of Epi Info™ 7 and is a logical entry point for future developers seeking to add new functionality.