Working with Command Sets
DICOM messages that are transferred across a DICOM Associate connection include a command set and may or may not include a data set. The command set is a specialized data set that contains information about the action to be taken, such as Request, Response, Find, Get, Move, Action, etc. Since the command set is a data set, it consists of one or more data elements. An accompanying data set contains either the data set on which to perform the command, or the data set resulting from a command.
Each command set has its own specific set of data elements. For more information on the data elements that make up the command sets supported by LEADTOOLS, refer to Command Set Default Tables. For more information on command sets in general, refer to the DICOM Standard.
Since a command set is a specialized data set, it is created the same way a data set is and then initialized as a command set. This is accomplished by calling LDicomDS::LDicomDS to create the data set, and then calling LDicomDS::InitCS to initialize the data set to a command set.
To obtain information about an existing command set, use LDicomDS::GetInfoCS. You can also determine the type of a command set by "and-ing" the value of the TAG_COMMAND_FIELD value with COMMAND_REQUEST or COMMAND_RESPONSE. In addition, you can determine whether a command set has a required data set by "and-ing" the value of the TAG_DATA_SET_TYPE element with COMMAND_DATASET_PRESENT, COMMAND_DATASET_IDENTIFIER, or COMMAND_DATASET_ABSENT.
To copy a one data set to another data set, use LDicomDS::CopyDS.