/// <summary> /// Class constructor. /// </summary> /// <param name="parentActor">Parent Actor Name - (containing actor).</param> /// <param name="actorName">Destination Actor Name.</param> /// <param name="commonConfig">Common Configuration.</param> /// <param name="config">HL7 Configuration.</param> public Hl7Client(BaseActor parentActor, ActorName actorName, CommonConfig commonConfig, Hl7PeerToPeerConfig config) : base(parentActor, actorName) { _hl7ThreadForHl7Client = new Hl7ThreadForHl7Client(this); DvtkHighLevelInterface.Common.Threads.ThreadManager threadManager = new DvtkHighLevelInterface.Common.Threads.ThreadManager(); _hl7ThreadForHl7Client.Initialize(threadManager); _hl7ThreadForHl7Client.Options.UseResultsFileNameIndex = true; _hl7ThreadForHl7Client.Options.SessionId = config.SessionId; _hl7ThreadForHl7Client.Options.Identifier = String.Format("From_{0}_To_{1}", ParentActor.ActorName.TypeId, ActorName.TypeId); _triggerQueue = System.Collections.Queue.Synchronized(new System.Collections.Queue()); _config = config; if (commonConfig.ResultsDirectory != System.String.Empty) { if (commonConfig.ResultsSubdirectory != System.String.Empty) { _hl7ThreadForHl7Client.Options.ResultsDirectory = RootedBaseDirectory.GetFullPathname(commonConfig.RootedBaseDirectory, commonConfig.ResultsDirectory + "\\" + commonConfig.ResultsSubdirectory); } else { _hl7ThreadForHl7Client.Options.ResultsDirectory = RootedBaseDirectory.GetFullPathname(commonConfig.RootedBaseDirectory, commonConfig.ResultsDirectory); } } // Set up the HL7 Validation Profile Store if ((commonConfig.Hl7ProfileDirectory != System.String.Empty) && (commonConfig.Hl7ProfileStoreName != System.String.Empty)) { _hl7ProfileStore = new Hl7ProfileStore(RootedBaseDirectory.GetFullPathname(commonConfig.RootedBaseDirectory, commonConfig.Hl7ProfileDirectory), commonConfig.Hl7ProfileStoreName); } // Set up the HL7 Validation Context if (commonConfig.Hl7ValidationContextFilename != System.String.Empty) { _hl7ValidationContext = new Hl7ValidationContext(RootedBaseDirectory.GetFullPathname(commonConfig.RootedBaseDirectory, commonConfig.Hl7ValidationContextFilename)); } // Set up the validation Web Service if (commonConfig.NistWebServiceUrl != System.String.Empty) { _nistWebServiceClient = new NistWebServiceClient(commonConfig.NistWebServiceUrl); } }