←Select platform

SetCodeMeaning Method

Summary
Sets the Code Meaning (0008,0104) for the specified Coded Concept.
Syntax
C#
Objective-C
C++/CLI
public bool SetCodeMeaning( 
   DicomCodedConcept codedConcept, 
   string codeMeaning 
) 
- (BOOL)setCodeMeaning:(NSString *)codeMeaning forCodedConcept:(LTDicomCodedConcept *)codedConcept; 
public: 
bool SetCodeMeaning(  
   DicomCodedConcept^ codedConcept, 
   String^ codeMeaning 
)  

Parameters

codedConcept
DicomCodedConcept object that specifies the Coded Concept whose Code Meaning is to be set.

codeMeaning
The new Code Meaning (0008,0104).

Return Value

true if the Code Meaning was set successfully. false if the method failed to allocate memory.

Remarks

If a Context Group in the Context Group Table has a corresponding Group in the internal table maintained by LEADTOOLS, then you can use the Default method to discard any changes made to the Context Group, including those made to the Code Meanings of its Coded Concepts, and to revert to the values stored in the internal table. For a list of the Context Identifiers (CIDs) of the Context Groups in the internal table, along with their names, refer to Context Identifier Values.

Example
C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
       
public void InsertContextGroup() 
{ 
 
   DicomDateTimeValue version = new DicomDateTimeValue(); 
 
   version.Year = 2004; 
   version.Month = 3; 
   version.Day = 22; 
   version.Hours = 0; 
   version.Minutes = 0; 
   version.Seconds = 0; 
   version.Fractions = 0; 
   version.Offset = 0; 
 
   // Insert a (testing) Context Group 
   DicomContextGroup group = DicomContextGroupTable.Instance.Insert("CID XXXX", "New Context Group", true, version, DicomContextGroupTableInsertFlags.None); 
   if (group == null) 
   { 
      return; 
   } 
 
   // Fill the Context Group with some (testing) Coded Concepts 
   DicomContextGroupTable.Instance.InsertCodedConcept(group, "CSD1", null, "CV1", "CM1", DicomDateTimeValue.Empty, null, DicomContextGroupTableInsertFlags.None); 
   DicomContextGroupTable.Instance.InsertCodedConcept(group, "CSD2", null, "CV2", "CM2", DicomDateTimeValue.Empty, null, DicomContextGroupTableInsertFlags.None); 
   DicomContextGroupTable.Instance.InsertCodedConcept(group, "CSD3", null, "CV3", "CM3", DicomDateTimeValue.Empty, null, DicomContextGroupTableInsertFlags.None); 
 
   EnumCodedConcepts(group); 
 
   // Delete the Context Group 
   DicomContextGroupTable.Instance.Delete(group); 
} 
 
void DisplayCodedConcept(DicomCodedConcept concept) 
{ 
   DicomContextGroup group = DicomContextGroupTable.Instance.GetContextGroup(concept); 
   StringBuilder title = new StringBuilder(); 
   StringBuilder msg = new StringBuilder(); 
 
   title.AppendFormat("Coded Concept ({0} '{1}')", group.ContextIdentifier, group.ContextIdentifierValue); 
 
   msg.AppendFormat("Coding Scheme Designator: {0}{1}Coding Scheme Version: {2}{1}Code Value:{3}{1}Code Meaning: {4}", 
         concept.CodingSchemeDesignator, 
         Environment.NewLine, 
         concept.CodingSchemeVersion != null ? concept.CodingSchemeVersion : "N/A", 
         concept.CodeValue, 
         concept.CodeMeaning); 
 
   Console.WriteLine($"{title.ToString()}: {msg.ToString()}"); 
} 
void EnumCodedConcepts(DicomContextGroup group) 
{ 
   // Enumerate the Coded Concepts in the Context Group (3 possible ways)  
 
   // One possible way to enumerate the Coded Concepts 
   DicomCodedConcept concept = DicomContextGroupTable.Instance.GetFirstCodedConcept(group); 
   while (concept != null) 
   { 
      DisplayCodedConcept(concept); 
      concept = DicomContextGroupTable.Instance.GetNextCodedConcept(concept); 
   } 
 
   // This code is commented out on purpose, it shows two other ways of  
   // enumerating the Coded Concepts 
 
   /* 
   // Another way to enumerate the Coded Concepts 
   for (int i = 0; i < DicomContextGroupTable.Instance.GetCodedConceptCount(group); i++) 
   { 
      concept = DicomContextGroupTable.Instance.FindCodedConceptByIndex(group, i); 
      DisplayCodedConcept(concept); 
   } 
 
   // A third way to enumerate the Coded Concepts 
   concept = DicomContextGroupTable.Instance.GetLastCodedConcept(group); 
   while (concept != null)  
   { 
      DisplayCodedConcept(concept); 
      concept = DicomContextGroupTable.Instance.GetPreviousCodedConcept(concept); 
   } 
   */ 
} 
 
void EnumContextGroups() 
{ 
   DicomContextGroupTable.Instance.Reset(); 
   // Load all the Context Groups 
   DicomContextGroupTable.Instance.Load(null); 
 
   // Enumerate them (3 possible ways)  
 
   // One possible way to enumerate the Context Groups 
   DicomContextGroup group = DicomContextGroupTable.Instance.GetFirst(); 
   while (group != null) 
   { 
      StringBuilder msg = new StringBuilder(); 
      msg.AppendFormat("{0}{2}{1}{2}{2}Enumerate Coded Concepts?", 
         group.ContextIdentifier, 
         group.Name, 
         Environment.NewLine); 
 
      Console.WriteLine($"Context Group: {msg}"); 
      EnumCodedConcepts(group); 
 
      group = DicomContextGroupTable.Instance.GetNext(group); 
   } 
 
   // This code is commented out on purpose, it shows two other ways of  
   // enumerating Context Groups 
 
   /* 
   // Another way to enumerate the Context Groups 
   for (int i = 0; i < DicomContextGroupTable.Instance.Count; i++) 
   { 
      group = DicomContextGroupTable.Instance.FindIndex(i);  
 
      msg.AppendFormat("{0}{2}{1}{2}{2}Enumerate Coded Concepts?", 
         group.ContextIdentifier, 
         group.Name, 
         Environment.NewLine);  
 
      DialogResult result  = MessageBox.Show(msg.ToString(), "Context Group", MessageBoxButtons.YesNoCancel); 
      if(result == DialogResult.Yes) 
      { 
         EnumCodedConcepts(group);  
      } 
      else if (result == DialogResult.Cancel)  
      { 
         break;  
      } 
   } 
 
   // A third way to enumerate the Context Groups 
   group = DicomContextGroupTable.Instance.GetLast(); 
   while (group != null)  
   { 
 
      msg.AppendFormat("{0}{2}{1}{2}{2}Enumerate Coded Concepts?", 
         group.ContextIdentifier, 
         group.Name, 
         Environment.NewLine); 
 
      DialogResult result = MessageBox.Show(msg.ToString(), "Context Group", MessageBoxButtons.YesNoCancel); 
      if (result == DialogResult.Yes) 
      { 
         EnumCodedConcepts(group); 
      } 
      else if (result == DialogResult.Cancel) 
      { 
         break; 
      } 
      group = group = DicomContextGroupTable.Instance.GetPrev(group);  
   } 
           
   */ 
} 
 
void ModifyContextGroup() 
{ 
   DicomContextGroupTable.Instance.Reset(); 
   DicomContextGroupTable.Instance.Load(null); 
 
   DicomContextGroup group = null; 
   DicomCodedConcept concept = null; 
 
   // Look for a Context Group 
   group = DicomContextGroupTable.Instance.Find(DicomContextIdentifierType.CID6019); 
   if (group == null) 
   { 
      return; 
   } 
 
   // Look for a Coded Concept in the Context Group 
   concept = DicomContextGroupTable.Instance.FindCodedConcept(group, "SRT", "F-01781"); 
   if (concept == null) 
   { 
      return; 
   } 
 
   // Set the Code Meaning of the Coded Concept (French translation)  
   if (DicomContextGroupTable.Instance.SetCodeMeaning(concept, "Situé à 1 heure") == false) 
   { 
      return; 
   } 
 
   DisplayCodedConcept(concept); 
 
   // Delete the Coded Concept 
   DicomContextGroupTable.Instance.DeleteCodedConcept(concept); 
 
   // Add a (testing) Coded Concept to the Context Group 
   concept = DicomContextGroupTable.Instance.InsertCodedConcept(group, 
                                                                  "CSD", 
                                                                  null, 
                                                                  "CV", 
                                                                  "CM", 
                                                                  DicomDateTimeValue.Empty, 
                                                                  null, 
                                                                  DicomContextGroupTableInsertFlags.None); 
 
   if (concept == null) 
   { 
      return; 
   } 
   DisplayCodedConcept(concept); 
 
   // Restore the Context Group (discard all the changes made to the Group)  
   DicomContextGroupTable.Instance.Default(group); 
   EnumCodedConcepts(group); 
   // Delete the Context Group 
   DicomContextGroupTable.Instance.Delete(group); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.8.20
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.