Beispiel #1
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.AcquisitionModality:
            // received Modality Procedure Step In Progress [RAD-6] or
            // received Modality Procedur Step Completed [RAD-7]
            case ActorNameEnum.EvidenceCreator:
            {
                // received Creator Procedure Step In Progress [RAD-20] or
                // received Creator Procedure Step Completed [RAD-21]
                TransactionNameEnum transactionName = dicomTransaction.TransactionName;
                DicomMessage        dicomMessage    = (DicomMessage)dicomTransaction.DicomMessages[0];

                // make a trigger from the transaction message
                DicomTrigger dicomTrigger = new DicomTrigger(transactionName);
                dicomTrigger.Trigger = dicomMessage;

                // trigger the following actors
                TriggerActor(ActorNameEnum.DssOrderFiller, dicomTrigger);
                TriggerActor(ActorNameEnum.ImageManager, dicomTrigger);
                break;
            }

            default:
                break;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Handle a Dicom Transaction from the given Actor Name.
        /// </summary>
        /// <param name="actorName">Source Actor Name.</param>
        /// <param name="dicomTransaction">Dicom Transaction.</param>
        protected override void HandleTransactionFrom(ActorName actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName.Type)
            {
            case ActorTypeEnum.AcquisitionModality:
            // received Modality Procedure Step In Progress [RAD-6] or
            // received Modality Procedur Step Completed [RAD-7]
            case ActorTypeEnum.EvidenceCreator:
            {
                // received Creator Procedure Step In Progress [RAD-20] or
                // received Creator Procedure Step Completed [RAD-21]
                TransactionNameEnum transactionName = dicomTransaction.TransactionName;
                DicomMessage        dicomMessage    = (DicomMessage)dicomTransaction.DicomMessages[0];

                // ignore the C-ECHO-RQ used in the Verification SOP Class
                // - no need to forward this
                if (dicomMessage.CommandSet.DimseCommand != DvtkData.Dimse.DimseCommand.CECHORQ)
                {
                    // make a trigger from the transaction message
                    DicomTrigger dicomTrigger = new DicomTrigger(transactionName);
                    dicomTrigger.AddItem(dicomMessage,
                                         "1.2.840.10008.3.1.2.3.3",
                                         "1.2.840.10008.1.2");

                    // trigger the following actors
                    bool triggerResult = TriggerActorInstances(ActorTypeEnum.DssOrderFiller, dicomTrigger, false);
                    if (triggerResult == true)
                    {
                        triggerResult = TriggerActorInstances(ActorTypeEnum.ImageManager, dicomTrigger, false);
                    }
                }
                break;
            }

            default:
                break;
            }
        }
Beispiel #3
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="transactionName">Transaction Name.</param>
 /// <param name="direction">Transaction direction - sent/received.</param>
 public DicomTransaction(TransactionNameEnum transactionName, TransactionDirectionEnum direction) : base(transactionName, direction)
 {
 }
Beispiel #4
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="transactionName">IHE Transaction Name.</param>
 /// <param name="direction">Transaction direction - sent/received.</param>
 public BaseTransaction(TransactionNameEnum transactionName, TransactionDirectionEnum direction)
 {
     _transactionName = transactionName;
     _direction       = direction;
 }
Beispiel #5
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="transactionName">Transaction Name.</param>
 /// <param name="direction">Transaction direction - sent/received.</param>
 public DicomTransaction(TransactionNameEnum transactionName, TransactionDirectionEnum direction)
     : base(transactionName, direction)
 {
 }
Beispiel #6
0
 public DicomTrigger(TransactionNameEnum triggerName)
     : base(triggerName)
 {
 }
Beispiel #7
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="transactionName">IHE Transaction Name.</param>
 /// <param name="direction">Transaction direction - sent/received.</param>
 public BaseTransaction(TransactionNameEnum transactionName, TransactionDirectionEnum direction)
 {
     _transactionName = transactionName;
     _direction = direction;
 }
Beispiel #8
0
 public Hl7Trigger(TransactionNameEnum triggerName) : base(triggerName)
 {
 }
Beispiel #9
0
 public DicomTrigger(TransactionNameEnum triggerName) : base(triggerName)
 {
 }
Beispiel #10
0
 public BaseTrigger(TransactionNameEnum triggerName)
 {
     _triggerName = triggerName;
 }
Beispiel #11
0
 public BaseTrigger(TransactionNameEnum triggerName)
 {
     _triggerName = triggerName;
 }