Пример #1
0
 /// <summary>
 /// Class Constructor.
 /// </summary>
 /// <param name="profileName">Integration Profile Name.</param>
 public IheFrameworkConfig(System.String profileName)
 {
     _profileName = profileName;
     _commonConfig = new CommonConfig();
     _actorConfigCollection = new ActorConfigCollection();
     _peerToPeerConfigCollection = new BasePeerToPeerConfigCollection();
 }
Пример #2
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Retrieve Images [RAD-16]
            AddDicomServer(DicomServerTypeEnum.DicomStorageServer, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);

            // for sending Query Images [RAD-14]
            // for sending Retrieve Images [RAD-16]
            AddDicomClient(DicomClientTypeEnum.DicomQueryRetrieveClient, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);
        }
Пример #3
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for sending Patient Registration [RAD-1]
            // for sending Patient Update [Rad-12]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.OrderPlacer, commonConfig, peerToPeerConfigCollection);

            // for sending Patient Registration [RAD-1]
            // for sending Patient Update [Rad-12]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for receiving Patient Query
            AddHl7Server(Hl7ServerTypeEnum.Hl7QueryServer, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);
        }
Пример #4
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Patient Registration [RAD-1]
            // for receiving Patient Update [RAD-12]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.AdtPatientRegistration, commonConfig, peerToPeerConfigCollection);

            // for receiving Filler Order Management [RAD-3]
            // for receiving Appointment Notification [RAD-48]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Placer Order Management [RAD-2]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);
        }
Пример #5
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Patient Registration [RAD-1]
            // for receiving Patient Update [RAD-12]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.AdtPatientRegistration, commonConfig, peerToPeerConfigCollection);

            // for receiving Filler Order Management [RAD-3]
            // for receiving Appointment Notification [RAD-48]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Placer Order Management [RAD-2]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);
        }
Пример #6
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Creator Procedure Step In Progress [RAD-20]
            // for sending Creator Procedure Step Completed [RAD-21]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for sending Creator Images Stored [RAD-18]
            AddDicomClient(DicomClientTypeEnum.DicomStorageClient, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);
        }
Пример #7
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Modality Images Stored [RAD-8]
            AddDicomServer(DicomServerTypeEnum.DicomStorageServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Creator Images Stored [RAD-18]
            AddDicomServer(DicomServerTypeEnum.DicomStorageServer, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);

            // for receiving Query Images [RAD-14]
            // for receiving Retrieve Images [RAD-16]
            AddDicomServer(DicomServerTypeEnum.DicomQueryRetrieveServer, ActorTypeEnum.ImageDisplay, commonConfig, peerToPeerConfigCollection);

            // for sending Retrieve Images [RAD-16]
            UpdateDicomServer(this.ActorName, ActorTypeEnum.ImageDisplay, commonConfig, peerToPeerConfigCollection);
        }
Пример #8
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Query Modality Worklist [RAD-5]
            AddDicomClient(DicomClientTypeEnum.DicomWorklistClient, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Procedure Step In Progress [RAD-6]
            // for sending Modality Procedure Step Completed [RAD-7]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Images Stored [RAD-8]
            AddDicomClient(DicomClientTypeEnum.DicomStorageClient, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);
        }
Пример #9
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Modality Procedure Step In Progress [RAD-6]
            // for receiving Modality Procedure Step Completed [RAD-7]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Creator Procedure Step In Progress [RAD-20]
            // for receiving Creator Procedure Step Completed [RAD-21]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Procedure Step In Progress [RAD-6]
            // for sending Modality Procedure Step Completed [RAD-7]
            // for sending Creator Procedure Step In Progress [RAD-20]
            // for sending Creator Procedure Step Completed [RAD-21]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Procedure Step In Progress [RAD-6]
            // for sending Modality Procedure Step Completed [RAD-7]
            // for sending Creator Procedure Step In Progress [RAD-20]
            // for sending Creator Procedure Step Completed [RAD-21]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);
        }
Пример #10
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Patient Registration [RAD-1]
            // for receiving Patient Update [RAD-12]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.AdtPatientRegistration, commonConfig, peerToPeerConfigCollection);

            // for receiving Placer Order Management [RAD-2]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.OrderPlacer, commonConfig, peerToPeerConfigCollection);

            // for receiving Query Modality Worklist [RAD-5]
            AddDicomServer(DicomServerTypeEnum.DicomWorklistServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Modality Procedure Step In Progress [RAD-6]
            // for receiving Modality Procedure Step Completed [RAD-7]
            // for receiving Creator Procedure Step In Progress [RAD-20]
            // for receiving Creator Procedure Step Completed [RAD-21]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for receiving Instance Availability Notification [RAD-49]
//			AddDicomServer(DicomServerTypeEnum., ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Filler Order Management [RAD-3]
            // for sending Appointment Notification [RAD-48]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.OrderPlacer, commonConfig, peerToPeerConfigCollection);

            // for sending Procedure Scheduled [RAD-4]
            // for sending Patient Update [Rad-12]
            // for sending Procedure Updated [RAD-13]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Image Availability Query [RAD-11]
            // for sending Performed Work Status Update [RAD-42]
//			AddDicomClient(DicomClientTypeEnum., ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Patient Query
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.AdtPatientRegistration, commonConfig, peerToPeerConfigCollection);
        }
Пример #11
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Procedure Scheduled [RAD-4]
            // for receiving Patient Update [Rad-12]
            // for receiving Procedure Updated [RAD-13]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for receiving Image Availability Query [RAD-11]
            // for receiving Performed Work Status Update [RAD-42]
            //			AddDicomServer(DicomServerTypeEnum., ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for receiving Modality Procedure Step In Progress [RAD-6]
            // for receiving Modality Procedure Step Completed [RAD-7]
            // for receiving Creator Procedure Step In Progress [RAD-20]
            // for receiving Creator Procedure Step Completed [RAD-21]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);

            // for receiving Image Availability Query [RAD-11]
            AddDicomServer(DicomServerTypeEnum.DicomQueryRetrieveServer, ActorTypeEnum.ReportManager, commonConfig, peerToPeerConfigCollection);

            // for sending Performed Work Status Update [RAD-42]
            // for sending Instance Availability Notification [RAD-49]
            //			AddDicomClient(DicomClientTypeEnum., ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);
        }
Пример #12
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Procedure Scheduled [RAD-4]
            // for receiving Patient Update [Rad-12]
            // for receiving Procedure Updated [RAD-13]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for receiving Image Availability Query [RAD-11]
            // for receiving Performed Work Status Update [RAD-42]
//			AddDicomServer(DicomServerTypeEnum., ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for receiving Modality Procedure Step In Progress [RAD-6]
            // for receiving Modality Procedure Step Completed [RAD-7]
            // for receiving Creator Procedure Step In Progress [RAD-20]
            // for receiving Creator Procedure Step Completed [RAD-21]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);

            // for receiving Image Availability Query [RAD-11]
            AddDicomServer(DicomServerTypeEnum.DicomQueryRetrieveServer, ActorTypeEnum.ReportManager, commonConfig, peerToPeerConfigCollection);

            // for sending Performed Work Status Update [RAD-42]
            // for sending Instance Availability Notification [RAD-49]
//			AddDicomClient(DicomClientTypeEnum., ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);
        }
Пример #13
0
 /// <summary>
 /// Apply the Actor Configuration.
 /// </summary>
 /// <param name="commonConfig">Common Configuration.</param>
 /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
 protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
 {
     // for receiving Print Request with Presentation LUT [RAD-23]
     AddDicomServer(DicomServerTypeEnum.DicomPrintServer, ActorTypeEnum.PrintComposer, commonConfig, peerToPeerConfigCollection);
 }
Пример #14
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Patient Registration [RAD-1]
            // for receiving Patient Update [RAD-12]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.AdtPatientRegistration, commonConfig, peerToPeerConfigCollection);

            // for receiving Placer Order Management [RAD-2]
            AddHl7Server(Hl7ServerTypeEnum.Hl7Server, ActorTypeEnum.OrderPlacer, commonConfig, peerToPeerConfigCollection);

            // for receiving Query Modality Worklist [RAD-5]
            AddDicomServer(DicomServerTypeEnum.DicomWorklistServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Modality Procedure Step In Progress [RAD-6]
            // for receiving Modality Procedure Step Completed [RAD-7]
            // for receiving Creator Procedure Step In Progress [RAD-20]
            // for receiving Creator Procedure Step Completed [RAD-21]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for receiving Instance Availability Notification [RAD-49]
            //			AddDicomServer(DicomServerTypeEnum., ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Filler Order Management [RAD-3]
            // for sending Appointment Notification [RAD-48]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.OrderPlacer, commonConfig, peerToPeerConfigCollection);

            // for sending Procedure Scheduled [RAD-4]
            // for sending Patient Update [Rad-12]
            // for sending Procedure Updated [RAD-13]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Image Availability Query [RAD-11]
            // for sending Performed Work Status Update [RAD-42]
            //			AddDicomClient(DicomClientTypeEnum., ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Patient Query
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.AdtPatientRegistration, commonConfig, peerToPeerConfigCollection);
        }
Пример #15
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Modality Images Stored [RAD-8]
            AddDicomServer(DicomServerTypeEnum.DicomStorageServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Creator Images Stored [RAD-18]
            AddDicomServer(DicomServerTypeEnum.DicomStorageServer, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);

            // for receiving Query Images [RAD-14]
            // for receiving Retrieve Images [RAD-16]
            AddDicomServer(DicomServerTypeEnum.DicomQueryRetrieveServer, ActorTypeEnum.ImageDisplay, commonConfig, peerToPeerConfigCollection);

            // for sending Retrieve Images [RAD-16]
            UpdateDicomServer(this.ActorName, ActorTypeEnum.ImageDisplay, commonConfig, peerToPeerConfigCollection);
        }
Пример #16
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Storage Commitment [RAD-10]
            AddDicomServer(DicomServerTypeEnum.DicomStorageCommitServer, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);

            // for sending Query Modality Worklist [RAD-5]
            AddDicomClient(DicomClientTypeEnum.DicomWorklistClient, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Procedure Step In Progress [RAD-6]
            // for sending Modality Procedure Step Completed [RAD-7]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.PerformedProcedureStepManager, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Images Stored [RAD-8]
            AddDicomClient(DicomClientTypeEnum.DicomStorageClient, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);

            // for sending Storage Commitment [RAD-10]
            AddDicomClient(DicomClientTypeEnum.DicomStorageCommitClient, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);
        }
Пример #17
0
 /// <summary>
 /// Update the given DicomServer using the Destination Actor Configuration.
 /// </summary>
 /// <param name="serverActorName">DicomServer Actor Name.</param>
 /// <param name="clientActorType">DicomClient Actor Type.</param>
 /// <param name="commonConfig">Common Configuration.</param>
 /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
 protected void UpdateDicomServer(ActorName serverActorName, ActorTypeEnum clientActorType, CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
 {
     foreach (BasePeerToPeerConfig basePeerToPeerConfig in peerToPeerConfigCollection)
     {
         if ((basePeerToPeerConfig is DicomPeerToPeerConfig) &&
             (basePeerToPeerConfig.FromActorName.TypeId == serverActorName.TypeId) &&
             (basePeerToPeerConfig.ToActorName.Type == clientActorType))
         {
             DicomServer dicomServer = GetDicomServer(basePeerToPeerConfig.ToActorName);
             if (dicomServer != null)
             {
                 dicomServer.UpdateConfig(commonConfig, (DicomPeerToPeerConfig)basePeerToPeerConfig);
             }
         }
     }
 }
Пример #18
0
 /// <summary>
 /// Apply the Actor Configuration.
 /// </summary>
 /// <param name="commonConfig">Common Configuration.</param>
 /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
 protected abstract void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection);
Пример #19
0
        /// <summary>
        /// Load the Actor Configuration into the Integration Profile.
        /// </summary>
        /// <param name="configurationFilename">Configuration Filename</param>
        public void Load(System.String configurationFilename)
        {
            _actorConfigCollection = new ActorConfigCollection();
            _peerToPeerConfigCollection = new BasePeerToPeerConfigCollection();

            try
            {
                XmlTextReader reader = new XmlTextReader(configurationFilename);
                while (reader.EOF == false)
                {
                    reader.ReadStartElement("IheIntegrationProfile");
                    _profileName = reader.ReadElementString("IntegrationProfileName");
                    _commonConfig.RootedBaseDirectory = reader.ReadElementString("RootedBaseDirectory");
                    _commonConfig.ResultsDirectory = reader.ReadElementString("ResultsDirectory");

                    // read OverwriteResults - added later - some config files may not contain this parameter
                    reader.ReadString();
                    if (reader.Name == "OverwriteResults")
                    {
                        System.String overwriteResults = reader.ReadElementString("OverwriteResults");
                        if (overwriteResults == "True")
                        {
                            _commonConfig.OverwriteResults = true;
                        }
                        else
                        {
                            _commonConfig.OverwriteResults = false;
                        }
                    }

                    _commonConfig.CredentialsFilename = reader.ReadElementString("CredentialsFilename");
                    _commonConfig.CertificateFilename = reader.ReadElementString("CertificateFilename");
                    _commonConfig.NistWebServiceUrl = reader.ReadElementString("NistWebServiceUrl");
                    _commonConfig.Hl7ProfileDirectory = reader.ReadElementString("Hl7ProfileDirectory");
                    _commonConfig.Hl7ProfileStoreName = reader.ReadElementString("Hl7ProfileStoreName");
                    _commonConfig.Hl7ValidationContextFilename = reader.ReadElementString("Hl7ValidationContextFilename");
                    System.String interactive = reader.ReadElementString("Interactive");
                    if (interactive == "True")
                    {
                        _commonConfig.Interactive = true;
                    }
                    else
                    {
                        _commonConfig.Interactive = false;
                    }

                    while ((reader.IsStartElement()) &&
                        (reader.Name == "ActorConfiguration"))
                    {
                        reader.ReadStartElement("ActorConfiguration");
                        reader.ReadStartElement("ActorName");
                        ActorTypeEnum actorType = ActorTypes.TypeEnum(reader.ReadElementString("ActorType"));
                        System.String id = reader.ReadElementString("ActorId");
                        ActorName actorName = new ActorName(actorType, id);
                        reader.ReadEndElement();
                        ActorConfigStateEnum configState = ActorConfigState.ConfigStateEnum(reader.ReadElementString("ConfigState"));
                        ActorConfig actorConfig = new ActorConfig(actorName, configState);
                        _actorConfigCollection.Add(actorConfig);
                        reader.ReadEndElement();
                    }

                    while ((reader.IsStartElement()) &&
                        ((reader.Name == "DicomPeerToPeerConfiguration") ||
                        (reader.Name == "Hl7PeerToPeerConfiguration")))
                    {
                        if (reader.Name == "DicomPeerToPeerConfiguration")
                        {
                            DicomPeerToPeerConfig dicomPeerToPeerConfig = new DicomPeerToPeerConfig();

                            reader.ReadStartElement("DicomPeerToPeerConfiguration");
                            reader.ReadStartElement("FromActor");
                            reader.ReadStartElement("ActorName");
                            ActorTypeEnum actorType = ActorTypes.TypeEnum(reader.ReadElementString("ActorType"));
                            System.String id = reader.ReadElementString("ActorId");
                            ActorName actorName = new ActorName(actorType, id);
                            dicomPeerToPeerConfig.FromActorName = actorName;
                            reader.ReadEndElement();
                            dicomPeerToPeerConfig.FromActorAeTitle = reader.ReadElementString("AeTitle");
                            reader.ReadEndElement();
                            reader.ReadStartElement("ToActor");
                            reader.ReadStartElement("ActorName");
                            actorType = ActorTypes.TypeEnum(reader.ReadElementString("ActorType"));
                            id = reader.ReadElementString("ActorId");
                            actorName = new ActorName(actorType, id);
                            dicomPeerToPeerConfig.ToActorName = actorName;
                            reader.ReadEndElement();
                            dicomPeerToPeerConfig.ToActorAeTitle = reader.ReadElementString("AeTitle");
                            dicomPeerToPeerConfig.ToActorIpAddress = reader.ReadElementString("IpAddress");
                            reader.ReadEndElement();
                            dicomPeerToPeerConfig.PortNumber = UInt16.Parse(reader.ReadElementString("PortNumber"));
                            System.String secureConnection = reader.ReadElementString("SecureConnection");
                            if (secureConnection == "True")
                            {
                                dicomPeerToPeerConfig.SecureConnection = true;
                            }
                            else
                            {
                                dicomPeerToPeerConfig.SecureConnection = false;
                            }

                            // read AutoValidate - added later - some config files may not contain this parameter
                            reader.ReadString();
                            if (reader.Name == "AutoValidate")
                            {
                                System.String autoValidate = reader.ReadElementString("AutoValidate");
                                if (autoValidate == "True")
                                {
                                    dicomPeerToPeerConfig.AutoValidate = true;
                                }
                                else
                                {
                                    dicomPeerToPeerConfig.AutoValidate = false;
                                }
                            }

                            dicomPeerToPeerConfig.ActorOption1 = reader.ReadElementString("ActorOption1");
                            dicomPeerToPeerConfig.ActorOption2 = reader.ReadElementString("ActorOption2");
                            dicomPeerToPeerConfig.ActorOption3 = reader.ReadElementString("ActorOption3");
                            dicomPeerToPeerConfig.SessionId = UInt16.Parse(reader.ReadElementString("SessionId"));
                            dicomPeerToPeerConfig.SourceDataDirectory = reader.ReadElementString("SourceDataDirectory");
                            dicomPeerToPeerConfig.StoreDataDirectory = reader.ReadElementString("StoreDataDirectory");
                            System.String storeData = reader.ReadElementString("StoreData");
                            if (storeData == "True")
                            {
                                dicomPeerToPeerConfig.StoreData = true;
                            }
                            else
                            {
                                dicomPeerToPeerConfig.StoreData = false;
                            }

                            reader.ReadStartElement("DefinitionFiles");

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

                            _peerToPeerConfigCollection.Add(dicomPeerToPeerConfig);

                            reader.ReadEndElement();
                        }
                        else
                        {
                            Hl7PeerToPeerConfig hl7PeerToPeerConfig = new Hl7PeerToPeerConfig();

                            reader.ReadStartElement("Hl7PeerToPeerConfiguration");
                            reader.ReadStartElement("FromActor");
                            reader.ReadStartElement("ActorName");
                            ActorTypeEnum actorType = ActorTypes.TypeEnum(reader.ReadElementString("ActorType"));
                            System.String id = reader.ReadElementString("ActorId");
                            ActorName actorName = new ActorName(actorType, id);
                            hl7PeerToPeerConfig.FromActorName = actorName;
                            reader.ReadEndElement();
                            hl7PeerToPeerConfig.FromActorAeTitle = reader.ReadElementString("AeTitle");
                            reader.ReadEndElement();
                            reader.ReadStartElement("ToActor");
                            reader.ReadStartElement("ActorName");
                            actorType = ActorTypes.TypeEnum(reader.ReadElementString("ActorType"));
                            id = reader.ReadElementString("ActorId");
                            actorName = new ActorName(actorType, id);
                            hl7PeerToPeerConfig.ToActorName = actorName;
                            reader.ReadEndElement();
                            hl7PeerToPeerConfig.ToActorAeTitle = reader.ReadElementString("AeTitle");
                            hl7PeerToPeerConfig.ToActorIpAddress = reader.ReadElementString("IpAddress");
                            reader.ReadEndElement();
                            hl7PeerToPeerConfig.PortNumber = UInt16.Parse(reader.ReadElementString("PortNumber"));
                            hl7PeerToPeerConfig.MessageDelimiters.FromString(reader.ReadElementString("MessageDelimiters"));
                            System.String secureConnection = reader.ReadElementString("SecureConnection");
                            if (secureConnection == "True")
                            {
                                hl7PeerToPeerConfig.SecureConnection = true;
                            }
                            else
                            {
                                hl7PeerToPeerConfig.SecureConnection = false;
                            }

                            // read AutoValidate - added later - some config files may not contain this parameter
                            reader.ReadString();
                            if (reader.Name == "AutoValidate")
                            {
                                System.String autoValidate = reader.ReadElementString("AutoValidate");
                                if (autoValidate == "True")
                                {
                                    hl7PeerToPeerConfig.AutoValidate = true;
                                }
                                else
                                {
                                    hl7PeerToPeerConfig.AutoValidate = false;
                                }
                            }

                            hl7PeerToPeerConfig.ActorOption1 = reader.ReadElementString("ActorOption1");
                            hl7PeerToPeerConfig.ActorOption2 = reader.ReadElementString("ActorOption2");
                            hl7PeerToPeerConfig.ActorOption3 = reader.ReadElementString("ActorOption3");
                            hl7PeerToPeerConfig.SessionId = UInt16.Parse(reader.ReadElementString("SessionId"));

                            _peerToPeerConfigCollection.Add(hl7PeerToPeerConfig);

                            reader.ReadEndElement();
                        }
                    }

                    reader.ReadEndElement();
                }

                reader.Close();
            }
            catch (System.Exception e)
            {
                System.String message = System.String.Format("Failed to read configuration file: \"{0}\". Error: \"{1}\"", configurationFilename, e.Message);
                throw new System.SystemException(message, e);
            }
        }
Пример #20
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for sending Patient Registration [RAD-1]
            // for sending Patient Update [Rad-12]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.OrderPlacer, commonConfig, peerToPeerConfigCollection);

            // for sending Patient Registration [RAD-1]
            // for sending Patient Update [Rad-12]
            AddHl7Client(Hl7ClientTypeEnum.Hl7Client, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for receiving Patient Query
            AddHl7Server(Hl7ServerTypeEnum.Hl7QueryServer, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);
        }
Пример #21
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Retrieve Images [RAD-16]
            AddDicomServer(DicomServerTypeEnum.DicomStorageServer, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);

            // for sending Query Images [RAD-14]
            // for sending Retrieve Images [RAD-16]
            AddDicomClient(DicomClientTypeEnum.DicomQueryRetrieveClient, ActorTypeEnum.ImageArchive, commonConfig, peerToPeerConfigCollection);
        }
Пример #22
0
        /// <summary>
        /// Configure the Actor
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        public void ConfigActor(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            switch (_actorState)
            {
                case ActorStateEnum.ActorCreated:
                case ActorStateEnum.ActorStopped:
                    // initialize the actor - this allows an actor to be re-configured after being used
                    InitActor();

                    // call sub-class method to apply the actor specific config
                    ApplyConfig(commonConfig, peerToPeerConfigCollection);

                    // set state to stopped
                    _actorState = ActorStateEnum.ActorStopped;
                    break;
                default:
                    // actor is started - so cannot be (re)configured
                    break;
            }
        }
Пример #23
0
        /// <summary>
        /// Apply the Actor Configuration.
        /// </summary>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            // for receiving Modality Procedure Step In Progress [RAD-6]
            // for receiving Modality Procedure Step Completed [RAD-7]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.AcquisitionModality, commonConfig, peerToPeerConfigCollection);

            // for receiving Creator Procedure Step In Progress [RAD-20]
            // for receiving Creator Procedure Step Completed [RAD-21]
            AddDicomServer(DicomServerTypeEnum.DicomMppsServer, ActorTypeEnum.EvidenceCreator, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Procedure Step In Progress [RAD-6]
            // for sending Modality Procedure Step Completed [RAD-7]
            // for sending Creator Procedure Step In Progress [RAD-20]
            // for sending Creator Procedure Step Completed [RAD-21]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.DssOrderFiller, commonConfig, peerToPeerConfigCollection);

            // for sending Modality Procedure Step In Progress [RAD-6]
            // for sending Modality Procedure Step Completed [RAD-7]
            // for sending Creator Procedure Step In Progress [RAD-20]
            // for sending Creator Procedure Step Completed [RAD-21]
            AddDicomClient(DicomClientTypeEnum.DicomMppsClient, ActorTypeEnum.ImageManager, commonConfig, peerToPeerConfigCollection);
        }
Пример #24
0
        /// <summary>
        /// Add the given DicomClient using the Destination Actor Configuration.
        /// </summary>
        /// <param name="dicomClientType">Dicom Client Type.</param>
        /// <param name="toActorType">To Actor Type.</param>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected void AddDicomClient(DicomClientTypeEnum dicomClientType, ActorTypeEnum toActorType, CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            foreach (BasePeerToPeerConfig basePeerToPeerConfig in peerToPeerConfigCollection)
            {
                if ((basePeerToPeerConfig is DicomPeerToPeerConfig) &&
                    (basePeerToPeerConfig.FromActorName.TypeId == _actorName.TypeId) &&
                    (basePeerToPeerConfig.ToActorName.Type == toActorType))
                {
                    DicomClient dicomClient = ClientServerFactory.CreateDicomClient(dicomClientType, this, basePeerToPeerConfig.ToActorName);
                    if (dicomClient != null)
                    {
                        dicomClient.ApplyConfig(commonConfig, (DicomPeerToPeerConfig)basePeerToPeerConfig);
                        SubscribeEvent(dicomClient);
                        _dicomClients.Add(dicomClient.ActorName.TypeId, dicomClient);

                        // Initialize the connection with the to actor as being active.
                        // - this can always be overruled by the application later.
                        SetActorDefaultConnectionActive(basePeerToPeerConfig.ToActorName);
                    }
                }
            }
        }
Пример #25
0
 /// <summary>
 /// Apply the Actor Configuration.
 /// </summary>
 /// <param name="commonConfig">Common Configuration.</param>
 /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
 protected override void ApplyConfig(CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
 {
     // for sending Print Request with Presentation LUT [RAD-23]
     AddDicomClient(DicomClientTypeEnum.DicomPrintClient, ActorTypeEnum.PrintServer, commonConfig, peerToPeerConfigCollection);
 }
Пример #26
0
        /// <summary>
        /// Add an HL7Server for the given Destination Actor Name and Configuration.
        /// </summary>
        /// <param name="hl7ServerType">Hl7 Server Type.</param>
        /// <param name="fromActorType">From Actor Type.</param>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="peerToPeerConfigCollection">Peer to Peer Configuration collection.</param>
        protected void AddHl7Server(Hl7ServerTypeEnum hl7ServerType, ActorTypeEnum fromActorType, CommonConfig commonConfig, BasePeerToPeerConfigCollection peerToPeerConfigCollection)
        {
            foreach (BasePeerToPeerConfig basePeerToPeerConfig in peerToPeerConfigCollection)
            {
                if ((basePeerToPeerConfig is Hl7PeerToPeerConfig) &&
                    (basePeerToPeerConfig.ToActorName.TypeId == _actorName.TypeId) &&
                    (basePeerToPeerConfig.FromActorName.Type == fromActorType))
                {
                    Hl7Server hl7Server = ClientServerFactory.CreateHl7Server(hl7ServerType, this, basePeerToPeerConfig.FromActorName, commonConfig, (Hl7PeerToPeerConfig)basePeerToPeerConfig);
                    if (hl7Server != null)
                    {
                        SubscribeEvent(hl7Server);
                        _hl7Servers.Add(hl7Server.ActorName.TypeId, hl7Server);

                        // Initialize the connection with the from actor as being active.
                        // - this can always be overruled by the application later.
                        SetActorDefaultConnectionActive(basePeerToPeerConfig.FromActorName);
                    }
                }
            }
        }