Imports Leadtools.Dicom.Common.DataTypes
Imports Leadtools.Dicom.Common.Extensions
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Common.Editing.Converters
Imports Leadtools.Dicom.Common.Editing
Public Class MyPatientInfo
   Private _PatientName As PersonName
   <Element(DicomTag.PatientName,Optional := True), TypeConverter(GetType(PersonNameConverter))> _
   Public Property PatientName() As PersonName
      Get
         Return _PatientName
      End Get
      Set
         _PatientName = Value
      End Set
   End Property
   Private _PatientID As String
   <Element(DicomTag.PatientID,Optional:=False)> _
   Public Property PatientID() As String
      Get
         Return _PatientID
      End Get
      Set
         _PatientID = Value
      End Set
   End Property
End Class
<Test> _
Public Sub ExtractInfoExample()
   Dim dicomFileNameIn As String = Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm")
   Dim info As MyPatientInfo = Nothing
   ' Initialize DICOM engine
   DicomEngine.Startup()
   Dim ds As DicomDataSet = New DicomDataSet()
   ' Load an existing DICOM file
   ds.Load(dicomFileNameIn, DicomDataSetLoadFlags.None)
   ' Fill the class with the appropriate dicom info
   info = ds.Get(Of MyPatientInfo)()
   If Not info Is Nothing Then
      '
      ' Display information extracted from DICOM file.
      '
      Console.WriteLine("Patient Name: " & info.PatientName.Full)
      Console.WriteLine("Patient ID: " & info.PatientID)
      '
      ' Change the patient id
      '
      info.PatientID = "12345"
      ds.Set(info)
      If ds.GetValue(Of String)(DicomTag.PatientID, String.Empty) = "12345" Then
         Console.WriteLine("Patient successfully changed")
      End If
   End If
   DicomEngine.Shutdown()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class