Introduction
The Data Entry component of Enter fulfills the module's primary function: the collection of data entered into the fields of a questionnaire and the storing of that information in the project's database. The data collected depend on the fields placed on the questionnaire during Form Layout. The process of collection is administered by Check Code. As data are entered, the cursor moves between fields according to the Tab Order and any (potentially data-dependent) deviations ordered by the underlying Check Code commands. Data are automatically saved when moving to a new page and when navigating to a new record or another existing record. If the user attempts to exit before the data are saved, the user is stopped and prompted with an opportunity to do so.
Open Enter
Objective
Given a form populated with fields and supporting check code (and an initialized database, see Section 3.2.1.1.4), open the form in Enter to enter data.
Preconditions
The user shall have a .prj
file containing a project with a form with information about its variables and layout.
Postconditions
The completed form is open in Enter, ready to accept the addition of a new database record.
Stimulus/Response Sequence
Open an Existing Project for Data Entry | ||
---|---|---|
1 | Stimulus: Response: | From the Epi Info™ 7 main menu, user clicks the "Enter Data" button. Enter program is executed and the Enter window opens. |
2 | Stimulus: . Response: | From the Enter window, user clicks "Open Form" from button bar or selects File→Open Form from menu bar or types Ctrl-O or selects File→Recent Forms and selects a project and form from the list. A dialog box labeled "Open Form" opens with a blank field labeled "Current Project," followed by a button labeled "Browse" and an empty multi-line field labeled "Forms." |
3 | Stimulus: Response: | User clicks the "Browse" button. A file browser opens on the |
4 | Stimulus: Response: | From the file browser, the user opens a project folder, then opens the file: The File browser closes. In the "Open Form" dialog, the "Current Project" field now contains the fully-qualified name of the selected |
5 | Stimulus: Response: | From the "Open Forms" dialog, the user selects a form from the list of names in the "Forms" field and clicks the "OK" button. The Data Table Properties dialog opens with pre-populated fields for Data Table Name and Starting ID. |
6 | Stimulus: Response: | From the Data Table Properties dialog, user may specify a custom table name and/or new starting ID. User clicks the "OK" button. The Enter window opens. The window consists of a menu bar and button bar along the top, with the remainder of the window divided into a large frame on the right and two smaller frames stacked on the left. The large frame contains a form page with a tab indicating page name. The remainder of the Enter window consists of the "Pages" frame that contains a tree browser with |
Functional Requirements
- The system shall enable the user to:
- open Enter from the main menu,
- use Enter either a standard or full screen mode, and
- browse the file system from Enter in order to locate and open a project and form for data entry.
- The system shall enable the user to switch:
- from Enter to Form Designer, keeping the same project, form, and page open,
- from Enter to Visual Dashboard, keeping the same project and form data open for analysis, and
- from Enter to Map, keeping the same project and form data open for analysis.
- The system shall provide a shortcut that allows the user to open one of the last four forms opened previously.
- The system shall prompt the user to:
- create the data table(s) in the database when opening a form that has been created but not yet initialized,
- close a form while Enter continues to run,
- exit the Enter module,
- preview and print a form with data,
- preview and print one or more forms populated with data records,
- compact the database.
Create Records and Enter Data
Objective
Using the Enter component of Epi Info™ 7, the system shall enable the user to add a new record to a form and enter data into that record.
Preconditions
Enter is running. A project containing a form is loaded. The cursor is positioned at the first field, according to the form's Tab Order.
Postconditions
The fields of the form have been populated, creating a new record for that form in the project database. The record can be visualized in tabular format using any of the options available in the Line Listing menu. The record will be given a serial "line" number for reference, visible on the button bar when the record is in focus and in the first column of a Line List table. The record can be identified using Find and query on a specific field using the corresponding value from that Record. If the user navigates away from the new record using the "|◄", "◄", "►", or "►|" buttons on the button bar, the record is automatically saved.
Stimulus/Response Sequence
Enter Data and Create New Record | ||
---|---|---|
1 | Stimulus: Response: | Cursor is positioned on the first field in the form's Tab Order. User enters data into field. User presses the Tab key. Check Code (if any |
2 | Stimulus: Response: | Cursor is positioned on the last field of page 1 of a two-page form. User enters data into field, if needed. User presses Tab key. Check Code for page 1 After block executes. Page 1 of form closes. Check Code page 2 Before block executes. Page 2 opens. The cursor is positioned at the first field in the Tab Order for page 2. Check Code in the field Before block executes. The name of page 2 is highlighted in the form tree in the "Pages" frame. |
3 | Stimulus: Response: | Cursor is positioned on the last field of page 2 of a two-page form. User enters data into field. User presses the Tab key. Check Code for page 2 After block executes. Check Code for record After executes. Page 2 of the form is closed. Check Code for page 1 Before block executes. Page 1 is opened. The cursor is positioned at the first field in the Tab Order for the first page. Check Code in the field Before block executes. The name of page 1 is highlighted in the form tree in the "Pages" frame. |
4 | Stimulus: Response: | User clicks The character in the current record indicator changes to " |
5 | Stimulus: Response: | User clicks the go-to-first-record button ( "|◄") to the immediate right of The value in the current record indicator changes to |
6 | Stimulus: Response: | User clicks the go-to-last-record button ( "►|") to the immediate left of . The value in the current record indicator changes to n, where n is the total number of records (including deleted records) for the current form. The fields on page 1 are set to the values entered for the last record in the project for the open form. The go-to-last-record ( "►|") and go-to-next-record ("►") buttons are grayed out. |
7 | Stimulus: Response: | User clicks the go-to-previous-record button ( "◄") to the immediate right of the go-to-first-record button. The value in the current record indicator changes from |
8 | Stimulus: Response: | User clicks the go-to-next-record button ( "►") to the immediate left of the go-to-last-record button. The value in the current record indicator changes from |
9 | Stimulus: Response: | User clicks button on button bar. All fields for the selected record are grayed out. The button is grayed out. The previously-grayed outbutton is rendered green. |
Notes:
- This table indicates when the commands in specific Check Code blocks would execute relative to other data entry events, assuming those blocks exist. The code blocks themselves are optional.
Functional Requirements
- The system shall enable the user to add data to the current record of the current form in the current project by:
- typing text or pasting it using
Ctrl-V
into Text, Text (Uppercase), and Multiline fields, - typing numbers or pasting them using
Ctrl-V
into Number, Phone Number, Date, Time, and Date/Time fields, - using a left-mouse-button click or
spacebar
on Checkbox and Option fields, and - selecting an item from a pull-down menu in Yes/No, Grid, Legal Values, Comment Legal, and Codes fields.
- typing text or pasting it using
- The system shall enable the user to select an item from a pull-down menu by using one or more of the following methods:
- typing the initial letters of the item,
- moving up or down the list using the arrow keys,
- using the
Enter
key, and - clicking with the left-mouse-button.
- The system shall enable the user to navigate between fields by:
- using
Tab
to move to the next field in the Tab Order, - using
Ctrl-Tab
to move to the previous field in the Tab Order, and - using the mouse to select an arbitrary field with a left-mouse-button click.
- using
- The system shall enable the user to switch between form pages in the current record by:
using
Tab
on the last field in the Tab Order on the page, andselecting the appropriate branch of the form tree in the pages frame.
- The system shall save data automatically (provided that all required fields are satisfied) when:
the user clicks on the New Record button,
the user moves to another record by clicking the record navigation buttons,
using
Tab
on the last field of a form, and- the Check Code engine executes a NewRecord command.
- The system shall enable the user to navigate to an arbitrary record by typing its number into the Current Record Number field, located on the button bar between "
New Record
|◄ ◄" and "of n
► ►|", and pressing theEnter
key. - The system shall automatically populate the values for fields with the "repeat last" option set with the values from the last record viewed.
- The system shall enable the user to populate an image field by clicking on the field and using the file browser, which opens automatically, to select an image to be save with the record.
- The system shall enable the user to mark records for deletion
- and "undelete" the marked records for the life of the project.
- The system shall enable the user to modify data from previously entered records in fields on the open form.
- The system shall enable the user to save modified data records.
- The system shall enable the user to view and print a Data Dictionary consisting of a list of all variables in a form, including:
- variables associated with fields, and
- Permanent, Standard, and Global variables created by Check Code,
- along with the following information about those variables:
- Page Position (page number), Page Name, Tab Index (indicating Tab Order), and Prompt (the previous information types not applicable for Permanent, Standard and Global variables),
- Field Type (Permanent, Standard, Global or one of the field variable types listed in Description of Form Elements),
- (Variable) Name,
- Variable Type (Boolean, Date, DateTime, Grid, Image, Number, Text),
- Format (e.g.,
##.##
for Number,###-###-####
for PhoneNumber,YYYY-MM-DD
for Date, optional in most cases) (not applicable for Permanent, Standard, and Global variables), - Special Info (not applicable for Permanent, Standard, and Global variables) such as:
- "Read Only" or "Required",
- allowed value ranges for numerical variable, or
- name(s) of variables from fields aggregated into Groups.
- The system shall enable the user to create a "package for data transport" that:
- prompts for a package name and path to store the package using Windows Explorer or
- provides a field into which the path can be entered manually with an optional timestamp at the end of the package name,
- is optionally password protected,
- allows data to be removed from form fields,
- allows data to be removed from form grids,
- allows records to be selected for inclusion
- based on the evaluation of one or more expressions composed of
<field_variable> <relational_operator> <value>
joined by the logical operatorAND
; - using one or more fields as "match keys",
- based on the evaluation of one or more expressions composed of
- allows the data from one or more fields to be removed from all records, and
- allows specific columns to be removed from data grids.
- The system shall enable the user to copy a shortcut to the clipboard for use in an icon on the desktop to quickly open the form in Enter.
- The system shall enable the user to import data from:
- a mobile device,
- a Web survey,
- cloud data capture,
- an Epi Info™ 7 project, and
- a data package.