Skip to content

How to Read the Template Documentation

Each template page has a header block (file name, type, schema version, description) followed by one column table per template — or, for a compound template such as basic_study_design, one table per section.

The "Requirement" column

Value Meaning
Required The field must have a value in every data row. Required fields are also shown in bold in the downloadable Excel/text template.
Conditionally required The field is required only in certain situations — for example when a related field has a particular value, or when you are defining a new record rather than referencing an existing one. Where the trigger is known, it's shown right under the label (e.g. when Race = "Other"); otherwise it's described in the field's Description / italicised comment. Conditionally required fields are not bold in the template, so they are easy to miss.
Optional The field may be left empty.

If a conditionally required field is left blank when its condition is met, the Validator reports "Missing conditional required value" (see Data Package Validation, row 7).

The "Type & Constraints" column

Annotation Meaning
Text, max N characters Character limit enforced against the database column. Exceeding it reports "The character count exceeds the database column width".
Date (DD-MMM-YYYY) Dates must be DD-MMM-YYYY or DD-MMM-YY (e.g. 06-Feb-2005). Numeric or ISO dates are rejected.
Integer / Number A bare number — no units, no thousands separators, no text. Some fields require a positive or non-negative integer; the Description says so.
Controlled vocabulary — value must be one of lk_… A hard constraint. Only an exact value from that list is accepted; free text is rejected. Use the dropdown in the Excel template, or see the linked lk_… page for the allowed values.
Preferred vocabulary — reported value is kept; a preferred term from lk_… is filled in when it matches A soft constraint. Your reported (free-text) value is stored as-is; if it matches an entry in the mapping table, ImmPort also fills a companion "preferred" column. An unmatched value is not rejected, but no preferred term is assigned.
Reference — must already exist as a The value must resolve to a record defined elsewhere in the same upload package or already present in the target workspace, spelled identically in both places. An unresolved reference is a foreign-key error.
Result data column / Metadata column For combined-result templates (e.g. subjectHumans, assessments): metadata columns describe the row; result data columns hold the repeating per-analyte values to the right of the Result Separator Column.
JSON: attribute (type) The attribute name and data type to use if you submit this template in JSON format instead of tab-delimited text or Excel.

Template types

Type Layout
single One flat table; each row is one record.
compound Several named sections in one file (shown as separate tables here). Each section is marked required or optional.
combined / combined-multiple Metadata columns plus one or more repeating column groups in the same row.
combined-result Metadata columns, a Result Separator Column, then repeating result-data column groups.
multiple Repeating column groups only.

Where the allowed values live

Controlled- and preferred-vocabulary lists are database lookup tables (lk_…), each snapshotted on its own page (linked from the Type & Constraints column of every template above). They are not part of the template itself — adding a new allowed value is a database change, not a template edit.