DicomObjects.NET.8.48 Documentation
DicomObjects Namespace / DicomAssociation Class / NAction Method

The requested SOP Class UID

The requested SOP InstanceUID

Context dependent Action code

The attributes to be set, with their values

Example

In This Topic
    NAction Method
    In This Topic
    Sends an N-ACTION request
    Syntax
    'Declaration
     
    
    Public Sub NAction( _
       ByVal SOPClassUID As System.String, _
       ByVal InstanceUID As System.String, _
       ByVal ActionID As System.Integer, _
       ByVal DataSet As DicomDataSet _
    ) 
    public void NAction( 
       System.string SOPClassUID,
       System.string InstanceUID,
       System.int ActionID,
       DicomDataSet DataSet
    )

    Parameters

    SOPClassUID

    The requested SOP Class UID

    InstanceUID

    The requested SOP InstanceUID

    ActionID

    Context dependent Action code

    DataSet

    The attributes to be set, with their values

    Remarks

    This method sends an N-ACTION request, using the quoted SOP Class and Instance UIDs, ActionID and DataSet.

    In many cases, a dataset is not required, in which case an empty dataset should be used.
    Example
    // Example demonstrates an N-Action for MPPS
    using (var cn = new DicomAssociation())
    {
        DicomDataSetCollection emptydss = new DicomDataSetCollection();
        var dataset = new DicomDataSet();
        dataset.Add(Keyword.PerformedProtocolCodeSequence, emptydss);
        dataset.Add(Keyword.ProcedureCodeSequence, emptydss);
        dataset.Add(Keyword.PerformedSeriesSequence, emptydss);
        dataset.Add(Keyword.PerformedProcedureStepStatus, "IN PROGRESS");
        dataset.Add(Keyword.PerformedProcedureStepStartDate, "20240225");
        dataset.Add(Keyword.PerformedProcedureStepStartTime, "140000");
        
        cn.RequestedContexts.Add(SOPClasses.ModalityPerformedProcedureStep);
        cn.Open("localhost", 104, "callingAET", "calledAET");
        
        string sopClassUID = SOPClasses.ModalityPerformedProcedureStep;
        string instanceUID = "1.2.840.113619.2.55.3.604688745.703"; // replace with a real MPPS instanceUID
        int actionID = 1; 
        
        cn.NAction(sopClassUID, instanceUID, actionID, dataset);
        
        // List containing result status codes returned
        var moveStatus = cn.Status;
        // Result of last status code - 0 means success
        var status = cn.LastStatus;
        
        cn.Close();
    Requirements

    Target Platforms: .NET CLR 4.8 or higher

    See Also