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
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.DssOrderFiller:
                // received Image Availability Query [RAD-11] or
                // received Performed Work Status Update [RAD-42]
                break;

            case ActorNameEnum.PerformedProcedureStepManager:
                // received Modality Procedure Step In Progress [RAD-6] or
                // received Modality Procedure Step Completed [RAD-7] or
                // received Creator Procedure Step In Progress [RAD-20] or
                // received Creator Procedure Step Completed [RAD-21]
                break;

            case ActorNameEnum.AcquisitionModality:
                // received Storage Commitment [RAD-10]
                break;

            case ActorNameEnum.EvidenceCreator:
                // received Storage Commitment [RAD-10]
                break;

            case ActorNameEnum.ReportManager:
                // received Image Availability Query [RAD-11]
                break;

            default:
                break;
            }
        }
Beispiel #3
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 #4
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.DssOrderFiller:
             // received Image Availability Query [RAD-11] or
             // received Performed Work Status Update [RAD-42]
             break;
         case ActorNameEnum.PerformedProcedureStepManager:
             // received Modality Procedure Step In Progress [RAD-6] or
             // received Modality Procedure Step Completed [RAD-7] or
             // received Creator Procedure Step In Progress [RAD-20] or
             // received Creator Procedure Step Completed [RAD-21]
             break;
         case ActorNameEnum.AcquisitionModality:
             // received Storage Commitment [RAD-10]
             break;
         case ActorNameEnum.EvidenceCreator:
             // received Storage Commitment [RAD-10]
             break;
         case ActorNameEnum.ReportManager:
             // received Image Availability Query [RAD-11]
             break;
         default:
             break;
     }
 }
Beispiel #5
0
        public void PublishEvent(ActorNameEnum actorName, BaseTransaction transaction)
        {
            TransactionAvailableEventArgs transactionAvailableEvent = new TransactionAvailableEventArgs(actorName, transaction);

            if (OnTransactionAvailable != null)
            {
                OnTransactionAvailable(this, transactionAvailableEvent);
            }
        }
Beispiel #6
0
        private BaseActor CreateActor(System.String actorNameString)
        {
            BaseActor     actor     = null;
            ActorNameEnum actorName = ActorNames.NameEnum(actorNameString);

            switch (actorName)
            {
            case ActorNameEnum.AdtPatientRegistration:
                actor = new AdtPatientRegistrationActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.OrderPlacer:
                actor = new OrderPlacerActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.DssOrderFiller:
                actor = new DssOrderFillerActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.AcquisitionModality:
                actor = new AcquisitionModalityActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.ImageManager:
                actor = new ImageManagerActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.ImageArchive:
                actor = new ImageArchiveActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.PerformedProcedureStepManager:
                actor = new PpsManagerActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.EvidenceCreator:
                actor = new EvidenceCreatorActor(_actorsTransactionLog);
                break;

//				case ActorNameEnum.ReportManager:
//					actor = new ReportManagerActor(_actorsTransactionLog);
//					break;
            case ActorNameEnum.PrintComposer:
                actor = new PrintComposerActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.PrintServer:
                actor = new PrintServerActor(_actorsTransactionLog);
                break;

            case ActorNameEnum.Unknown:
            default:
                break;
            }

            return(actor);
        }
Beispiel #7
0
        public void PublishEvent(ActorNameEnum actorName, BaseTransaction transaction)
        {
            TransactionAvailableEventArgs transactionAvailableEvent = new TransactionAvailableEventArgs(actorName, transaction);

            if (OnTransactionAvailable != null)
            {
                OnTransactionAvailable(this, transactionAvailableEvent);
            }
        }
        public DicomStorageCommitClient(BaseActor parentActor, ActorNameEnum actorName)
            : base(parentActor, actorName)
        {
            _presentationContexts = new PresentationContext[1];

            PresentationContext presentationContext = new PresentationContext("1.2.840.10008.1.20.1", // Abstract Syntax Name
                "1.2.840.10008.1.2"); // Transfer Syntax Name(s)
            _presentationContexts[0] = presentationContext;
        }
Beispiel #9
0
        public DicomStorageClient(BaseActor parentActor, ActorNameEnum actorName) : base(parentActor, actorName)
        {
            _presentationContexts = new PresentationContext[1];

            PresentationContext presentationContext = new PresentationContext("1.2.840.10008.3.1.2.3.3", // Abstract Syntax Name
                                                                              "1.2.840.10008.1.2");      // Transfer Syntax Name(s)

            _presentationContexts[0] = presentationContext;
        }
        public DicomQueryRetrieveClient(BaseActor parentActor, ActorNameEnum actorName)
            : base(parentActor, actorName)
        {
            _presentationContexts = new PresentationContext[1];

            PresentationContext presentationContext = new PresentationContext("1.2.840.10008.3.1.2.3.3", // Abstract Syntax Name
                "1.2.840.10008.1.2"); // Transfer Syntax Name(s)
            _presentationContexts[0] = presentationContext;
        }
Beispiel #11
0
        protected void AddHl7Client(ActorNameEnum actorName, ActorConfig actorConfig)
        {
            int index = Hl7ConfigPresent(actorName, actorConfig);

            if (index != -1)
            {
                Hl7Client hl7Client = new Hl7Client(this, actorName, (Hl7Config)actorConfig[index]);
                _hl7Clients.Add(actorName, hl7Client);
            }
        }
Beispiel #12
0
        public static ActorNameEnum NameEnum(System.String name)
        {
            ActorNameEnum nameEnum = ActorNameEnum.Unknown;

            if (name == "AdtPatientRegistration")
            {
                nameEnum = ActorNameEnum.AdtPatientRegistration;
            }
            else if (name == "OrderPlacer")
            {
                nameEnum = ActorNameEnum.OrderPlacer;
            }
            else if (name == "DssOrderFiller")
            {
                nameEnum = ActorNameEnum.DssOrderFiller;
            }
            else if (name == "AcquisitionModality")
            {
                nameEnum = ActorNameEnum.AcquisitionModality;
            }
            else if (name == "ImageManager")
            {
                nameEnum = ActorNameEnum.ImageManager;
            }
            else if (name == "ImageArchive")
            {
                nameEnum = ActorNameEnum.ImageArchive;
            }
            else if (name == "PerformedProcedureStepManager")
            {
                nameEnum = ActorNameEnum.PerformedProcedureStepManager;
            }
            else if (name == "ImageDisplay")
            {
                nameEnum = ActorNameEnum.ImageDisplay;
            }
            else if (name == "EvidenceCreator")
            {
                nameEnum = ActorNameEnum.EvidenceCreator;
            }
            else if (name == "ReportManager")
            {
                nameEnum = ActorNameEnum.ReportManager;
            }
            else if (name == "PrintComposer")
            {
                nameEnum = ActorNameEnum.PrintComposer;
            }
            else if (name == "PrintServer")
            {
                nameEnum = ActorNameEnum.PrintServer;
            }

            return(nameEnum);
        }
Beispiel #13
0
        protected void AddHl7Server(ActorNameEnum actorName, ActorConfig actorConfig)
        {
            int index = Hl7ConfigPresent(actorName, actorConfig);

            if (index != -1)
            {
                Hl7Server hl7Server = new Hl7Server(this, actorName, (Hl7Config)actorConfig[index]);
                SubscribeEvent(hl7Server);
                _hl7Servers.Add(actorName, hl7Server);
            }
        }
Beispiel #14
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.ImageArchive:
             // received Retrieve Images [RAD-16]
             break;
         default:
             break;
     }
 }
Beispiel #15
0
 public Hl7Config(ActorNameEnum actorName) : base(actorName)
 {
     _sessionId            = 0;
     _dvtNode.AeTitle      = "HL7_AE";
     _dvtNode.IpAddress    = "localhost";
     _dvtNode.PortNumber   = 104;
     _sutNode.AeTitle      = "SUT_AE";
     _sutNode.IpAddress    = "localhost";
     _sutNode.PortNumber   = 104;
     _resultsRootDirectory = "";
 }
Beispiel #16
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.ImageManager:
             // received Storage Commitment [RAD-10]
             break;
         default:
             break;
     }
 }
Beispiel #17
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.DssOrderFiller:
             // received Procedure Scheduled [RAD-4] or
             // received Procedure Updated [RAD-13]
             break;
         default:
             break;
     }
 }
Beispiel #18
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.ImageArchive:
                // received Retrieve Images [RAD-16]
                break;

            default:
                break;
            }
        }
Beispiel #19
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.ImageManager:
                // received Storage Commitment [RAD-10]
                break;

            default:
                break;
            }
        }
Beispiel #20
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.PrintComposer:
                // received Print Request with Presentation LUT [RAD-23]
                break;

            default:
                break;
            }
        }
Beispiel #21
0
 public Hl7Config(ActorNameEnum actorName)
     : base(actorName)
 {
     _sessionId = 0;
     _dvtNode.AeTitle = "HL7_AE";
     _dvtNode.IpAddress = "localhost";
     _dvtNode.PortNumber = 104;
     _sutNode.AeTitle = "SUT_AE";
     _sutNode.IpAddress = "localhost";
     _sutNode.PortNumber = 104;
     _resultsRootDirectory = "";
 }
Beispiel #22
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.DssOrderFiller:
                // received Procedure Scheduled [RAD-4] or
                // received Procedure Updated [RAD-13]
                break;

            default:
                break;
            }
        }
Beispiel #23
0
 public DicomConfig(ActorNameEnum actorName) : base(actorName)
 {
     _sessionId            = 0;
     _dvtNode.AeTitle      = "DVT_AE";
     _dvtNode.IpAddress    = "localhost";
     _dvtNode.PortNumber   = 104;
     _sutNode.AeTitle      = "SUT_AE";
     _sutNode.IpAddress    = "localhost";
     _sutNode.PortNumber   = 104;
     _definitionFiles      = new ArrayList();
     _dataDirectory        = "";
     _storeData            = false;
     _resultsRootDirectory = "";
 }
Beispiel #24
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.AdtPatientRegistration:
             // received Patient Registration [RAD-1] or
             // received Patient Update [RAD-12]
             break;
         case ActorNameEnum.OrderPlacer:
             // received Placer Order Management [RAD-2]
             break;
         default:
             break;
     }
 }
Beispiel #25
0
 public DicomConfig(ActorNameEnum actorName)
     : base(actorName)
 {
     _sessionId = 0;
     _dvtNode.AeTitle = "DVT_AE";
     _dvtNode.IpAddress = "localhost";
     _dvtNode.PortNumber = 104;
     _sutNode.AeTitle = "SUT_AE";
     _sutNode.IpAddress = "localhost";
     _sutNode.PortNumber = 104;
     _definitionFiles = new ArrayList();
     _dataDirectory = "";
     _storeData = false;
     _resultsRootDirectory = "";
 }
Beispiel #26
0
        private int DicomConfigPresent(ActorNameEnum actorName, ActorConfig actorConfig)
        {
            int index = 0;

            foreach (BaseConfig baseConfig in actorConfig)
            {
                if ((baseConfig is DicomConfig) &&
                    (baseConfig.ActorName == actorName))
                {
                    return(index);
                }
                index++;
            }

            return(-1);
        }
Beispiel #27
0
 public ActorsTransaction(int transactionNumber,
                          ActorNameEnum fromActorName,
                          ActorNameEnum toActorName,
                          BaseTransaction transaction,
                          System.String resultsFilename,
                          uint nrErrors,
                          uint nrWarnings)
 {
     _transactionNumber = transactionNumber;
     _fromActorName     = fromActorName;
     _toActorName       = toActorName;
     _transaction       = transaction;
     _resultsFilename   = resultsFilename;
     _nrErrors          = nrErrors;
     _nrWarnings        = nrWarnings;
 }
Beispiel #28
0
        public ActorsTransaction(int transactionNumber,
								ActorNameEnum fromActorName, 
								ActorNameEnum toActorName, 
								BaseTransaction transaction,
								System.String resultsFilename,
								uint nrErrors,
								uint nrWarnings)
        {
            _transactionNumber = transactionNumber;
            _fromActorName = fromActorName;
            _toActorName = toActorName;
            _transaction = transaction;
            _resultsFilename = resultsFilename;
            _nrErrors = nrErrors;
            _nrWarnings = nrWarnings;
        }
Beispiel #29
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.AdtPatientRegistration:
             // received Patient Registration [RAD-1] or
             // received Patient Update [RAD-12]
             break;
         case ActorNameEnum.DssOrderFiller:
             // received Filler Order Management [RAD-3] or
             // received Appointment Notification [RAD-48]
             break;
         default:
             break;
     }
 }
Beispiel #30
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.AdtPatientRegistration:
                // received Patient Registration [RAD-1] or
                // received Patient Update [RAD-12]
                break;

            case ActorNameEnum.OrderPlacer:
                // received Placer Order Management [RAD-2]
                break;

            default:
                break;
            }
        }
Beispiel #31
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.AdtPatientRegistration:
                // received Patient Registration [RAD-1] or
                // received Patient Update [RAD-12]
                break;

            case ActorNameEnum.DssOrderFiller:
                // received Filler Order Management [RAD-3] or
                // received Appointment Notification [RAD-48]
                break;

            default:
                break;
            }
        }
Beispiel #32
0
 public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
 {
     switch (actorName)
     {
         case ActorNameEnum.AcquisitionModality:
             // received Query Modality Worklist [RAD-5]
             break;
         case ActorNameEnum.PerformedProcedureStepManager:
             // received Modality Procedure Step In Progress [RAD-6] or
             // received Modality Procedure Step Completed [RAD-7] or
             // received Creator Procedure Step In Progress [RAD-20] or
             // received Creator Procedure Step Completed [RAD-21]
             break;
         case ActorNameEnum.ImageManager:
             // received Instance Availability Notification [RAD-49]
             break;
         default:
             break;
     }
 }
Beispiel #33
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.AcquisitionModality:
                // received Modality Images Stored [RAD-8]
                break;

            case ActorNameEnum.EvidenceCreator:
                // received Creator Images Stored [RAD-18]
                break;

            case ActorNameEnum.ImageDisplay:
                // received Query Images [RAD-14] or
                // received Retrieve Images [RAD-16]
                break;

            default:
                break;
            }
        }
Beispiel #34
0
 public void TriggerActor(ActorNameEnum actorName, BaseTrigger trigger)
 {
     // can only trigger an actor that is started
     if (_actorState == ActorStateEnum.ActorStarted)
     {
         if (trigger is Hl7Trigger)
         {
             Hl7Client hl7Client = GetHl7Client(actorName);
             if (hl7Client != null)
             {
                 hl7Client.TriggerClient(actorName, trigger);
             }
         }
         else
         {
             DicomClient dicomClient = GetDicomClient(actorName);
             if (dicomClient != null)
             {
                 dicomClient.TriggerClient(actorName, trigger);
             }
         }
     }
 }
Beispiel #35
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.AcquisitionModality:
                // received Query Modality Worklist [RAD-5]
                break;

            case ActorNameEnum.PerformedProcedureStepManager:
                // received Modality Procedure Step In Progress [RAD-6] or
                // received Modality Procedure Step Completed [RAD-7] or
                // received Creator Procedure Step In Progress [RAD-20] or
                // received Creator Procedure Step Completed [RAD-21]
                break;

            case ActorNameEnum.ImageManager:
                // received Instance Availability Notification [RAD-49]
                break;

            default:
                break;
            }
        }
Beispiel #36
0
        public static System.String Name(ActorNameEnum actorName)
        {
            System.String name = "Unknown";

            switch(actorName)
            {
                case ActorNameEnum.AdtPatientRegistration: name = "AdtPatientRegistration"; break;
                case ActorNameEnum.OrderPlacer: name = "OrderPlacer"; break;
                case ActorNameEnum.DssOrderFiller: name = "DssOrderFiller"; break;
                case ActorNameEnum.AcquisitionModality: name = "AcquisitionModality"; break;
                case ActorNameEnum.ImageManager: name = "ImageManager"; break;
                case ActorNameEnum.ImageArchive: name = "ImageArchive"; break;
                case ActorNameEnum.PerformedProcedureStepManager: name = "PerformedProcedureStepManager"; break;
                case ActorNameEnum.ImageDisplay: name = "ImageDisplay"; break;
                case ActorNameEnum.EvidenceCreator: name = "EvidenceCreator"; break;
                case ActorNameEnum.ReportManager: name = "ReportManager"; break;
                case ActorNameEnum.PrintComposer: name = "PrintComposer"; break;
                case ActorNameEnum.PrintServer: name = "PrintServer"; break;
                default:
                    break;
            }

            return name;
        }
Beispiel #37
0
        public static System.String Name(ActorNameEnum actorName)
        {
            System.String name = "Unknown";

            switch (actorName)
            {
            case ActorNameEnum.AdtPatientRegistration: name = "AdtPatientRegistration"; break;

            case ActorNameEnum.OrderPlacer: name = "OrderPlacer"; break;

            case ActorNameEnum.DssOrderFiller: name = "DssOrderFiller"; break;

            case ActorNameEnum.AcquisitionModality: name = "AcquisitionModality"; break;

            case ActorNameEnum.ImageManager: name = "ImageManager"; break;

            case ActorNameEnum.ImageArchive: name = "ImageArchive"; break;

            case ActorNameEnum.PerformedProcedureStepManager: name = "PerformedProcedureStepManager"; break;

            case ActorNameEnum.ImageDisplay: name = "ImageDisplay"; break;

            case ActorNameEnum.EvidenceCreator: name = "EvidenceCreator"; break;

            case ActorNameEnum.ReportManager: name = "ReportManager"; break;

            case ActorNameEnum.PrintComposer: name = "PrintComposer"; break;

            case ActorNameEnum.PrintServer: name = "PrintServer"; break;

            default:
                break;
            }

            return(name);
        }
Beispiel #38
0
        public void LoadConfiguration(System.String configurationFilename)
        {
            XmlTextReader reader = new XmlTextReader(configurationFilename);

            while (reader.EOF == false)
            {
                reader.ReadStartElement("IheIntegrationProfile");
                _profileName = reader.ReadElementString("IntegrationProfileName");

                while (reader.IsStartElement())
                {
                    reader.ReadStartElement("IheActorConfiguration");
                    System.String actorNameString = reader.ReadElementString("ActorName");

                    BaseActor   actor       = CreateActor(actorNameString);
                    ActorConfig actorConfig = new ActorConfig(actor.ActorName);

                    while (reader.IsStartElement())
                    {
                        reader.ReadStartElement("PeerIheActorDicomConfiguration");
                        System.String peerActorNameString = reader.ReadElementString("ActorName");

                        ActorNameEnum peerActorName = ActorNames.NameEnum(peerActorNameString);
                        DicomConfig   dicomConfig   = new DicomConfig(peerActorName);

                        dicomConfig.SessionId = UInt16.Parse(reader.ReadElementString("SessionId"));
                        reader.ReadStartElement("DvtNode");
                        dicomConfig.DvtAeTitle    = reader.ReadElementString("AeTitle");
                        dicomConfig.DvtIpAddress  = reader.ReadElementString("IpAddress");
                        dicomConfig.DvtPortNumber = UInt16.Parse(reader.ReadElementString("PortNumber"));
                        reader.ReadEndElement();
                        reader.ReadStartElement("SutNode");
                        dicomConfig.SutAeTitle    = reader.ReadElementString("AeTitle");
                        dicomConfig.SutIpAddress  = reader.ReadElementString("IpAddress");
                        dicomConfig.SutPortNumber = UInt16.Parse(reader.ReadElementString("PortNumber"));
                        reader.ReadEndElement();
                        dicomConfig.DataDirectory = reader.ReadElementString("DataDirectory");
                        System.String storeData = reader.ReadElementString("StoreData");
                        if (storeData == "True")
                        {
                            dicomConfig.StoreData = true;
                        }
                        else
                        {
                            dicomConfig.StoreData = false;
                        }
                        reader.ReadStartElement("DefinitionFiles");

                        bool readingDefinitions = true;
                        while (readingDefinitions == true)
                        {
                            dicomConfig.AddDefinitionFile(reader.ReadElementString("DefinitionFile"));
                            reader.Read();
                            if ((reader.NodeType == XmlNodeType.EndElement) &&
                                (reader.Name == "DefinitionFiles"))
                            {
                                reader.Read();
                                readingDefinitions = false;
                            }
                        }

                        dicomConfig.ResultsRootDirectory = reader.ReadElementString("ResultsRootDirectory");

                        _resultsDirectory = dicomConfig.ResultsRootDirectory;

                        reader.ReadEndElement();

                        actorConfig.Add(dicomConfig);
                    }
                    reader.ReadEndElement();

                    actor.ConfigActor(actorConfig);
                    _actors.Add(actor);
                }
                reader.ReadEndElement();
            }

            reader.Close();
        }
Beispiel #39
0
 public DicomServer GetDicomServer(ActorNameEnum actorName)
 {
     return (DicomServer)_dicomServers[actorName];
 }
Beispiel #40
0
 public Hl7Client GetHl7Client(ActorNameEnum actorName)
 {
     return (Hl7Client)_hl7Clients[actorName];
 }
Beispiel #41
0
 public DicomStorageCommitServer(BaseActor parentActor, ActorNameEnum actorName) : base(parentActor, actorName)
 {
     // set up the Query/Retrieve information models
     _informationModels = new QueryRetrieveInformationModels();
 }
Beispiel #42
0
 public BaseClient(BaseActor parentActor, ActorNameEnum actorName)
 {
     _parentActor = parentActor;
     _actorName   = actorName;
 }
Beispiel #43
0
 public void TriggerActor(ActorNameEnum actorName, BaseTrigger trigger)
 {
     // can only trigger an actor that is started
     if (_actorState == ActorStateEnum.ActorStarted)
     {
         if (trigger is Hl7Trigger)
         {
             Hl7Client hl7Client = GetHl7Client(actorName);
             if (hl7Client != null)
             {
                 hl7Client.TriggerClient(actorName, trigger);
             }
         }
         else
         {
             DicomClient dicomClient = GetDicomClient(actorName);
             if (dicomClient != null)
             {
                 dicomClient.TriggerClient(actorName, trigger);
             }
         }
     }
 }
Beispiel #44
0
 public Hl7Client(BaseActor parentActor, ActorNameEnum actorName, Hl7Config config) : base(parentActor, actorName)
 {
     _config = config;
 }
Beispiel #45
0
 public DicomClient(BaseActor parentActor, ActorNameEnum actorName)
     : base(parentActor, actorName)
 {
     _scu = new DicomScu(this);
 }
Beispiel #46
0
 public Hl7Server GetHl7Server(ActorNameEnum actorName)
 {
     return (Hl7Server)_hl7Servers[actorName];
 }
Beispiel #47
0
 public DicomWorklistServer(BaseActor parentActor, ActorNameEnum actorName) : base(parentActor, actorName)
 {
 }
Beispiel #48
0
 public virtual void HandleTransactionFrom(ActorNameEnum actorName, Hl7Transaction hl7Transaction)
 {
 }
Beispiel #49
0
 protected void AddHl7Server(ActorNameEnum actorName, ActorConfig actorConfig)
 {
     int index = Hl7ConfigPresent(actorName, actorConfig);
     if (index != -1)
     {
         Hl7Server hl7Server = new Hl7Server(this, actorName, (Hl7Config)actorConfig[index]);
         SubscribeEvent(hl7Server);
         _hl7Servers.Add(actorName, hl7Server);
     }
 }
Beispiel #50
0
 protected void AddHl7Client(ActorNameEnum actorName, ActorConfig actorConfig)
 {
     int index = Hl7ConfigPresent(actorName, actorConfig);
     if (index != -1)
     {
         Hl7Client hl7Client = new Hl7Client(this, actorName, (Hl7Config)actorConfig[index]);
         _hl7Clients.Add(actorName, hl7Client);
     }
 }
Beispiel #51
0
 public BaseConfig(ActorNameEnum actorName)
 {
     _actorName = actorName;
 }
Beispiel #52
0
 public void TriggerClient(ActorNameEnum actorName, BaseTrigger trigger)
 {
     DicomTrigger dicomTrigger = (DicomTrigger) trigger;
     _scu.Trigger(dicomTrigger.Trigger, _presentationContexts);
 }
Beispiel #53
0
 public DicomClient GetDicomClient(ActorNameEnum actorName)
 {
     return (DicomClient)_dicomClients[actorName];
 }
Beispiel #54
0
 public DicomWorklistServer(BaseActor parentActor, ActorNameEnum actorName)
     : base(parentActor, actorName)
 {
 }
 public DicomStorageServer(BaseActor parentActor, ActorNameEnum actorName) : base(parentActor, actorName)
 {
 }
Beispiel #56
0
 public virtual void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
 {
 }
Beispiel #57
0
        private int Hl7ConfigPresent(ActorNameEnum actorName, ActorConfig actorConfig)
        {
            int index = 0;
            foreach (BaseConfig baseConfig in actorConfig)
            {
                if ((baseConfig is Hl7Config) &&
                    (baseConfig.ActorName == actorName))
                {
                    return index;
                }
                index++;
            }

            return -1;
        }
Beispiel #58
0
 public void TriggerClient(ActorNameEnum actorName, BaseTrigger trigger)
 {
 }
Beispiel #59
0
 public void TriggerClient(ActorNameEnum actorName, BaseTrigger trigger)
 {
 }
Beispiel #60
0
 public BaseActor(ActorNameEnum actorName, ActorsTransactionLog actorsTransactionLog)
 {
     _actorName = actorName;
     _actorsTransactionLog = actorsTransactionLog;
     InitActor();
 }