←Select platform

SetEncapsulatedDocument(DicomElement,bool,Stream,DicomEncapsulatedDocument,DicomCodeSequenceItem) Method

Inserts an encapsulated document and corresponding DICOM elements into a DICOM data set in a stream.
Public Overloads Sub SetEncapsulatedDocument( _ 
   ByVal element As DicomElement, _ 
   ByVal child As Boolean, _ 
   ByVal stream As Stream, _ 
   ByVal encapsulatedDocument As DicomEncapsulatedDocument, _ 
   ByVal conceptNameCodeSequence As DicomCodeSequenceItem _ 


A DicomElement in the data set.

true to insert the encapsulated document as a child of the element., false to insert the encapsulated document on the same level as the element.

The stream whose contents will be encapsulated.

The encapsulated document module attributes

The concept name code sequence attributes


This feature is available in version 16 or higher.

The members of the DicomEncapsulatedDocument class and the DicomCodeSequenceItem class together represent the set of attributes contained in the "Encapsulated Document Module Attributes'. The Encapsulated Information Object Definition (IOD) describes one of the following file types that has been encapsulated within a DICOM information object:

  • PDF document
  • CDA document

For more information, refer to Part 3 of the DICOM standard.

The encapsulatedDocument class corresponds to the Encapsulated Document Module Attributes described in part 3 of the DICOM specification. To set the Concept Name Code Sequence element (0040,A043) pass a conceptNameCodeSequence object.

stream is a stream whose contents are the document that will be encapsulated. This should be either a PDF or a CDA document, and the member of the DicomEncapsulatedDocument class should be set accordingly.

using Leadtools; 
using Leadtools.Dicom; 
void DicomDataSet_SetEncapsulatedDocumentExample(DicomElement element, bool child, DicomDataSet ds, string sFileDocumentIn) 
   DicomEncapsulatedDocument encapsulatedDocument = new DicomEncapsulatedDocument(); 
   encapsulatedDocument.Type = DicomEncapsulatedDocumentType.Pdf; 
   encapsulatedDocument.InstanceNumber = 123; 
   encapsulatedDocument.ContentDate = new DicomDateValue(2008, 12, 31); 
   encapsulatedDocument.ContentTime = new DicomTimeValue(12, 30, 00, 1); 
   encapsulatedDocument.AcquisitionDateTime = new DicomDateTimeValue(2008, 12, 31, 12, 30, 00, 01, -3); 
   encapsulatedDocument.BurnedInAnnotation = "YES"; 
   encapsulatedDocument.DocumentTitle = sFileDocumentIn; 
   encapsulatedDocument.VerificationFlag = "UNVERIFIED"; 
   encapsulatedDocument.HL7InstanceIdentifier = string.Empty; 
   // The 'pszMIMETypeOfEncapsulatedDocument' field is ignored when calling SetEncapsulatedDocument 
   // It is filled in when calling 'SetEncapsulatedDocument' 
   encapsulatedDocument.MimeTypeOfEncapsulatedDocument = "***** This is ignored when calling SetEncapsulatedDocument *****"; 
   string[] sListOfMimeTypes = new string[] { "image/jpeg", "application/pdf" }; 
   //encapsulatedDocument.nListOfMIMETypesCount               = 2; 
   DicomCodeSequenceItem conceptNameCodeSequence = new DicomCodeSequenceItem(); 
   conceptNameCodeSequence.CodingSchemeDesignator = "LN"; 
   conceptNameCodeSequence.CodeValue = "12345"; 
   conceptNameCodeSequence.CodeMeaning = "Sample Code Meaning"; 
   ds.SetEncapsulatedDocument(element, child, sFileDocumentIn, encapsulatedDocument, conceptNameCodeSequence); 
   // You can also use the overload that takes a stream 
   using (FileStream stream = new FileStream(sFileDocumentIn, FileMode.Open)) 
      ds.SetEncapsulatedDocument(element, child, stream, encapsulatedDocument, conceptNameCodeSequence); 
Imports Leadtools 
Imports Leadtools.Dicom 
Private Sub DicomDataSet_SetEncapsulatedDocumentExample(ByVal element As DicomElement, ByVal child As Boolean, ByVal ds As DicomDataSet, 
                                                        ByVal sFileDocumentIn As String) 
   Dim encapsulatedDocument As DicomEncapsulatedDocument = New DicomEncapsulatedDocument() 
   encapsulatedDocument.Type = DicomEncapsulatedDocumentType.Pdf 
   encapsulatedDocument.InstanceNumber = 123 
   encapsulatedDocument.ContentDate = New DicomDateValue(2008, 12, 31) 
   encapsulatedDocument.ContentTime = New DicomTimeValue(12, 30, 0, 1) 
   encapsulatedDocument.AcquisitionDateTime = New DicomDateTimeValue(2008, 12, 31, 12, 30, 0, 1, -3) 
   encapsulatedDocument.BurnedInAnnotation = "YES" 
   encapsulatedDocument.DocumentTitle = sFileDocumentIn 
   encapsulatedDocument.VerificationFlag = "UNVERIFIED" 
   encapsulatedDocument.HL7InstanceIdentifier = String.Empty 
   ' The 'pszMIMETypeOfEncapsulatedDocument' field is ignored when calling SetEncapsulatedDocument 
   ' It is filled in when calling 'SetEncapsulatedDocument' 
   encapsulatedDocument.MimeTypeOfEncapsulatedDocument = "***** This is ignored when calling SetEncapsulatedDocument *****" 
   Dim sListOfMimeTypes As String() = New String() {"image/jpeg", "application/pdf"} 
   'encapsulatedDocument.nListOfMIMETypesCount               = 2; 
   Dim conceptNameCodeSequence As DicomCodeSequenceItem = New DicomCodeSequenceItem() 
   conceptNameCodeSequence.CodingSchemeDesignator = "LN" 
   conceptNameCodeSequence.CodeValue = "12345" 
   conceptNameCodeSequence.CodeMeaning = "Sample Code Meaning" 
   ds.SetEncapsulatedDocument(element, child, sFileDocumentIn, encapsulatedDocument, conceptNameCodeSequence) 
   ' You can also use the overload that takes a stream 
   Using stream As New FileStream(sFileDocumentIn, FileMode.Open) 
      ds.SetEncapsulatedDocument(element, child, stream, encapsulatedDocument, conceptNameCodeSequence) 
   End Using 
End Sub 

Target Platforms

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

Leadtools.Dicom Assembly