public override void WriteXmlConfig(XmlTextWriter writer) { writer.WriteStartElement("PeerIheActorDicomConfiguration"); writer.WriteElementString("ActorName", ActorNames.Name(ActorName)); writer.WriteElementString("SessionId", _sessionId.ToString()); writer.WriteStartElement("DvtNode"); writer.WriteElementString("AeTitle", _dvtNode.AeTitle); writer.WriteElementString("IpAddress", _dvtNode.IpAddress); writer.WriteElementString("PortNumber", _dvtNode.PortNumber.ToString()); writer.WriteEndElement(); writer.WriteStartElement("SutNode"); writer.WriteElementString("AeTitle", _sutNode.AeTitle); writer.WriteElementString("IpAddress", _sutNode.IpAddress); writer.WriteElementString("PortNumber", _sutNode.PortNumber.ToString()); writer.WriteEndElement(); writer.WriteElementString("DataDirectory", _dataDirectory); writer.WriteElementString("StoreData", _storeData.ToString()); writer.WriteStartElement("DefinitionFiles"); foreach (System.String defintionFilename in _definitionFiles) { writer.WriteElementString("DefinitionFile", defintionFilename); } writer.WriteEndElement(); writer.WriteElementString("ResultsRootDirectory", _resultsRootDirectory); writer.WriteEndElement(); }
public void SetComparators(Dvtk.Comparator.BaseComparatorCollection comparatorCollection) { if (_transaction is DicomTransaction) { System.String name = System.String.Empty; DicomTransaction dicomTransaction = (DicomTransaction)_transaction; switch (dicomTransaction.Direction) { case TransactionDirectionEnum.TransactionReceived: name = System.String.Format("Received by {0} from {1}", ActorNames.Name(_fromActorName), ActorNames.Name(_toActorName)); break; case TransactionDirectionEnum.TransactionSent: name = System.String.Format("Sent from {0} to {1}", ActorNames.Name(_fromActorName), ActorNames.Name(_toActorName)); break; default: break; } for (int i = 0; i < dicomTransaction.DicomMessages.Count; i++) { DicomMessage dicomMessage = (DicomMessage)dicomTransaction.DicomMessages[i]; DvtkHighLevelInterface.Comparator.Comparator comparator = new DvtkHighLevelInterface.Comparator.Comparator(name); Dvtk.Comparator.DicomComparator dicomComparator = comparator.InitializeDicomComparator(dicomMessage); if (dicomComparator != null) { comparatorCollection.Add(dicomComparator); } } } }
private void InitActor() { _hl7Servers = new Hashtable(); _hl7Clients = new Hashtable(); _dicomServers = new Hashtable(); _dicomClients = new Hashtable(); _actorState = ActorStateEnum.ActorCreated; _dvtThreadManager = new DvtThreadManager(ActorNames.Name(_actorName)); }
public void WriteXmlConfig(XmlTextWriter writer) { writer.WriteStartElement("IheActorConfiguration"); writer.WriteElementString("ActorName", ActorNames.Name(_actorName)); foreach (BaseConfig baseConfig in this) { baseConfig.WriteXmlConfig(writer); } writer.WriteEndElement(); }
public void StartServer() { Console.WriteLine("{0}: DICOM SCP from {1} - started on port: {2}", ActorNames.Name(ParentActor.ActorName), ActorNames.Name(ActorName), _scp.Options.DvtPort); SubscribeEvent(); int delay = 0; if (_scp != null) { _scp.Start(delay); } }
public virtual void ApplyConfig(DicomConfig config) { if (_scp != null) { _scp.Initialize(ParentActor.DvtThreadManager); _scp.Options.Identifier = String.Format("{0:000}_To_{1}_From_{2}", config.SessionId, ActorNames.Name(ParentActor.ActorName), ActorNames.Name(ActorName)); if (config.ResultsRootDirectory.Length != 0) { _scp.Options.StartAndEndResultsGathering = true; _scp.Options.ResultsFilePerAssociation = true; _scp.Options.ResultsFileName = String.Format("{0:000}_To_{1}_From_{2}_res.xml", config.SessionId, ActorNames.Name(ParentActor.ActorName), ActorNames.Name(ActorName)); _scp.Options.ResultsDirectory = config.ResultsRootDirectory; } else { _scp.Options.StartAndEndResultsGathering = false; } _scp.Options.DvtAeTitle = config.DvtAeTitle; _scp.Options.DvtPort = config.DvtPortNumber; _scp.Options.SutAeTitle = config.SutAeTitle; _scp.Options.SutPort = config.SutPortNumber; _scp.Options.SutIpAddress = config.SutIpAddress; _scp.Options.DataDirectory = config.DataDirectory; if (config.StoreData == true) { _scp.Options.StorageMode = Dvtk.Sessions.StorageMode.AsMedia; } else { _scp.Options.StorageMode = Dvtk.Sessions.StorageMode.NoStorage; } foreach (System.String filename in config.DefinitionFiles) { _scp.Options.LoadDefinitionFile(filename); } } }
public void ConsoleDisplay() { Console.WriteLine("<<- {0} -------------------------------------------------------------->>", _transactionNumber); if (_transaction is DicomTransaction) { DicomTransaction dicomTransaction = (DicomTransaction)_transaction; switch (dicomTransaction.Direction) { case TransactionDirectionEnum.TransactionReceived: Console.WriteLine("DICOM Transaction received by {0}", ActorNames.Name(_fromActorName)); Console.WriteLine("from {0}", ActorNames.Name(_toActorName)); break; case TransactionDirectionEnum.TransactionSent: Console.WriteLine("DICOM Transaction sent from {0}", ActorNames.Name(_fromActorName)); Console.WriteLine("to {0}", ActorNames.Name(_toActorName)); break; default: break; } Console.WriteLine("{0} errors, {1} warnings", _nrErrors, _nrWarnings); for (int i = 0; i < dicomTransaction.DicomMessages.Count; i++) { Console.WriteLine("DICOM Message {0}...", i + 1); DicomMessage dicomMessage = (DicomMessage)dicomTransaction.DicomMessages[i]; if (dicomMessage.CommandSet != null) { Console.WriteLine("Command Attributes: {0}", dicomMessage.CommandSet.Count); } if (dicomMessage.DataSet != null) { Console.WriteLine("Dataset Attributes: {0}", dicomMessage.DataSet.Count); } } } else { Hl7Transaction hl7Transaction = (Hl7Transaction)_transaction; } Console.WriteLine("Results Filename: \"{0}\"", _resultsFilename); Console.WriteLine("<<------------------------------------------------------------------>>"); }
private void ReportTransactions() { System.String message = System.String.Format("<h1>IHE {0} Integration Profile</h1>", _profileName); _resultsReporter.WriteHtmlInformation(message); _resultsReporter.WriteHtmlInformation("<h2>DICOM Actor Transactions</h2>"); for (int i = 0; i < _actorsTransactionLog.Count; i++) { foreach (ActorsTransaction actorsTransaction in _actorsTransactionLog) { if (actorsTransaction.TransactionNumber == i + 1) { actorsTransaction.ConvertResult(_applicationDirectory, _resultsDirectory); System.String resultsFilename = _resultsDirectory + "\\Detail_" + actorsTransaction.ResultsFilename.Replace(".xml", ".html"); switch (actorsTransaction.Direction) { case TransactionDirectionEnum.TransactionReceived: message = System.String.Format("{0:000} - <a href=\"{1}\">Received by {2} from {3}</a><br/>", actorsTransaction.TransactionNumber, resultsFilename, ActorNames.Name(actorsTransaction.FromActorName), ActorNames.Name(actorsTransaction.ToActorName)); _resultsReporter.WriteHtmlInformation(message); break; case TransactionDirectionEnum.TransactionSent: message = System.String.Format("{0:000} - <a href=\"{1}\">Sent from {2} to {3}</a><br/>", actorsTransaction.TransactionNumber, resultsFilename, ActorNames.Name(actorsTransaction.FromActorName), ActorNames.Name(actorsTransaction.ToActorName)); _resultsReporter.WriteHtmlInformation(message); break; default: break; } break; } } } }