Loop

A member of the control construct substitution group. Describing an action which loops until a limiting condition is met. The ControlConstruct contained in the Loop operates on the LoopVariable until the LoopWhile condition is met, and then control is handed back to the containing control construct.

Properties

Name

Type

Description

LoopVariableReference

ParameterType

0..1

A reference to the variable (as used in the associated CommandCode) which is incremented or otherwise manipulated to meet the conditions stated in the LoopWhile condition.

InitialValue

CommandCodeType

0..1

Information on the command used to set the initial value for the process. Could be a simple value.

LoopWhile

CommandCodeType

0..1

Information on the command used to determine whether the “LoopWhile” condition is met.

StepValue

CommandCodeType

0..1

Information on the command used to set the incremental or step value for the process. Could be a simple value.

ControlConstructReference

ControlConstruct

0..1

A reference to the ControlConstruct to implement until the LoopWhile condition is met. This could be a single ControlConstruct or a set of ControlConstructs within a Sequence.

Properties Inherited from ControlConstruct

Name

Type

Description

ConstructName

NameType

0..n

A name for the ControlConstructScheme. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems.

Label

LabelType

0..n

A display label for the ControlConstructScheme. May be expressed in multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.

Description

StructuredStringType

0..1

A description of the content and purpose of the ControlConstructScheme. May be expressed in multiple languages and supports the use of structured content.

InParameter

InParameterType

0..n

A parameter that may accept content from outside its parent element.

OutParameter

ParameterType

0..n

An identify for the output of the control construct.

Binding

BindingType

0..n

A structure used to bind the content of a parameter declared as the source to a parameter declared as the target. For example, binding the output of a question to the input of a generation instruction. Question A has an OutParameter X. Generation Instruction has an InParameter Y used in the recode instruction. Binding defines the content of InParameter Y to be whatever is provided by OutParameter X for use in the calculation of the recode.

ExternalAid

OtherMaterialType

0..n

A pointer to an external aid presented by the instrument such as a text card, image, audio, or audiovisual aid. Typically a URN. Use type attribute to describe the type of external aid provided. Example of terms to use would include: imageOnly audioOnly audioVisual multiMedia. ExternalAid will be available each time the control construct is invoked. Care should be taken when placing an ExternalAid in RepeatWhile, RepeatUntil and Loop constructs as it will recur each time the conditional statement is checked. This does not include interviewer instructions, which are handled separately.

ExternalInterviewerInstruction

ExternalInterviewerInstructionType

0..1

Contains a reference to an interviewer instruct ruction held in a structure other than DDI XML. Uses the OtherMaterial structure to describe and link to the external object.

InterviewerInstructionReference

Instruction

0..1

Reference to an interviewer instruction expressed as DDI XML.

Properties Inherited from Versionable

Name

Type

Description

URN

string

1..1

Agency

string

1..1

ID

string

1..1

Version

string

1..1

UserID

UserIDType

0..n

Allows for the specification of identifiers other than the specified DDI identification of the object. This may be a legacy ID from DDI-C, a system specific ID such as for a database or registry, or a non-DDI unique identifier. As the identifier is specific to a system the system must be identified with the UserID structure.

InheritanceAction

string

0..1

The attribute “action” is used for inheritance situations where there is an override at the local level (within a grouped StudyUnit) which is not available for further inheritance. There are three possible values for “action”: Add - A new identifiable object (an Identifiable, Versionable, or Maintainable element) is provided locally with a new identifier (one that is not inherited). All properties (elements and attributes contained in the object) of the object are as specified. If an object with an existing id is created, this is an error.; Update - An object is provided locally with the SAME id as the inherited object. For each type of property that is specified locally, a full set of those properties is specified for local use. These properties replace any properties of this type which were inherited. Unspecified properties are used as inherited.; Delete - An object is provided locally with the SAME id as the inherited object. All properties specified locally in this object will be deleted if their types and values match those inherited. Note that to completely delete an object at the local level, all properties of the inherited object must be listed.

UserAttributePair

StandardKeyValuePairType

0..n

A system specific user defined property of the object expressed as a key/value pair. As this is specific to an individual system the use of controlled vocabularies for the key is strongly recommended.

VersionResponsibility

string

0..1

Person or organization within the MaintenanceAgency responsible for the version change. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, it may be included in this notation. This is primarily intended for internal use.

VersionResponsibilityReference_Organization

Organization

0..1

Reference person or organization within the MaintenanceAgency responsible for the version change, as described in an OrganizationScheme. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, a Relation should be created between the individual referenced here and his/her organization. This is primarily intended for internal use.

VersionResponsibilityReference_Individual

Individual

0..1

Reference person or organization within the MaintenanceAgency responsible for the version change, as described in an OrganizationScheme. If it is important to retain the affiliation between and individual responsible for the version and his/her agency, a Relation should be created between the individual referenced here and his/her organization. This is primarily intended for internal use.

VersionRationale

VersionRationaleType

0..1

Textual description of the rationale/purpose for the version change and a coded value to provide an internal processing flag within and organization or system. Note that versioning can only take place on objects owned by the specified DDI Agency. If you are creating a local instance of an object from another agency for current or future modification use BasedOnObject. If the changes being made result in what you determine to be new object rather than a version of a previous object, i.e. the change is too extensive to consider it a version of the existing object, create a new object and use BasedOnObject to provide a link to the object or objects that were a basis for the new object.

BasedOnObject

BasedOnObjectType

0..1

Use when creating an object that is based on an existing object or objects that are managed by a different agency or when the new object is NOT simply a version change but you wish to maintain a reference to the object that served as a basis for the new object. BasedOnObject may contain references to any number of objects which serve as a basis for this object, a BasedOnRationalDescription of how the content of the referenced object was incorporated or altered, and a BasedOnRationalCode to allow for specific typing of the BasedOnReference according to an external controlled vocabulary.

VersionDate

cogsDate

0..1

Date of version using the union set BaseDateType. Duration should not be used in this field, even though allowed by the ISO format enforced by the parser.

Item Type Hierarchy

Relationships

stub