←Select platform

StatusFailureFailed Class

Summary

A class that represents general failure status and associated optional elements that can be included in the command set of a DIMSE service response.

Syntax
C#
C++/CLI
public class StatusFailureFailed : StatusBase 
public: 
   ref class StatusFailureFailed : StatusBase 
Remarks

A DIMSE service response command set includes a required Status Element (0000,0900), and other optional Status Elements. The status element defaults to C001H (Error: Cannot understand), but can have many values depending on the service class. For example, the C-STORE DIMSE service can have a status of A7xxH (Refused: out of resources), A9xxH (Error: Data Set does not match SOP Class), or CxxxH (Error: Cannot understand); where x can be any hexadecimal digit.

The StatusFailureFailed class is used to read/write all general failure status command set elements.

To write optional command set elements associated with a general failure status:

  1. Allocate an instance of the StatusFailureFailed class and initialize all members with appropriate values.
  2. Subscribe to the DicomNet::OnBeforeSendCommandSet event, which is fired before sending any DIMSE service response.
  3. Use the extension method, Leadtools.Dicom.Common.Extensions.Set, to set the status elements in the command set.

The DIMSE services include:

  • C-STORE
  • C-GET
  • C-MOVE
  • C-FIND
  • C-ECHO
  • N-EVENT-REPORT
  • N-GET
  • N-SET
  • N-ACTION
  • N-CREATE
  • N-DELETE
Example

This example shows how to override the DicomNet::OnBeforeSendCommandSet event to write status and related optional status elements in a DICOM command set.

C#
using Leadtools.Dicom; 
using Leadtools.Dicom.Common; 
using Leadtools.Dicom.Common.Extensions; 
using Leadtools; 
using Leadtools.Dicom.Common.Linq.BasicDirectory; 
using Leadtools.Dicom.Common.DataTypes; 
using Leadtools.Dicom.Common.DataTypes.Status; 
 
 
public class StatusFailureFailedDicomNet : DicomNet 
{ 
   public StatusFailureFailedDicomNet(string path, DicomNetSecurityMode mode) : base(path, mode) 
   { 
   } 
 
   public StatusFailureFailedDicomNet(string path, DicomNetSecurityMode mode, bool reserved) : base(path, mode, reserved) 
   { 
   } 
 
   protected override void OnBeforeSendCommandSet(DicomDataSet cs) 
   { 
      // Return a Status of Failed and set the optional status elements 
      StatusFailureFailed s = new StatusFailureFailed(); 
      s.OffendingElement.Add(DicomTag.PatientID); 
      s.ErrorComment = "Invalid Element: PatientID (0010:0020)"; 
      cs.Set(s); 
      base.OnBeforeSendCommandSet(cs); 
   } 
} 
Requirements

Target Platforms

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

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