# Protocols

## Overview

Specifications of experimental protocols are stored in XCEDE using the protocol_t tag structures.

Protocols in XCEDE consists of a hierarchial organization of steps defining the protocol and items within the steps defining the particular parameters of the protocol step. Formal protocols are built either from top down or bottom up using these building blocks

protocol_t

The protocol_t tag extends the abstract_protocol_t tag to include steps and items making up a protocol description.

An XCEDE protocol consists of the following tag groups. Each protocol block can be specified

steps

  Steps are used to specify an ordered list of `step` blocks that comprise the protocol. Each `step` block can be another protocol_t block or a reference to a step usign the stepRef tag.

items

  Items are the smallest building blocks of a protocol. They are made up of any number of item tags which contain a specification of the parameters for the particular protocol step..

abstract_protocol_t

The abstract_protocol_t abstract tag provides basic information related to a protocol such as protocol time offset, min and max occurences, concept linkages, and more described below.

The protocol_offset_t tag is used to specify timing of this particular protocol relative to other protocols or steps within an experiment. The `protocolTimeRef` and `preferrredTimeOffset` tags are used to describe the offset.

The ID_name_description tag is used to specify an ID, name, and description for the protocol.

The terminology_ag reference is used to give contextual meaning to the question and link it with known ontologies and concepts.

The level attribute is used to specify the level hierarchically that the protocol refers to. For example, if the protocol is specifying scanner specific parameters then the level would point to the "study level" of the XCEDE hierarchy.

The minOccurences and maxOccurences attributes are set to specify the min and max occurrences of the protocol.

The minTimeFromStart and maxTimeFromStart attributes are set to specify a timing window from the start of the parent protocol. If this protocol block is at the top of the protcol hierarchy then "TimeFromStart" is the start of the study.

steps

The steps group and enclosing step and/or stepRef tags are used to embed or reference other parts of a protocol.

item

The protocolItem_t type is used to specify the smallest building blocks of the protocol.

The itemText group and enclosing textLabel groups are used to specify one or more text labels. These labels are most often used when specifying the formal description of an assessment where each question on an assessment has some text most often asking a question. The location specifies where the text occurs. For example, the text could occur before or after some data entry field of an assessment questionaire. The value tag is used to specify the actual text.

The itemRange group derived from the protocolItemRange_t is used define a valid range of values for a particular item via the attributes min, max, and units

The itemChoice group is used to specify valid entries for a particular protocol item. This is most often used when specifying assessment questions that have a fixed number of choices. The two attributes, itemCode and itemValue together specify the numeric code that correlates to the actual value (presumably string of text) of the choice as shown in the example below:

     <xcede:itemChoice itemCode="1" itemValue="professional or graduate training (received degree)"/>
     <xcede:itemChoice itemCode="2" itemValue="college graduate"/>
     <xcede:itemChoice itemCode="3" itemValue="some college (at least one year)"/>

## Examples

The protocol example below shows a formal protocol definition for an MRI visit that consists of an Socio-Economic scale assessment, followed by an MRI scanning session consisting of a T1 and a Sensory Motor fMRI acquisition.

### MRI visit protocol example

## Reference