L_DicomInsertContextGroup

#include "ltdic.h"

L_LTDIC_API pDICOMCONTEXTGROUP L_DicomInsertContextGroup(pszContextIdentifier, pszName, bExtensible, pContextGroupVersion, uFlags)

L_TCHAR * pszContextIdentifier;

/* Context Identifier */

L_TCHAR * pszName;

/* name of Context Group */

L_BOOL bExtensible;

/* extensibility */

pVALUEDATETIME pContextGroupVersion;

/* pointer to the 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.

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:

 

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 directly into the Context Group Table. Use the L_DicomInsertContextGroup function to insert a new Context Group to the Context Group Table. Use the L_DicomLoadContextGroup function to load Context Groups from the internal table.

To add Coded Concepts to a Context Group in the Context Group Table, use the L_DicomInsertCodedConcept function.

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:

L_DicomLoadContextGroup, L_DicomDeleteContextGroup, L_DicomResetContextGroup, L_DicomFindContextGroup, L_DicomGetFirstContextGroup, L_DicomInsertCodedConcept, L_DicomGetFirstCodedConcept

Topics:

Working with Context Groups

 

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

Example

L_INT DicomInsertContextGroupExample(L_VOID)
{
   pDICOMCONTEXTGROUP pGroup;
   L_INT nRet;

   VALUEDATETIME Version = { 2004, 3, 22, 0, 0, 0, 0, 0 };

   // Insert a (testing) Context Group
   pGroup = L_DicomInsertContextGroup (TEXT("CID XXXX"),
                                       TEXT("New Context Group"),
                                       TRUE, 
                                       &Version, 
                                       0); 
   if (!pGroup) 
      return DICOM_ERROR_NULL_PTR;

   // Fill the Context Group with some (testing) Coded Concepts
   L_DicomInsertCodedConcept (pGroup, TEXT("CSD1"), NULL, TEXT("CV1"), TEXT("CM1"),
                             NULL, NULL, 0); 
   L_DicomInsertCodedConcept (pGroup, TEXT("CSD2"), NULL, TEXT("CV2"), TEXT("CM2"),
                             NULL, NULL, 0); 
   L_DicomInsertCodedConcept (pGroup, TEXT("CSD3"), NULL, TEXT("CV3"), TEXT("CM3"),
                             NULL, NULL, 0); 

   // Refer to the example of L_DicomGetFirstCodedConcept for
   // the function DicomGetFirstCodedConceptExample
   nRet = DicomGetFirstCodedConceptExample(pGroup);

   // Delete the Context Group
   L_DicomDeleteContextGroup (pGroup); 

   return nRet;
}