SplitJoin --------- A member of the ControlConstruct substitution group. The components of a SplitJoin consists of a number of process steps to be executed concurrently with partial synchronization. SplitJoin consists of process steps that are executed concurrently (execution with barrier synchronization). That is, SplitJoin completes when all of its components processes have completed. Supports parallel processing that requires completion of all included process steps to exit. Properties ~~~~~~~~~~ .. csv-table:: :header: "Name","Type","","Description" :widths: 15,10,5,100 "TypeOfSequence",":doc:`/composite-types/CodeValueType/index`","0..n","Provides the ability to ""type"" a split for classification or processing purposes. Supports the use of an external controlled vocabulary." "ControlConstructReference",":doc:`/item-types/ControlConstruct/index`","0..n","References control constructs that can be executed concurrently." Properties Inherited from ControlConstruct ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Name","Type","","Description" :widths: 15,10,5,100 "ConstructName",":doc:`/composite-types/NameType/index`","0..n","A name for the ControlConstruct. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems." "Label",":doc:`/composite-types/LabelType/index`","0..n","A display label for the ControlConstruct. Supports multiple language versions of the same content as well as optional formatting of the content. Repeat for labels with different content, for example, labels with differing length limitations." "Description",":doc:`/composite-types/StructuredStringType/index`","0..1","A description of the content and purpose of the ControlConstruct. Supports multiple language versions of the same content as well as optional formatting of the content." "InParameter",":doc:`/composite-types/InParameterType/index`","0..n","A parameter that may accept content from outside its parent element." "OutParameter",":doc:`/composite-types/ParameterType/index`","0..n","An identify for the output of the control construct." "Binding",":doc:`/composite-types/BindingType/index`","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",":doc:`/composite-types/ExternalAidType/index`","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",":doc:`/composite-types/ExternalInterviewerInstructionType/index`","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",":doc:`/item-types/Instruction/index`","0..1","Reference to an interviewer instruction expressed as DDI XML." "DevelopmentResultsReference",":doc:`/item-types/DevelopmentResults/index`","0..n","Reference to the development implementation results which gave rise to this version of the object. TypeOfObject should be DevelopmentResults." Properties Inherited from Versionable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. csv-table:: :header: "Name","Type","","Description" :widths: 15,10,5,100 "URN","string","1..1","" "Agency","string","1..1","" "ID","string","1..1","" "Version","string","1..1","" "UserID",":doc:`/composite-types/UserIDType/index`","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." "UserAttributePair",":doc:`/composite-types/StandardKeyValuePairType/index`","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",":doc:`/item-types/Agent/index`","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",":doc:`/composite-types/VersionRationaleType/index`","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",":doc:`/composite-types/BasedOnObjectType/index`","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." "RelatedOtherMaterialReference",":doc:`/item-types/OtherMaterial/index`","0..n","The inclusion of an existing OtherMaterial by reference. Use for any type of OtherMaterial not specifically addressed by an inline description for such as ExternalAid in QuestionItem." "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." "IsPublished","boolean","0..1","Indicates that the maintainable will not be changed without versioning, and is a stable target for referencing." Item Type Hierarchy ~~~~~~~~~~~~~~~~~~~ * :doc:`/item-types/Versionable/index` * :doc:`/item-types/ControlConstruct/index` * **SplitJoin** Relationships ~~~~~~~~~~~~~ .. container:: image |stub| .. |stub| image:: ../../images/SplitJoin.svg