L_DicomGetFirstContextGroup

#include "ltdic.h"

L_LTDIC_API pDICOMCONTEXTGROUP L_DicomGetFirstContextGroup()

Returns a pointer to the first Context Group in the Context Group Table.

Returns

!NULL

Pointer to a DICOMCONTEXTGROUP structure that specifies the first Context Group in the Context Group Table.

NULL

The Context Group Table is empty.

Comments

To add Context Groups to the Context Group Table, use the L_DicomLoadContextGroup and L_DicomInsertContextGroup functions.

Along with this function, the following functions can be used to maneuver through the Context Groups in the Context Group Table:

L_DicomGetLastContextGroup

L_DicomGetNextContextGroup

L_DicomGetPrevContextGroup

You can also use the L_DicomGetCountContextGroup and L_DicomFindIndexContextGroup functions to enumerate the Context Groups in the table.

To investigate the Coded Concepts of a Context Group, use the following functions:

L_DicomGetFirstCodedConcept

L_DicomGetLastCodedConcept

L_DicomGetNextCodedConcept

L_DicomGetPrevCodedConcept

L_DicomGetCountCodedConcept

L_DicomFindIndexCodedConcept

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_DicomInsertContextGroup, L_DicomGetLastContextGroup, L_DicomGetNextContextGroup, L_DicomGetPrevContextGroup, L_DicomGetCountContextGroup, L_DicomFindIndexContextGroup, L_DicomFindContextGroup, L_DicomGetFirstCodedConcept

Topics:

Working with Context Groups

 

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

Example

L_INT DicomGetFirstContextGroupExample(L_VOID)
{
   pDICOMCONTEXTGROUP pGroup; 
   L_TCHAR szMsg[256]; 
   L_INT nRet; 

   L_DicomResetContextGroup();

   // Load all the Context Groups
   L_DicomLoadContextGroup(NULL); 

   // Enumerate them (3 possible ways) 
#if 1

   // One possible way to enumerate the Context Groups
   pGroup = L_DicomGetFirstContextGroup();
   while (pGroup) 
   {
      wsprintf(szMsg, TEXT("%s\n%s\n\nEnumerate Coded Concepts?"), 
               pGroup->pszContextIdentifier, 
               pGroup->pszName); 

      nRet = MessageBox(NULL, szMsg, TEXT("Context Group"), MB_YESNOCANCEL); 
      if (nRet == IDYES) 
      {
         // Refer to the example of L_DicomGetFirstCodedConcept
         // for the function DicomGetFirstCodedConceptExample
         nRet = DicomGetFirstCodedConceptExample(pGroup); 
         if (nRet != SUCCESS)
            break;
      }
      else if (nRet == IDCANCEL)
      {
         break;
      }

      pGroup = L_DicomGetNextContextGroup(pGroup);
   }

#elif 0

   // Another way to enumerate the Context Groups
   uGroupsCount = L_DicomGetCountContextGroup ();
   for (i = 0; i < uGroupsCount; i++)
   {
      pGroup = L_DicomFindIndexContextGroup(i); 

      wsprintf(szMsg, TEXT("%s\n%s\n\nEnumerate Coded Concepts?"), 
               pGroup->pszContextIdentifier, 
               pGroup->pszName); 
      
      nRet = MessageBox(NULL, szMsg, TEXT("Context Group"), MB_YESNOCANCEL); 
      if (nRet == IDYES) 
      {
         nRet = DicomGetFirstCodedConceptExample(pGroup); 
         if (nRet != SUCCESS)
            break;
      }
      else if (nRet == IDCANCEL) 
      {
         break; 
      }
   }

#elif 0

   // A third way to enumerate the Context Groups
   pGroup = L_DicomGetLastContextGroup();
   while (pGroup) 
   {
      wsprintf(szMsg, TEXT("%s\n%s\n\nEnumerate Coded Concepts?"), 
               pGroup->pszContextIdentifier, 
               pGroup->pszName); 
      
      nRet = MessageBox(NULL, szMsg, TEXT("Context Group"), MB_YESNOCANCEL); 
      if (nRet == IDYES) 
      {
         nRet = DicomGetFirstCodedConceptExample(pGroup); 
         if (nRet != SUCCESS)
            break;
      }
      else if (nRet == IDCANCEL) 
      {
         break; 
      }

      pGroup = L_DicomGetPrevContextGroup(pGroup); 
   }
#endif

   return DICOM_SUCCESS;
}