A Normalized Table is a sub-form used to log repeating data points within a record. A common example is a medical history form. A medical history is normally collected just one time during a subject's screening, but the amount of data collected is unknown, so it's often necessary to have a table or log for collecting that data.

Normalized tables allow a study builder to insert multiple fields (columns) in a single table so a site user can complete multiple rows of repeating information. 

Normalized Tables can also be designed as a fixed table - or contain a fixed number of rows - which is described below. 

When a Normalized Table is dragged and dropped into the body/grid of the Form Builder, the Form Fields dialog box opens to allow users to add Form Fields as shown below. Users can Drag and Drop Form Fields into the Normalized Tables Dialog box.



In the figure below, a Radio Group form field has been dragged and dropped into the Fields dialog box. Displayed in the left column are the Form Fields properties that can be assigned to the field.

Each field that is dragged into the table has properties that can be edited the same way they normally would be. Select the field in the dialog box, go to the Properties section of the Form Builder and fill in the appropriate properties.

To add the column header, type in the Label column highlighted in yellow. If the header is long, you can use a <br> tag to break the text to a new line when its displayed in the table. This prevents the column in the table from being too wide when the header text is long.

Field properties display in the left column as form fields are added to the builder. User’s select field properties by typing, clicking on links or clicking on the properties.


To edit a table follow the steps below:

View/Edit  Clicking the link opens the Fields Dialog box. The Fields Dialog box allows the user to add Form Fields, Properties, and Type in Column Headers for a Normalized Table.



Defining Fixed Length Tables

You may want to have a normalized table that has a fixed and required number of rows. The fixed rows attribute allows you to define a normalized table that has a fixed number of rows. It does this based on the first column in the table. You can easily accomplish this with Clinical Studio.

When defining a Fixed Row table, the first column must be either a select (dropdown) or radio button field. That is because these are the only field types that can have field choices. The field choices will determine the number of rows in the table. The figure below shows the structure of the normalized table in the Form Builder:


When rendered, the table looks like the figure below.


Notice there is no Add Row button for this table. There is also no Delete Row icon in the table. That is because the table is fixed in length. Each row is represented by a single value. That value is defined in the field choices of the first column of the table.

Each field choice is rendered into a row. Therefore, the number of field choices you have in the first column of the table determines the number of rows in the table. Remember each row is actually attached to the Field Choice Value. Therefore, changing the text of the field will change that for all defined tables. Likewise, deleting a field choice will delete all related rows in the rendered table.

Layout – Allows the user to determine the position of the Normalized Table in the Grid.

Left (pixels) –Allows the user to designate the left edge of the Normalized Table.

Top (pixels) – Allows the user to designate the top edge of the Normalized Table.

The table can also be dragged and dropped into the desired location on the Form Builder grid and the number in the pixel column will change according to the location where the table is dropped.

Note - Conditional Actions cannot disable or hide normalized tables on the eCrf.  You can use conditional action on the first row of the table to check a condition outside of the table.  Like Yes or No for "Any Relevant Medical History" and if No fire error indicating you answered No on the history field why are you entering data in the table? etc.