LDicomContextGroup::Insert

#include "ltdic.h"

static pDICOMCONTEXTGROUP LDicomContextGroup::Insert(pszContextIdentifier, pszName, bExtensible, pContextGroupVersion, uFlags = 0)

L_TCHAR * pszContextIdentifier;

/* Context Identifier */

L_TCHAR * pszName;

/* name of the Context Group */

L_BOOL bExtensible;

/* extensibility */

pVALUEDATETIME pContextGroupVersion;

/* pointer to Context Group Version */

L_UINT16 uFlags;

/* flags */

Adds a new Context Group to the Context Group Table.

Parameter

Description

pszContextIdentifier

Character string that contains the Context Identifier (0008,010F) of the new Context Group. For a list of values, refer to Context Identifier Values.

pszName

Character string that contains the name of the new Context Group.

bExtensible

Value that specifies whether the new Context Group is Extensible. Possible values are:

 

Value

Meaning

 

TRUE

The new Context Group is Extensible.

 

FALSE

The new Context Group is Non-extensible.

 

pContextGroupVersion

Pointer to a VALUEDATETIME structure that specifies the Context Group Version (0008,0106) of the new Context Group.

uFlags

Flags that control the behavior of this function. This can be set to 0 or one of the following values:

 

Value

Meaning

 

DICOM_CONTEXTGROUP_DISALLOW_DUPLICATES

[0x01] The function should fail if a Context Group with the same specified Context Identifier already exists in the Context Group Table.

Returns

!NULL

Pointer to a DICOMCONTEXTGROUP structure that specifies the newly inserted Context Group.

NULL

The function failed to allocate memory.

Comments

Please note that if the Context Identifier, Name, and Context Group Version of the new Context Group are not specified, the function fails and Returns NULL.

A Context Group can be added to the Context Group Table either by loading it from the internal table maintained by LEADTOOLS or by inserting it into the Context Group Table directly. Use the Insert function to insert a new Context Group to the Context Group Table. To load Context Groups from the internal table, use the LDicomContextGroup::Load function.

Use the function LDicomContextGroup::InsertCodedConcept to add Coded Concepts to a Context Group in the Context Group Table.

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

Platforms

Win32, x64

See Also

Functions:

LDicomContextGroup::Load, LDicomContextGroup::Delete, LDicomContextGroup::Reset, LDicomContextGroup::Find, LDicomContextGroup::GetFirst, LDicomContextGroup::InsertCodedConcept, LDicomContextGroup::GetFirstCodedConcept, Class Members

Topics:

Working with Context Groups

 

How to Disable the Automatic Loading of the default DICOM Context Group Table

Example

L_INT LDicomContextGroup_InsertExample()
{
   pDICOMCONTEXTGROUP pGroup;
   VALUEDATETIME Version = { 2004, 3, 22, 0, 0, 0, 0, 0 };
   // Insert a (testing) Context Group
   pGroup = LDicomContextGroup::Insert(TEXT("CID XXXX"),
                                       TEXT("New Context Group"),
                                       TRUE,
                                       &Version);
   if (!pGroup)
   {
      return DICOM_ERROR_MEMORY;
   }
   // Fill the Context Group with some (testing) Coded Concepts
   if(LDicomContextGroup::InsertCodedConcept(pGroup, TEXT("CSD1"), NULL, TEXT("CV1"), TEXT("CM1")) == NULL)
      return DICOM_ERROR_MEMORY;
   if(LDicomContextGroup::InsertCodedConcept(pGroup, TEXT("CSD2"), NULL, TEXT("CV2"), TEXT("CM2")))
      return DICOM_ERROR_MEMORY;
   if(LDicomContextGroup::InsertCodedConcept(pGroup, TEXT("CSD3"), NULL, TEXT("CV3"), TEXT("CM3")))
      return DICOM_ERROR_MEMORY;
   // Refer to the example of LDicomContextGroup::GetFirstCodedConcept for
   // the function EnumCodedConcepts
   EnumCodedConcepts(pGroup); 
   // Delete the Context Group
   LDicomContextGroup::Delete(pGroup); 
   return DICOM_SUCCESS;
}