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; } }
/// <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; } }
/// <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) { }
/// <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; }
public DicomTrigger(TransactionNameEnum triggerName) : base(triggerName) { }
public Hl7Trigger(TransactionNameEnum triggerName) : base(triggerName) { }
public BaseTrigger(TransactionNameEnum triggerName) { _triggerName = triggerName; }