Пример #1
0
        /// <summary>
        /// Class constructor.
        /// </summary>
        /// <param name="parentActor">Parent Actor Name - containing actor.</param>
        /// <param name="actorName">Destination Actor Name.</param>
        public DicomMppsClient(BaseActor parentActor, ActorName actorName)
            : base(parentActor, actorName, false)
        {
            _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;
        }
Пример #2
0
        /// <summary>
        /// Class constructor.
        /// </summary>
        /// <param name="parentActor">Parent Actor Name - containing actor.</param>
        /// <param name="actorName">Destination Actor Name.</param>
        public DicomStorageCommitClient(BaseActor parentActor, ActorName actorName)
            : base(parentActor, actorName, true)
        {
            _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;
        }
Пример #3
0
        /// <summary>
        /// Class constructor.
        /// </summary>
        /// <param name="parentActor">Parent Actor Name - containing actor.</param>
        /// <param name="actorName">Destination Actor Name.</param>
        public DicomStorageClient(BaseActor parentActor, ActorName actorName)
            : base(parentActor, actorName, false)
        {
            _presentationContexts = new PresentationContext[1];

            String[] transferSyntaxes = new String[1];
            transferSyntaxes[0] = "1.2.840.10008.1.2"; // Transfer Syntax Name(s)
            PresentationContext presentationContext = new PresentationContext("1.2.840.10008.5.1.4.1.1.7", // Abstract Syntax Name
                transferSyntaxes);
            _presentationContexts[0] = presentationContext;
        }
Пример #4
0
        /// <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);
            }
        }
Пример #5
0
        /// <summary>
        /// Class constructor.
        /// </summary>
        /// <param name="parentActor">Parent Actor Name - (containing actor).</param>
        /// <param name="actorName">Destination Actor Name.</param>
        /// <param name="storageCommitmentScu">Boolean indicating if this is a Storage Commitment SCU or not.</param>
        public DicomClient(BaseActor parentActor, ActorName actorName, bool storageCommitmentScu)
            : base(parentActor, actorName)
        {
            if (storageCommitmentScu == true)
            {
                _scu = new DicomStorageCommitmentScu(this);
            }
            else
            {
                _scu = new DicomScu(this);
            }

            // set up the default transfer syntaxes proposed
            _transferSyntaxes = new TransferSyntaxes(HliScp.IMPLICIT_VR_LITTLE_ENDIAN,
                HliScp.EXPLICIT_VR_LITTLE_ENDIAN,
                HliScp.EXPLICIT_VR_BIG_ENDIAN);
        }
Пример #6
0
        /// <summary>
        /// Create an Hl7 Client of the given type.
        /// </summary>
        /// <param name="hl7ClientType">Hl7 Client Type - enum.</param>
        /// <param name="fromActor">From Actor instance.</param>
        /// <param name="toActorName">To Actor Name.</param>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="config">HL7 Configuration.</param>
        /// <returns>Hl7 Client.</returns>
        public static Hl7Client CreateHl7Client(Hl7ClientTypeEnum hl7ClientType, BaseActor fromActor, ActorName toActorName, CommonConfig commonConfig, Hl7PeerToPeerConfig config)
        {
            Hl7Client hl7Client = null;

            switch (hl7ClientType)
            {
            case Hl7ClientTypeEnum.Hl7Client:
                hl7Client = new Hl7Client(fromActor, toActorName, commonConfig, config);
                break;

            case Hl7ClientTypeEnum.Unknown:
            default:
                break;
            }

            return(hl7Client);
        }
Пример #7
0
        /// <summary>
        /// Create a Hl7 Server of the given type.
        /// </summary>
        /// <param name="hl7ServerType">Hl7 Server Type - enum.</param>
        /// <param name="toActor">To Actor instance.</param>
        /// <param name="fromActorName">From Actor Name.</param>
        /// <param name="commonConfig">Common Configuration.</param>
        /// <param name="config">HL7 Configuration.</param>
        /// <returns>Hl7 Server.</returns>
        public static Hl7Server CreateHl7Server(Hl7ServerTypeEnum hl7ServerType, BaseActor toActor, ActorName fromActorName, CommonConfig commonConfig, Hl7PeerToPeerConfig config)
        {
            Hl7Server hl7Server = null;

            switch (hl7ServerType)
            {
            case Hl7ServerTypeEnum.Hl7QueryServer:
                hl7Server = new Hl7QueryServer(toActor, fromActorName, commonConfig, config);
                break;

            case Hl7ServerTypeEnum.Hl7Server:
                hl7Server = new Hl7Server(toActor, fromActorName, commonConfig, config);
                break;

            case Hl7ServerTypeEnum.Unknown:
            default:
                break;
            }

            return(hl7Server);
        }
Пример #8
0
 /// <summary>
 /// Searches for the specified <see cref="BaseActor"/> and 
 /// returns the zero-based index of the first occurrence within the entire <see cref="ActorCollection"/>.
 /// </summary>
 /// <param name="value">The <see cref="BaseActor"/> to locate in the <see cref="ActorCollection"/>.</param>
 /// <returns>
 /// The zero-based index of the first occurrence of value within the entire <see cref="ActorCollection"/>, 
 /// if found; otherwise, -1.
 /// </returns>
 public int IndexOf(BaseActor value)
 {
     return (List.IndexOf(value));
 }
Пример #9
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name - containing actor.</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public DicomWorklistServer(BaseActor parentActor, ActorName actorName)
     : base(parentActor, actorName)
 {
 }
Пример #10
0
 /// <summary>
 /// Copies the elements of the <see cref="ICollection"/> to a strong-typed <c>BaseActor[]</c>, 
 /// starting at a particular <c>BaseActor[]</c> index.
 /// </summary>
 /// <param name="array">
 /// The one-dimensional <c>BaseActor[]</c> that is the destination of the elements 
 /// copied from <see cref="ICollection"/>.
 /// The <c>BaseActor[]</c> must have zero-based indexing. 
 /// </param>
 /// <param name="index">
 /// The zero-based index in array at which copying begins.
 /// </param>
 /// <remarks>
 /// Provides the strongly typed member for <see cref="ICollection"/>.
 /// </remarks>
 public void CopyTo(BaseActor[] array, int index)
 {
     ((ICollection)this).CopyTo(array, index);
 }
Пример #11
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name (containing Actor).</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public BaseServer(BaseActor parentActor, ActorName actorName)
 {
     _parentActor = parentActor;
     _actorName = actorName;
 }
Пример #12
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name - containing actor.</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public DicomStorageServer(BaseActor parentActor, ActorName actorName)
     : base(parentActor, actorName)
 {
 }
Пример #13
0
 /// <summary>
 /// Adds an object to the end of the <see cref="ActorCollection"/>.
 /// </summary>
 /// <param name="value">The <see cref="BaseActor"/> to be added to the end of the <see cref="ActorCollection"/>.</param>
 /// <returns>The <see cref="ActorCollection"/> index at which the value has been added.</returns>
 public int Add(BaseActor value)
 {
     return (List.Add(value));
 }
Пример #14
0
		/// <summary>
		/// Create a Dicom Client of the given type.
		/// </summary>
		/// <param name="dicomClientType">Dicom Client Type - enum.</param>
		/// <param name="fromActor">From Actor instance.</param>
		/// <param name="toActorName">To Actor Name.</param>
		/// <returns>Dicom Client.</returns>
		public static DicomClient CreateDicomClient(DicomClientTypeEnum dicomClientType, BaseActor fromActor, ActorName toActorName)
		{
			DicomClient dicomClient = null;

			switch (dicomClientType)
			{
				case DicomClientTypeEnum.DicomMppsClient:
					dicomClient = new DicomMppsClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomPrintClient:
                    dicomClient = new DicomPrintClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomQueryRetrieveClient:
                    dicomClient = new DicomQueryRetrieveClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomStorageCommitClient:
                    dicomClient = new DicomStorageCommitClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomStorageClient:
                    dicomClient = new DicomStorageClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.DicomWorklistClient:
                    dicomClient = new DicomWorklistClient(fromActor, toActorName);
					break;
				case DicomClientTypeEnum.Unknown:
				default:
					break;
			}

			return dicomClient;
		}
Пример #15
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name - containing actor.</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public DicomStorageCommitServer(BaseActor parentActor, ActorName actorName)
     : base(parentActor, actorName)
 {
     // set up the Query/Retrieve information models
     _informationModels = new QueryRetrieveInformationModels();
 }
Пример #16
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name (containing Actor).</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public BaseClient(BaseActor parentActor, ActorName actorName)
 {
     _parentActor = parentActor;
     _actorName   = actorName;
 }
Пример #17
0
        /// <summary>
        /// Create a Dicom Server of the given type.
        /// </summary>
        /// <param name="dicomServerType">Dicom Server Type - enum.</param>
        /// <param name="toActor">To Actor instance.</param>
        /// <param name="fromActorName">From Actor Name.</param>
        /// <returns>Dicom Server.</returns>
        public static DicomServer CreateDicomServer(DicomServerTypeEnum dicomServerType, BaseActor toActor, ActorName fromActorName)
        {
            DicomServer dicomServer = null;

            switch (dicomServerType)
            {
            case DicomServerTypeEnum.DicomMppsServer:
                dicomServer = new DicomMppsServer(toActor, fromActorName);
                break;

            case DicomServerTypeEnum.DicomPrintServer:
                dicomServer = new DicomPrintServer(toActor, fromActorName);
                break;

            case DicomServerTypeEnum.DicomQueryRetrieveServer:
                dicomServer = new DicomQueryRetrieveServer(toActor, fromActorName);
                break;

            case DicomServerTypeEnum.DicomStorageCommitServer:
                dicomServer = new DicomStorageCommitServer(toActor, fromActorName);
                break;

            case DicomServerTypeEnum.DicomStorageServer:
                dicomServer = new DicomStorageServer(toActor, fromActorName);
                break;

            case DicomServerTypeEnum.DicomWorklistServer:
                dicomServer = new DicomWorklistServer(toActor, fromActorName);
                break;

            case DicomServerTypeEnum.Unknown:
            default:
                break;
            }

            return(dicomServer);
        }
Пример #18
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name - containing actor.</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public DicomMppsServer(BaseActor parentActor, ActorName actorName)
     : base(parentActor, actorName)
 {
 }
Пример #19
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name (containing Actor).</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public BaseClient(BaseActor parentActor, ActorName actorName)
 {
     _parentActor = parentActor;
     _actorName = actorName;
 }
Пример #20
0
		/// <summary>
		/// Create an Hl7 Client of the given type.
		/// </summary>
		/// <param name="hl7ClientType">Hl7 Client Type - enum.</param>
		/// <param name="fromActor">From Actor instance.</param>
		/// <param name="toActorName">To Actor Name.</param>
		/// <param name="commonConfig">Common Configuration.</param>
		/// <param name="config">HL7 Configuration.</param>
		/// <returns>Hl7 Client.</returns>
		public static Hl7Client CreateHl7Client(Hl7ClientTypeEnum hl7ClientType, BaseActor fromActor, ActorName toActorName, CommonConfig commonConfig, Hl7PeerToPeerConfig config)
		{
			Hl7Client hl7Client = null;

			switch (hl7ClientType)
			{
				case Hl7ClientTypeEnum.Hl7Client:
					hl7Client = new Hl7Client(fromActor, toActorName, commonConfig, config);
					break;
				case Hl7ClientTypeEnum.Unknown:
				default:
					break;
			}

			return hl7Client;
		}
Пример #21
0
        private void AttachActorToActorUserInterfaces(BaseActor actor)
        {
            foreach (Dvtk.IheActors.UserInterfaces.IIheFrameworkUserInterface iheFrameworkUserInterface in this._attachedUserInterfaces)
            {
                if (iheFrameworkUserInterface is Dvtk.IheActors.UserInterfaces.IActorUserInterface)
                {
                    Dvtk.IheActors.UserInterfaces.IActorUserInterface actorUserInterface = iheFrameworkUserInterface as Dvtk.IheActors.UserInterfaces.IActorUserInterface;

                    actorUserInterface.Attach(actor);
                }
            }
        }
Пример #22
0
 /// <summary>
 /// Inserts an <see cref="BaseActor"/> element into the <see cref="ActorCollection"/> at the specified index.
 /// </summary>
 /// <param name="index">The zero-based index at which value should be inserted.</param>
 /// <param name="value">The <see cref="BaseActor"/> to insert.</param>
 public void Insert(int index, BaseActor value)
 {
     List.Insert(index, value);
 }
Пример #23
0
		/// <summary>
		/// Create a Dicom Server of the given type.
		/// </summary>
		/// <param name="dicomServerType">Dicom Server Type - enum.</param>
		/// <param name="toActor">To Actor instance.</param>
		/// <param name="fromActorName">From Actor Name.</param>
		/// <returns>Dicom Server.</returns>
		public static DicomServer CreateDicomServer(DicomServerTypeEnum dicomServerType, BaseActor toActor, ActorName fromActorName)
		{
			DicomServer dicomServer = null;

			switch (dicomServerType)
			{
				case DicomServerTypeEnum.DicomMppsServer:
					dicomServer = new DicomMppsServer(toActor, fromActorName);
					break;
				case DicomServerTypeEnum.DicomPrintServer:
					dicomServer = new DicomPrintServer(toActor, fromActorName);
					break;
				case DicomServerTypeEnum.DicomQueryRetrieveServer:
					dicomServer = new DicomQueryRetrieveServer(toActor, fromActorName);
					break;
				case DicomServerTypeEnum.DicomStorageCommitServer:
					dicomServer = new DicomStorageCommitServer(toActor, fromActorName);
					break;
				case DicomServerTypeEnum.DicomStorageServer:
					dicomServer = new DicomStorageServer(toActor, fromActorName);
					break;
				case DicomServerTypeEnum.DicomWorklistServer:
					dicomServer = new DicomWorklistServer(toActor, fromActorName);
					break;
				case DicomServerTypeEnum.Unknown:
				default:
					break;
			}

			return dicomServer;
		}
Пример #24
0
 /// <summary>
 /// Removes the first occurrence of a specific <see cref="BaseActor"/> from the <see cref="ActorCollection"/>.
 /// </summary>
 /// <param name="value">The <see cref="BaseActor"/> to remove from the <see cref="ActorCollection"/>.</param>
 public void Remove(BaseActor value)
 {
     List.Remove(value);
 }
Пример #25
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name - containing actor.</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public DicomQueryRetrieveServer(BaseActor parentActor, ActorName actorName)
     : base(parentActor, actorName)
 {
 }
Пример #26
0
 /// <summary>
 /// Determines whether the <see cref="ActorCollection"/> contains a specific element.
 /// </summary>
 /// <param name="value">The <see cref="BaseActor"/> to locate in the <see cref="ActorCollection"/>.</param>
 /// <returns>
 /// <c>true</c> if the <see cref="ActorCollection"/> contains the specified value; 
 /// otherwise, <c>false</c>.
 /// </returns>
 public bool Contains(BaseActor value)
 {
     // If value is not of type Code, this will return false.
     return (List.Contains(value));
 }
Пример #27
0
		/// <summary>
		/// Create a Hl7 Server of the given type.
		/// </summary>
		/// <param name="hl7ServerType">Hl7 Server Type - enum.</param>
		/// <param name="toActor">To Actor instance.</param>
		/// <param name="fromActorName">From Actor Name.</param>
		/// <param name="commonConfig">Common Configuration.</param>
		/// <param name="config">HL7 Configuration.</param>
		/// <returns>Hl7 Server.</returns>
		public static Hl7Server CreateHl7Server(Hl7ServerTypeEnum hl7ServerType, BaseActor toActor, ActorName fromActorName, CommonConfig commonConfig, Hl7PeerToPeerConfig config)
		{
			Hl7Server hl7Server = null;

			switch (hl7ServerType)
			{
				case Hl7ServerTypeEnum.Hl7QueryServer:
					hl7Server = new Hl7QueryServer(toActor, fromActorName, commonConfig, config);
					break;
				case Hl7ServerTypeEnum.Hl7Server:
					hl7Server = new Hl7Server(toActor, fromActorName, commonConfig, config);
					break;
				case Hl7ServerTypeEnum.Unknown:
				default:
					break;
			}

			return hl7Server;
		}
Пример #28
0
 public void Attach(BaseActor actor)
 {
     actor.Attach(this);
 }
Пример #29
0
        /// <summary>
        /// Create a Dicom Client of the given type.
        /// </summary>
        /// <param name="dicomClientType">Dicom Client Type - enum.</param>
        /// <param name="fromActor">From Actor instance.</param>
        /// <param name="toActorName">To Actor Name.</param>
        /// <returns>Dicom Client.</returns>
        public static DicomClient CreateDicomClient(DicomClientTypeEnum dicomClientType, BaseActor fromActor, ActorName toActorName)
        {
            DicomClient dicomClient = null;

            switch (dicomClientType)
            {
            case DicomClientTypeEnum.DicomMppsClient:
                dicomClient = new DicomMppsClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomPrintClient:
                dicomClient = new DicomPrintClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomQueryRetrieveClient:
                dicomClient = new DicomQueryRetrieveClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomStorageCommitClient:
                dicomClient = new DicomStorageCommitClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomStorageClient:
                dicomClient = new DicomStorageClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.DicomWorklistClient:
                dicomClient = new DicomWorklistClient(fromActor, toActorName);
                break;

            case DicomClientTypeEnum.Unknown:
            default:
                break;
            }

            return(dicomClient);
        }
Пример #30
0
 /// <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 Hl7QueryServer(BaseActor parentActor, ActorName actorName, CommonConfig commonConfig, Hl7PeerToPeerConfig config)
     : base(parentActor, actorName, commonConfig, config)
 {
 }
Пример #31
0
 /// <summary>
 /// Class constructor.
 /// </summary>
 /// <param name="parentActor">Parent Actor Name (containing Actor).</param>
 /// <param name="actorName">Destination Actor Name.</param>
 public BaseServer(BaseActor parentActor, ActorName actorName)
 {
     _parentActor = parentActor;
     _actorName   = actorName;
 }